]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
[grub2.git] / ChangeLog
CommitLineData
941e3a6d
VS
12012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4 relaxation of protective MBR requirements.
5
b105df76
VS
62012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * configure.ac: Add condition for COND_HOST_XNU.
9 * Makefile.util.def (10_xnu): New script.
10 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
11
84e1569e
VS
122012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
15 objconv bug.
16
130c0f77
VS
172012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
20 Binary on other platforms stays identical.
21
6fd0b143
VS
222012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
25 Apple.
26
0af1751d
VS
272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
30
176d5f7d
VS
312012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
34 rather than defining size_t ourselves to avoid conflict.
35
7de5e20a
VS
362012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
39 initialisation to avoid __bzero reference.
40
f7143efe
VS
412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
44 version.
45 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
46 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
47 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
48 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
49 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
50
e6ad0555
VS
512012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
54 * grub-core/kern/misc.c: Likewise.
55 * grub-core/loader/i386/xnu.c: Likewise.
56 * include/grub/i386/tsc.h: Likewise.
57 * include/grub/symbol.h: Likewise.
58
4a5a3c4a
VS
592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
62 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
63 on older compiler.
64
037f6d90
VS
652012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
68 Implement Apple flavour.
69 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
70
f7194551
VS
712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
74 (memmove) [__APPLE__]: Likewise.
75 (memcpy) [__APPLE__]: Likewise.
76 (memset) [__APPLE__]: Likewise.
77 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
78 (memmove) [__APPLE__]: Likewise.
79 (memcpy) [__APPLE__]: Likewise.
80 (memset) [__APPLE__]: Likewise.
81
85a730ca
VS
822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
85 dependency discard.
86
40e80b94
VS
872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/normal/main.c (read_config_file): Provide config_file and
90 config_directory.
91 * util/grub.d/41_custom.in: Use config_directoy when available.
92
9da59c32
VS
932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
96 (grub_bfs_dir): Likewise.
97
2787ae53
PJ
982012-05-27 Peter Jones <pjones@redhat.com>
99
100 The old code gives arguments to a printf function which can't work
101 correctly, and the compiler complains.
102
103 * grub-core/tests/example_functional_test.c (example_test): Add
104 missing text.
105 * grub-core/tests/lib/test.c (add_failure): Rewrite.
106 * include/grub/test.h (grub_test_assert_helper): New declaration.
107 (grub_test_assert): Use grub_test_assert_helper.
108
526ef13d
VS
1092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
112 (exfctest): ... this to avoid overlong filenames.
113 All users updated.
114
20dd511c
VS
1152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
116
117 Handle "." and ".." on squashfs.
118
119 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
120 Make inode numbers into stack.
121 (grub_squash_read_symlink): Use stack.
122 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
123 (make_root_node): Fill stack.
124 (grub_squash_open): Use stack.
125
1d80c62a
VS
1262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
129 freeing.
130
d336f652
VS
1312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
134 stderr on test calls.
135
8b43f587
VS
1362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
139
80a3dc3f
VS
1402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
143
47e297d4
VS
1442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
147 "..".
148
df042ccb
VS
1492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
152 (grub_hfsplus_iterate_dir): Add "." and "..".
153
fc977f48
VS
1542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * grub-core/fs/cpio.c (canonicalize): Handle "..".
157 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
158
f3250e5f
VS
1592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
162 (find_path): Handle "." and "..".
163
fd8ed4c5
VS
1642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
167 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
168 (grub_affs_iterate_dir): Handle hardlinks.
169
4ce776d2
MG
1702012-05-26 Matthew Garrett <mjg@redhat.com>
171
172 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
173 (grub_efi_console_fini): Likewise.
174 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
175 (grub_video_gop_fill_mode_info): Rename to ...
176 (grub_video_gop_fill_real_mode_info): ... this.
177 (grub_video_gop_fill_mode_info): New function.
178 (grub_video_gop_setup): Setup double framebuffer.
179 (grub_video_gop_get_info_and_fini): Use original framebuffer.
180 Free offscreen.
181 (grub_video_gop_swap_buffers): Copy framebuffer.
182 (grub_video_gop_fini): Free offscreen buffer.
183 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
184 New enum.
185 (grub_efi_gop_blt_pixel): New struct.
186
683031ba
VS
1872012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * gentpl.py: Remove error disabling for objconv.
190
c2deb798
VS
1912012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * configure.ac: Remove -Wunitialized as it's not available on older
194 compilers.
195
1962012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
197
198 Fix extent overflow comparator.
199
200 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
201 (grub_hfsplus_read_block): Set type.
202 (grub_hfsplus_cmp_extkey): Compare type.
203
d6b1fd36
VS
2042012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
207
0a9aa0f6
VS
2082012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
211 than 0.
212
8360e159
VS
2132012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
216 (dejavu_bold_14.pf2): New target.
217
501b9e4b
VS
2182012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * configure.ac: Fix djvu font detection.
221
7026b0e2
VS
2222012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
225 ext* instead of ext2.
226
c2a51ade
VS
2272012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
230 name with \0.
231
8f803a5d
JU
2322012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
233
234 * docs/grub-dev.texi: Remove dot from .png.
235
13c6353f
VS
2362012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
239 protective entry in any slot.
240 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
241 if protective entry is found in any slot.
242
243 Protective entry in non-first slot make no sense but is a widespread
244 brain damage.
245
4cf6be1b
VS
2462012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
249
937d1c44
VS
2502012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
253 with old reiserfs.
254 (grub_reiserfs_open): Don't free root.
255
021d90ec
VS
2562012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
259 after freeing for safety.
260
967b2b64
VS
2612012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
264 Reported by: Jordan Uggla.
265
34274d02
JU
2662012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
267
967b2b64
VS
268 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
269 actual implementation. Specifically, clarify that the grub menu will
270 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
271 passed.
34274d02 272
dcaaae9d
BH
2732012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
274
275 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
276 of r0.
277
7086ad52
VS
2782012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Remove unjustified hard dependency of normal.mod on gfxterm.
281
282 * include/grub/term.h (grub_term_output): New member fullscreen.
283 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
284 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
285 (grub_gfxterm): Set .fullscreen.
286 * grub-core/normal/menu.c (menu_init): Use fullscreen.
287 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
288
37ed2c9b
VS
2892012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
292 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 293 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 294
a4469c88
VS
2952012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
298
4e461486
VS
2992012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
302 a bad FS.
303
aa78f5c4
VS
3042012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
307 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
308
197626b5
VS
3092012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
312 (grub_jfs_mount): Fill caseins.
313 (grub_jfs_find_file): Respect caseins.
314
8ad3f28c
VS
3152012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
318 through UTF-16.
319
0c6c324e
VS
3202012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
323 New argument origpath. All users updated.
324
c6666ba6
VS
3252012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
328 (read_attr): Ensure that we read start of possibly compressed block.
329
e28e5fe5
VS
3302012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
333 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
334 All users updated.
335
5fc23ab2
VS
3362012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
339 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
340 (dejavu.pf2): Replace with ...
341 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
342 this.
343
79dbc21c
VS
3442012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub.d/20_linux_xen.in: Add missing line.
347
d2fcfb0c
VS
3482012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
351 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
352 (grub_utf16_to_utf8): Likewise.
353
5560e9d6
VS
3542012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
357 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
358 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
359 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
360 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
361 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
362
3632012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
364
365 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
366 a bad FS.
367
5560e9d6 3682012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
369
370 * grub-core/fs/udf.c (read_string): Bail out on size=0.
371 (grub_udf_read_symlink): Handle read_string failure.
372
5eae3175
VS
3732012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
376 comment.
377
c1ad82db
VS
3782012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
379
380 Fix handling of UDF symlinks.
381
382 * grub-core/fs/udf.c (read_string): New argument outbuf.
383 All users updated.
384 (grub_ufs_read_symlink): Rename to ...
385 (grub_udf_read_symlink): ... this. All users updated.
386 Handle symlinks with more than one component.
387
33eca6e0
VS
3882012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
391 symlinks. Replace leading colon with a slash.
392
57f4a70b
VS
3932012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
396 filename.
397
38c8ee20
VS
3982012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
401 match in inner node.
402
2e57f28f
VS
4032012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
406 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
407 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
408 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
409 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
410 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
411 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
412 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
413 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
414
fe8c2f11
VS
4152012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
416
417 Use grub-probe and not cmp to check that disk is empty.
418
419 * util/grub-install.in: Use grub-probe for zero-check.
420 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
421 (probe): Handle PRINT_ZERO_CHECK.
422 (argp_parser): Handle -t zero_check.
423
4242012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
425
426 Flush block cache on adding disk to device map.
427
428 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
429 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
430 adding.
431 (read_device_map): Likewise.
432 (open_device): Flush on opening.
433
690434e8
VS
4342012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
437 (handle_symlink): Fix off-by-one error.
438 Canonicalize the target.
439 (grub_cpio_dir): Canonicalize the name.
440 Fix memory leak.
441 Set directory.
442 (grub_cpio_open): Canonicalize the name.
443
742d2be6
VS
4442012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
447 handling.
448
3244fe96
VS
4492012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
452 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
453
8aeb1837
VS
4542012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
457 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 458 All users updated.
8aeb1837 459
9133fd05
VS
4602012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
463 counterpart.
464
6d521c5b
VS
4652012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
466
467 Fix UFS1 big file support.
468
469 * grub-core/fs/ufs.c (INODE): Removed.
470 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
471 64-bit.
472 (INODE_MODE): Simplify.
473 (grub_ufs_inode): Use uint64_t for size and not int64_t.
474 (grub_ufs_lookup_symlink): Don't use INODE.
475
21b82e17
VS
4762012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Fix minixfs with non-power-of-two blocks since it's supported by minix.
479
480 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
481 (grub_minix_data): Replace log_block_size with block_size.
482 (grub_minix_read_file): Use block_size but avoid 64-bit division.
483 (grub_minix_mount): Fill block_size.
484
4852012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
486
487 * configure.ac: Bump to beta5.
488
f417ed04
VS
4892012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
490
491 Fix wrapped HFS+ handling.
492
493 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
494 blocks_start. All users updated.
495 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
496 wrapping offset.
497 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
498
607d282b
VS
4992012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
500
501 Fix long symlinks on reiserfs.
502
503 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
504 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
505 (grub_reiserfs_iterate_dir): Save size for non-directories.
506 (grub_reiserfs_open): Don't reread stat block as we already know the
507 size.
508 (grub_reiserfs_read): Split into...
509 (grub_reiserfs_read_real): ... and ...
510 (grub_reiserfs_read): ...this.
511
ae16024d
VS
5122012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
513
514 Fix non-indexed JFS.
515
516 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
517 (grub_jfs_data): New field namecomponentlen.
518 (grub_jfs_mount): Fill namecomponentlen.
519 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
520
eea1e26e
VS
5212012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
524 * tests/grub_script_echo1.in: Add tests.
525
df760f77
VS
5262012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * util/grub-install.in: Ignore empty devicetree directory.
529
5efb817d
B
5302012-05-08 Bean <bean123ch@gmail.com>
531
532 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
533 All users updated.
534 (free_rsm): Free header as well.
535 (free_old_fragments): Fix memory leak.
536 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
537 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
538 (destroy_pq): Likewise.
539 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
540
668ea6d2
VS
5412012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
544 resulting hash as a precaution.
545
1739b1fe
VS
5462012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
549 '_' in variable names.
550 * grub-core/net/net.c (grub_net_network_level_interface_register):
551 Likewise.
552
6ae485aa
VS
5532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Fix AFFS with non-512B blocks.
556
557 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
558 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
559 (grub_affs_data): Replace blocksize with log_blocksize.
560 (grub_affs_read_block): Fix non-512B blocks.
561 (grub_affs_read_symlink): Likewise.
562 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
563 (grub_affs_read): Fix non-512B blocks.
564 (grub_affs_label): Likewise.
565 (grub_affs_mtime): Likewise.
566 (grub_affs_mount): Fix block detection routine.
567
d20fab84
VS
5682012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
569
570 Add filesystem mtime to AFFS.
571
572 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
573 (aftime2ctime): New function.
574 (grub_affs_dir): Use aftime2ctime.
575 (grub_affs_label): Fix return value.
576 (grub_affs_mtime): New function.
577 (grub_affs_fs): Add mtime.
578
e87b10f5
VS
5792012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
582 UTF-8.
583
7dceec9b
VS
5842012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
587 UTF-8.
588
2f48221f
VS
5892012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
592
dacd85cf
VS
5932012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
596 flags.
597 (FLAGS_CASE_SENSITIVE): New enum value.
598 (cache_entry): New struct.
599 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
600 cache_size and cache.
601 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
602 Add log_blocksize and fshelp_flags.
603 (grub_sfs_read_extent): Handle non-512 blocks.
604 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
605 (grub_sfs_read_file): Handle non-512 blocks.
606 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
607 fshelp_flags.
608 (grub_sfs_read_symlink): Handle non-512 blocks.
609 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
610 (grub_sfs_dir): Free cache.
611 (grub_sfs_close): Likewise.
612
24e9a854
VS
6132012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
616 filesystems.
617
62ace64d
VS
6182012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
621
83b2e89c
VS
6222012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
625
75ccaea3
VS
6262012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
629 (grub_sfs_read_extent): Likewise.
630 (grub_sfs_read_block): Likewise.
631 (grub_sfs_mount): Likewise.
632 (grub_sfs_iterate_dir): Likewise.
633 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
634 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
635
1b8463f2
VS
6362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
637
638 Fix errors on compressed NTFS with 512B clusters.
639
640 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
641 types.
642 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
643 not 0.
644 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
645 Relax check for inline extents.
646 (ntfscomp): Return correct -1 on error and not 0.
647
4f8e368f
VS
6482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * util/grub-install.in: Fix handling of prefix containing spaces.
651
6f5d5ee8
VS
6522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
655 (grub_squash_read_data): Fix offset byte-swapping.
656
ce41ab7a
VS
6572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
660 per common usage and preffered in several parts of code.
661 (grub_memcmp): Likewise.
662 (grub_strncmp): Likewise.
663 * include/grub/misc.h (grub_strcasecmp): Likewise.
664 (grub_strncasecmp): Likewise.
665 * Makefile.util.def (cmp_test): New test.
666 (grub_script_strcmp): Likewise.
667 * tests/cmp_unit_test.c: New file.
668 * tests/grub_script_strcmp.in: Likewise.
669 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
670
49717bf4
VS
6712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * include/grub/pci.h: Move enums into no-asm part.
674
0a308f64
VS
6752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
678
1796965f
ST
6792012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
680
681 * util/getroot.c (find_hurd_root_device): Try to make error message
682 and comments to translators clearer.
683
4e9b2819
VS
6842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
687
076aeb50
VS
6882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
691 btrfs.
692
19424d94
VS
6932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * docs/grub.cfg: Update.
696
ebb73076
VS
6972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * docs/grub.texi (PXE): Remove not present variables.
700
9a1b669c
VS
7012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/net/net.c (defserver_set_env): New function.
704 (defserver_get_env): Likewise.
705 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
706
d38bf7d3
VS
7072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
710 entries.
711
7122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
713
714 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
715 * grub-core/kern/emu/hostdisk.c: Likewise.
716
e5e4ca48
ST
7172012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
718
719 Handle hurd userspace partitions.
720
721 * util/getroot.c (find_hurd_root_device): New function.
722 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
723
56bb5dd5
VS
7242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
727 names.
728 Reported by: Bastian Blank.
729
9e8bc27a
VS
7302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
733 crossing page boundary.
734
aa01499d
VS
7352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
736
737 Fix B-tree search in BFS, especially in presence of non-ASCII
738 characters.
739
740 * grub-core/fs/bfs.c (bfs_strcmp): New function.
741 (find_in_b_tree): Use standard bsearch + btree algorithm.
742
57006035
VS
7432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
746 and so on.
747
9d34bb85
MG
7482012-05-03 Matthew Garrett <mjg@redhat.com>
7492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
750
751 Suspend broadcom cards in order to stop their DMA.
752
753 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
754 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
755 (pci): Don't build on x86 EFI.
756 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
757 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
758 New function.
759 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
760 stop_broadcom if running on EFI.
761 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
762 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
763 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
764 (grub_pci_find_capability): New proto.
765
01aab997
VS
7662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * docs/grub.texi: Remove dot from the extension as it apparently
769 doesn't work with some makeinfo versions.
770
fbd8dca6
VS
7712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
774 with GRUB expectance.
775
dab797f4
VS
7762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
779
1516bfb4
VS
7802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
783 zero after directory block since last entry may be not 0-terminated if
784 it ends on block boundary. Use continue instead of if spanning whole
785 loop.
786
a3a0eace
VS
7872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
788
789 Support 4K sectors UDF inline files.
790
791 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
792 (grub_udf_extended_file_entry): Likewise.
793 (grub_fshelp_node): Name the anonymous union. Put block at the end.
794 All users updated.
795 (get_fshelp_size): New function.
796 (grub_udf_read_icb): Read whole block.
797 (grub_udf_iterate_dir): Likewise.
798 (grub_udf_dir): Likewise.
799 (grub_udf_open): Likewise.
800
c82f16c1
VS
8012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
804
59fd2aac
VS
8052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
808 inline symlinks in addition to workaround.
809
3b4afb4d
VS
8102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
813
f45c794a
VS
8142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
817
f25cecbd
VS
8182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
821
bb9a34e8
VS
8222012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
823
824 Fix reiserfs big seek times.
825
826 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
827 exact. All users updated.
828 (grub_reiserfs_read): Use nearest btree search for seeking.
829 Fix return value on error.
830
dc478aea
VS
8312012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
834 entries.
835 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
836 * docs/grub.texi: Update menuentry description.
837
8db10f47
VS
8382012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
841 crash when embedding onto filesystem.
842
bcb288ed
VS
8432012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
846 name.
847
a626fdd7
VS
8482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
851
b2f68477
VS
8522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
855 commit.
856
ba15b2af
B
8572012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8582012-05-01 Bean <bean123ch@gmail.com>
859
860 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
861
a188012e
VS
8622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
865 Special behaviour for len = 0 to read whole file isn't used anywhere and
866 can cause buffer ovewrflows in several places.
867
f0a53ed2
VS
8682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
871
5ed554f0
VS
8722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
873
874 Handle RAIDZ on non-512B sectors.
875
876 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
877 max_children_ashift.
878 (fill_vdev_info_real): Fill max_children_ashift.
879 (read_device): Use max_children_ashift.
880
ddc58357
VS
8812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
884
e3282399
VS
8852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
888 disk names.
889 * docs/grub.texi: Update device.map parts.
890
ee618bd4
VS
8912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Don't scan into non-diskfilter devices having diskfilter names.
894
895 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
896 (scan_disk): New argument accept_diskfilter. Fix recursion depth
897 handling.
898 (scan_disk_hook): New function.
899
bdf88864
B
9002012-04-29 Bean <bean123ch@gmail.com>
901
902 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
903 allocation.
904
32745f51
MK
9052012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
906
907 * configure.ac: Detect starfield theme font path
908 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
909
bc95c8c0
VS
9102012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
913 geometry on serial consoles.
914
147fbcab
VS
9152012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
918 because of network consoles.
919
0f42c889
VS
9202012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
923 handling.
924
4a3594c9
VS
9252012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
928 falls on Q syndrom.
929
5cb53879
VS
9302012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
933 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
934
b282dfe5
VS
9352012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
938 Allocate at lest 8192 for temporary buffer as required for lzo.
939
daa59f47
VS
9402012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
943 to cluster_bits, since it's already added in.
944 (grub_fat_read_data): Likewise.
945
986748ce
VS
9462012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
949 as long as cluster size is multiple of 512 bytes.
950
a20f6ad0
VS
9512012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * util/grub-mkrescue.in: Fix locale directory.
954
385f9abb
VS
9552012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/kern/emu/hostdisk.c (map): Make static.
958
1c557d30
B
9592012-04-23 Bean <bean123ch@gmail.com>
960
961 * util/grub-fstest.c (fstest): Add missing break.
962
524b5d3a
ST
9632012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
964
965 Fix hurd build.
966
967 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
968 not define nr variable.
fe4824e9 969 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
970 find_root_devices_from_poolname, find_root_devices_from_libzfs,
971 grub_find_device): Do not define.
524b5d3a 972
9a06490c
VS
9732012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Fix kfreebsd compile and behaviour.
976
977 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
978 format-security.
979 * util/getroot.c: Fix wait.h include.
980 (grub_guess_root_devices): Error if grub_find_device fails.
981 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
982 (grub_util_get_dev_abstraction): Likewise.
983 (grub_util_pull_device): Likewise.
984 (grub_util_get_grub_dev): Likewise.
985 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
986
48143d96
VS
9872012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
988
989 Fix and unify wholedisk detection.
990
991 * util/getroot.c (convert_system_partition_to_system_disk): New argument
992 is_part. All users updated.
993 (device_is_wholedisk): Removed.
994 (grub_util_biosdisk_get_grub_dev): Use is_part.
995
ebbd24f3
VS
9962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
999 mode.
1000
56f7aa1e
VS
10012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * configure.ac: Bump to beta4.
1004
9c815e01
VS
10052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1008 --fs-uuid --set UUID syntax.
1009
59e2651a
VS
10102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1013 disunification.
1014
54e03cfc
VS
10152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1018
81092a75
MK
10192012-04-18 Mads Kiilerich <mads@kiilerich.com>
1020
1021 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1022
f8315e14
MG
10232012-04-18 Mike Gilbert <floppym@gentoo.org>
1024
1025 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1026
1501ac21
B
10272012-04-18 Bean <bean123ch@gmail.com>
1028
1029 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1030 place.
1031
cb7f944e
VS
10322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1035 users updated.
1036 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1037 corresponding to GRUB partitions.
1038 (grub_util_biosdisk_write): Likewise.
1039
b72d44a1
VS
10402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 Scan mdraid before LVM.
1043
1044 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1045 (grub_diskfilter_register_front): ... this.
1046 (grub_diskfilter_register_back): New function.
1047 All users of grub_diskfilter_register updated.
1048
33d918b8
VS
10492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * util/grub-install.in: Fix an automatic target detection bug.
1052
c6ca973d
VS
10532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * util/grub-install.in: New option --efi-directory.
1056
b41be562
VS
10572012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1060 boot services if we have no other choice.
1061
10622012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1065 document it.
1066 * tests/util/grub-shell.in: Update to --directory.
1067
e0595a73
VS
10682012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1071
4ed80652
VS
10722012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1075 (grub_minix_read_file): Likewise.
1076 (grub_minix_read_inode): Likewise.
1077 (grub_minix_find_file): Likewise.
1078 (grub_minix_dir): Likewise.
1079
56008077
VS
10802012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * util/grub-setup.c (setup): Fix partition handling and blocklist
1083 check.
1084
ee520775
VS
10852012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1088 redundant buggy overlap check.
1089
16fc9293
VS
10902012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1093 and grub-mknetdir.
1094
9bab65c4
VS
10952012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1098 kh.loadflags on pre-2.00 kernels.
1099
3c491b47
VS
11002012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Terminate UNDI and PXE before launching the payload to avoid problems
1103 with DMA.
1104
1105 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1106 (grub_loader_flags): ... this. All users updated.
1107 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1108 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1109 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1110 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1111 function.
1112 (grub_pxe_restore): Likewise.
1113 (fini_hnd): New var.
1114 (GRUB_MOD_INIT): Register shutdown hook.
1115 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1116 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1117 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1118 (grub_loader_set): Rename second argument to flags.
1119
851ffada
VS
11202012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1123 written bytes.
1124 (grub_get_num_of_utf8_bytes): New function.
1125 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1126 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1127 executing it.
1128 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1129 (grub_ucs4_to_utf8): Change return type.
1130
491c57a8
VS
11312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1134 warning.
851ffada
VS
1135 * grub-core/fs/bfs.c (hop_level): Likewise.
1136 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 1137
756773df
VS
11382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/lib/adler32.c: Recode due to license unclearness.
1141
fd556a96
VS
11422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
1145 (test_header): Likewise.
1146
9f9d3f69
VS
11472012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Fix --help formatting.
1150
1151 * util/grub-mkconfig_lib.in (print_option_help): New function.
1152 (grub_fmt): Likewise.
1153 * util/grub-install.in: Use print_option_help and grub_fmt.
1154 * util/grub-kbdcomp.in: Likewise.
1155 * util/grub-mkconfig.in: Likewise.
1156 * util/grub-mknetdir.in: Likewise.
1157 * util/grub-mkrescue.in: Likewise.
1158 * util/grub-mkstandalone.in: Likewise.
1159 * util/grub-reboot.in: Likewise.
1160 * util/grub-set-default.in: Likewise.
1161 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1162
561ec77e
VS
11632012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * linguas.sh: Remove autogenerated *.po.
1166
7ec2b021
VS
11672012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * po/README: Move language fetcing to ...
1170 * linguas.sh: ... here.
1171 * po/README: Point to linguas.sh.
1172
a88f3270
VS
11732012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * po/README: Exclude ko.po due to disclaimer problems.
1176
d61357ce
VS
11772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1180 len = 0.
1181 (grub_gettext_translate_real): Handle 0th string.
1182 (grub_gettext_translate): Ensure that "" isn't translated.
1183
505e41dc
VS
11842012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1187 TRANSLATORS comment.
1188 (grub_diskfilter_print_partmap): Propagate changing of error into
1189 warning.
1190
e44092db
VS
11912012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1194 to uint64_t to prevent overflow.
1195 (grub_diskfilter_lv): Increase start_extent and extent_count
1196 to uint64_t to prevent overflow.
1197
9b83956a
VS
11982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * configure.ac: Increase version.
1201
da0d5b3f
VS
12022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1205
1206 * po/Rules-translit: New file.
1207 * po/arabic.sed: Likewise.
1208 * po/cyrillic.sed: Likewise.
1209 * po/greek.sed: Likewise.
1210 * po/hebrew.sed: Likewise.
1211 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1212 * po/Makefile.in.in: Add extra_dist4.
1213
ac66b453
VS
12142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1217
1218 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1219 modify names. Introduce MODE_BIGENDIAN.
1220 * grub-core/fs/minix_be.c: New file.
1221 * grub-core/fs/minix2_be.c: Likewise
1222 * grub-core/fs/minix3_be.c: Likewise.
1223 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
1224 minix3_be.
1225 * grub-core/Makefile.core.def (minix_be): New module.
1226 (minix2_be): Likewise.
1227 (minix3_be): Likewise.
1228
12292012-04-01 Felix <email@hamburg.de>
1230
1231 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
1232 (devs): Add MBP 2011.
1233
0a2d5a82
VS
12342012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
1237
d1625889
VS
12382012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/normal/cmdline.c (print_completion): New field
1241 prompt_len.
1242 (grub_cmdline_get): Handle width properly.
1243
6d36a236
VS
12442012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/commands/lsacpi.c (options): Add missing terminator.
1247
9576977e
VS
12482012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 1251 after 29th of February.
9576977e 1252
d73ff15d
VS
12532012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 Fix exfat endianness handling.
1256
1257 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
1258 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
1259 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
1260 Byte-swap utf16 when necessary.
1261 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
1262
bbb39a45
AB
12632012-03-31 Anton Blanchard <anton@samba.org>
12642012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Fix btrfs endianness handling.
1267
1268 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
1269 (lower_bound): Make root uint64_t. Use root in le.
1270 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
1271 (find_path): Fix template key init.
1272 (grub_btrfs_dir): Fix mtime byteswap.
1273 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
1274
354e0af7
VS
12752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
1278 recursion_depth. Break infinite resursions. All users updated.
1279
4e75f21c
VS
12802012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
1283 after free.
1284 Reported by: Peter Jones.
1285
25581802
AB
12862012-03-31 Anton Blanchard <anton@samba.org>
1287
1288 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
1289 8 bit values.
1290
08fbf92e
VS
12912012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * util/grub-install.in: Fix nvram call for PreP.
1294
5d1182a6
VS
12952012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
1298 the error when some elements are missing into a warning.
1299
3f8cdd90
VS
13002012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
1303
51006716
CW
13042012-03-28 Colin Watson <cjwatson@ubuntu.com>
1305
1306 * docs/grub.texi (Invoking grub-probe): New section.
1307 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
1308
e1bd676b
VS
13092012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 Fix tab and wide character handling in editor and menu.
1312
1313 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
1314 agglomerate control characters with combining marks.
1315 (bidi_line_wrap): Allow break on tab.
1316 (grub_unicode_get_comb_start): New function.
1317 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
1318 and tab correctly.
1319 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
1320 with a space.
1321 * grub-core/normal/term.c (print_ucs4_terminal): New argument
1322 fixed_tab_size. All users updated.
1323 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
1324 (grub_term_getcharwidth): Handle \t.
1325 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
1326 and copy.
1327
22e6a774
VS
13282012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Handle big-endian mdraid.
1331
1332 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
1333 * grub-core/Makefile.core.def (mdraid09_be): New module.
1334 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
1335 rather than grub_le_to_cpu* and grub_cpu_to_le*.
1336 * grub-core/disk/mdraid_linux_be.c: New file.
1337
3c0eae66
VS
13382012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
1341
b6cf74c9
VS
13422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1345 missing quotes which caused confusion among translators.
1346
83c93b9c
VS
13472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * util/grub-mkconfig_lib.in: Fix typo.
1350
ac6fd218
VS
13512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
1354 spaces.
1355 * tests/grub_script_leading_whitespace.in: New file.
1356 * Makefile.util.def (grub_script_leading_whitespace): New test.
1357
ba287dd8
VS
13582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
1361 to work.
1362
d2d58d0a
VS
13632012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
1366 starts with control character.
1367
0382d9bb
VS
13682012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
1371 overflow.
1372 (grub_gdb_outbuf): Likewise.
1373
d83ff9f9
VS
13742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
1377 zero terminator. Fixes a crash.
1378
2282da4a
VS
13792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
1382 beyond 4 GiB.
1383 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
1384 images independently of preffered adderss field.
1385
0ae4f0bd
VS
13862012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
1389 * grub-core/commands/regexp.c: Likewise.
1390 * grub-core/loader/i386/linux.c: Likewise.
1391 * grub-core/partmap/msdos.c: Likewise.
1392 * grub-core/script/execute.c: Likewise.
1393 * grub-core/term/gfxterm.c: Likewise.
1394
546fbe9b
VS
13952012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 Add variable parsing in $"..." and fix several mismatches with bash.
1398
1399 * Makefile.util.def (grub_script_gettext): New test.
1400 * grub-core/script/execute.c (parse_string): New function.
1401 (gettext_append): Likewise.
1402 (grub_script_arglist_to_argv): Use gettext_append.
1403 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
1404 * tests/grub_script_gettext.in: New file.
1405
9fdb2d7b
VS
14062012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Fix handling of leading spaces in scripts.
1409
1410 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
1411 spaces.
1412 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
1413 other than skipping \r. All users updated.
1414 * tests/grub_script_echo1.in: Add space-related tests.
1415 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
1416
1a1ac4f6
VS
14172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
1420
b63d89b6
VS
14212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * configure.ac: Bump up the version to beta2.
1424
17f38c0f
VS
14252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 Fix gettext reload bugs (e.g. inability to disable gettext
1428 once enabled).
1429
1430 * grub-core/gettext/gettext.c: Encapsulate all static variables in
1431 main_context and secondary_context. All functions updated.
1432 (grub_gettext_translate): Rename to ...
1433 (grub_gettext_translate_real): ... this. Return NULL on failed
1434 translate.
1435 (grub_gettext_translate): Handle secondary context.
1436 (grub_gettext_delete_list): Close file and zero-out the context.
1437 (grub_mofile_open): Don't call grub_gettext_delete_list.
1438 Don't close file.
1439 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
1440 if locale="" to avoid pointless error message.
1441 (grub_gettext_env_write_lang): Update lang even if load fails.
1442 Handle secondary context.
1443 (grub_gettext_reread_prefix): New function.
1444 (read_main): Likewise.
1445 (read_secondary): Likewise.
1446 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
1447 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
1448 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
1449 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
1450
8e56f870
VS
14512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * configure.ac: Decrease warning level to avoid spurious warnings and
1454 to be able to compile with GCC 4.2.
1455 * Makefile.util.def: Remove -Wno-error=logical-op.
1456
82f6d455
WB
14572012-03-10 William Bittner <william.bittner@gmail.com>
1458
1459 * util/import_unicode.py: Add missing brackets around string for
1460 python 3 support.
1461
1ecd61a4
VS
14622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 Fix efi chainloader on network root.
1465
1466 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
1467 network devices.
1468 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
1469 New function.
1470
14361ee8
VS
14712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
1474 unused show_text member.
1475 * docs/grub.texi: Document "text" property.
1476
922aabf3
VS
14772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
1480 in dprintf.
1481
ec316771
VS
14822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 Fix IMSM handling on Fedora.
1485
1486 * util/getroot.c (grub_util_is_imsm): New function.
1487 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
1488
0f021838
VS
14892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * Makefile.am: Strip gold section.
1492 * conf/Makefile.common: Likewise.
1493 * gentpl.py: Likewise.
1494 * grub-core/Makefile.core.def: Likewise.
1495 * grub-core/genmod.sh.in: Likewise.
1496
1039c8eb
VS
14972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
1500 * util/grub.d/20_linux_xen.in: Likewise.
1501 Based on Debian patch.
1502
6dd412cd
VS
15032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * util/grub.d/10_linux.in: Fix syntax error resulting in
1506 Richard Laager's patch.
1507 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
1508
3fd8bae5
VS
15092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
1512 dependencies.
1513
7eea1671
RL
15142012-03-10 Richard Laager <rlaager@wiktel.com>
1515
1516 * util/grub.d/10_linux.in: Fix ZFS root passing.
1517
e8e0566b
VS
15182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1521 * grub-core/commands/xnu_uuid.c: Likewise.
1522 * grub-core/loader/efi/appleloader.c: Likewise.
1523 * grub-core/script/execute.c: Likewise.
1524 * grub-core/script/main.c: Likewise.
1525 * util/grub-mkfont.c: Likewise.
1526
1acc5b1f
VS
15272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * util/grub-mkfont.c (options): Use more appropriate "select" that
1530 "set" for face index.
1531
35d70620
VS
15322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * util/grub-editenv.c (options): Gettextize command summaries.
1535
c9eb96b5
VS
15362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
1539 "out of memory" error messagge.
1540
1f493136
VS
15412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
1544 of diskfilter for diskfilter on diskfilter support.
1545
6d790129
VS
15462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
1549
005f46c9
VS
15502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * util/grub-install.in: Check for themes/starfield/theme.txt and not
1553 themes/starfield.
1554
c8f778a0
VS
15552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
1558
de1e64eb
VS
15592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
1562
c6d54211
VS
15632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
1566 of error message.
1567
dd390777
VS
15682012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
1571
5fd1c522
VS
15722012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
1575 message.
c6d54211 1576 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 1577
fae01f6c
VS
15782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
1581 Gettextize.
1582 * util/grub-mount.c (options): Likewise.
1583
292fdaff
VS
15842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
1587 gettextize.
1588 * grub-core/commands/search_wrap.c (options): Likewise.
1589
ecdbae77
VS
15902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1593
52bfedfa
VS
15942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1597 size calculation.
1598 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1599 none is known.
1600
55b20e58
VS
16012012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1604 "temporary" since it's used in identifier and is limited in space.
1605
fda9d101
VS
16062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * po/POTFILES.in: Regenerate. Include *.h since they contain
1609 translatable strings as well.
1610
6a0295e2
VS
16112012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1614 byte-swap on big-endian.
1615 Reported by: Lennart Sorensen
1616
807fb77c
VS
16172012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1620 (allocate_pages): Improve dprintf.
1621 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1622 code32_start. Fill code32_start and kernel_alignment in params.
1623 (grub_cmd_initrd): Use prot_init_space.
1624
61ac50ba
VS
16252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1628
abdd26dd
VS
16292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * util/grub-install.in: Add missing dot at the end of sentence.
1632
6e69da9c
VS
16332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1636 * grub-core/commands/videotest.c: Likewise.
1637 * grub-core/loader/i386/linux.c: Likewise.
1638
4a929343
VS
16392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1642 sentence.
1643 Reported by: Milo Casagrande.
1644
bb51c6c6
VS
16452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1648 * grub-core/commands/gptsync.c: Likewise.
1649 * grub-core/commands/hashsum.c: Likewise.
1650 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1651 * grub-core/commands/legacycfg.c: Likewise.
1652 * grub-core/io/gzio.c: Likewise.
1653 * grub-core/net/net.c: Likewise.
1654 * grub-core/term/gfxterm.c: Likewise.
1655 * grub-core/term/terminfo.c: Likewise.
1656 * grub-core/tests/test_blockarg.c: Likewise.
1657 * grub-core/video/video.c: Likewise.
1658 * util/grub-install.in: Likewise.
1659 * util/grub-mkfont.c: Likewise.
1660
b2b149cb
VS
16612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1664
c7c080ad
VS
16652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1668 Reported by: David Prévot.
c7c080ad 1669
f2e243c0
VS
16702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1673 description.
1674
09963c76
VS
16752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * util/grub-script-check.c (main): Fix a syntax error message which was
1678 unclear.
1679
a50514a8
VS
16802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1683
4650daec
VS
16842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1687 messages.
1688
16892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1690
1691 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1692 without argument.
1693 * util/grub-mount.c (options): Likewise.
1694
bbc5a342
VS
16952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1698
ef292a87
VS
16992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/net/http.c: Add TRANSLATORS comments.
1702 * grub-core/normal/cmdline.c: Likewise.
1703 * grub-core/normal/misc.c: Likewise.
1704 * grub-core/partmap/msdos.c: Likewise.
1705 * grub-core/parttool/msdospart.c: Likewise.
1706 * grub-core/script/execute.c: Likewise.
1707 * grub-core/script/main.c: Likewise.
1708 * grub-core/term/terminfo.c: Likewise.
1709 * grub-core/video/bitmap.c: Likewise.
1710 * util/grub-install.in: Likewise.
1711 * util/grub-mkimage.c: Likewise.
1712 * util/grub-mklayout.c: Likewise.
1713 * util/grub-setup.c: Likewise.
1714
0fc19bd0
VS
17152012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1718 with similar messages in grub-fstest.
1719
d95862ef
VS
17202012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * util/grub-install.in: Unify "option requires an argument" message
1723 with similar messages in other files.
1724 * util/grub-mkconfig.in: Likewise.
1725
b7308f90
VS
17262012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * util/grub-set-default.in: Replace printf with gettext_printf (the
1729 string in in question is already translated from grub-reboot)
1730
559dc587
VS
17312012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * configure.ac: Bump up the version to beta1.
1734
1a11761f
VS
17352012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1738 case when min_align = 0.
1739
24539abd
VS
17402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1743 and fix a case when line_start overflows.
1744
32bd735b
VS
17452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * util/grub-reboot.in (usage): Mention id posibility.
1748 * util/grub-set-default.in (usage): Likewise.
1749
1a2fd1e6
VS
17502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1753 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1754 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1755 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1756 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1757 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1758 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1759
90eeab76
VS
17602012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/commands/menuentry.c (options): Remove
1763 GRUB_ARG_OPTION_REPEATABLE.
1764 Reported by: Andreas Vogel
1765
5ad1be82
AV
17662012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1767
1768 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1769
cb055286
HE
17702012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1771
1772 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1773 error.
1774
93b1cd79
VS
17752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 Use sort -V by the idea of Georgi Georgiev.
1778
1779 * util/grub-mkconfig_lib.in (version_sort): New function.
1780 (version_test_numeric): Use version_sort.
1781
0cdc126c
VS
17822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 Use submenus in grub-mkconfig.
1785
1786 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1787 * util/grub-mkconfig_lib.in (grub_quote): New function.
1788 (gettext_printf): Use gettext and not gettext_quoted to fix several
1789 messages.
1790 * util/grub.d/10_hurd.in: Use submenus.
1791 * util/grub.d/10_kfreebsd.in: Likewise.
1792 * util/grub.d/10_linux.in: Likewise.
1793 * util/grub.d/10_netbsd.in: Likewise.
1794 * util/grub.d/20_linux_xen.in: Likewise.
1795 * util/grub.d/30_os-prober.in: Likewise.
1796 * util/grub.d/10_illumos.in: Add missing quoting.
1797 * util/grub.d/10_windows.in: Likewise.
1798
d9bef9bc
VS
17992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 Fix menu title instability bug.
1802
1803 * grub-core/commands/menuentry.c (options): New option --id.
1804 (grub_normal_add_menu_entry): New argument id. All users updated.
1805 (grub_cmd_menuentry): Handle --id.
1806 (grub_menu_init): Accept unknown arguments.
1807 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1808 feature_menuentry_options.
1809 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1810 saved_entry.
1811 (get_entry_number): Match with id as well.
1812 * include/grub/menu.h (grub_menu_entry): New member id.
1813 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1814 * util/grub.d/00_header.in: Define menuentry_id_option.
1815 * util/grub.d/10_hurd.in: Define id.
1816 * util/grub.d/10_illumos.in: Likewise.
1817 * util/grub.d/10_kfreebsd.in: Likewise.
1818 * util/grub.d/10_linux.in: Likewise.
1819 * util/grub.d/10_netbsd.in: Likewise.
1820 * util/grub.d/10_windows.in: Likewise.
1821 * util/grub.d/20_linux_xen.in: Likewise.
1822 * util/grub.d/30_os-prober.in: Likewise.
1823
18242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1825
1826 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1827 "scope" with "body".
1828
7c8d0ce7
VS
18292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1832 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1833 prot_size and prot_file_size.
1834
49de079b
VS
18352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1838 All users updated. If easily=1 require raid-5/-6 to be full.
1839 (is_node_readable): Likewise.
1840 (scan_devices): Scan incomplete but readable LVs at the end.
1841 (grub_diskfilter_memberlist): Pull missing devices.
1842 (insert_array): Skip scanning until device is complete or scan is
1843 done otherwise.
1844 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1845 check.
1846 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1847 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1848
aff05d45
MG
18492012-03-03 Matthew Garrett <mjg@redhat.com>
18502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 Avoid EFI boot services when loading Linux.
1853
1854 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1855 avoid_efi_bootservices. All users updated.
1856 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1857 argument avoid_efi_bootservices. All users updated.
1858 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1859 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1860 align, min_align, relocatable, prefered_address. All users updated.
1861 Allocate avoiding boot services if kernel is relocatable.
1862 (grub_cmd_linux): Check if kernel is relocatable.
1863 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1864 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1865 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1866 avoid_efi_boot_services.
1867 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1868 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1869 (linux_kernel_params): Likewise.
1870
3935dde2
MG
18712012-03-03 Matthew Garrett <mjg@redhat.com>
18722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 Use EDID on EFI.
1875
1876 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1877 datasize_out.
1878 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1879 modes. Set gop_handle.
1880 (grub_video_gop_get_edid): New function.
1881 (grub_gop_get_preferred_mode): Likewise.
1882 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1883 (grub_video_efi_gop_adapter): Set .get_edid.
1884 * include/grub/efi/edid.h: New file.
1885 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1886
32107ec0
VS
18872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * util/grub-install.in: Load efivars unconditionally.
1890
e70a2c50
VS
18912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * po/Rules-piglatin: Change suffix from .po-update-en to
1894 .po-update-en-piglatin.
1895
8f9cace1
VS
18962012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 Add a pig farm.
1899
1900 * po/piglatin.sed: New file.
1901 * po/en@piglatin.header: Likewise.
1902 * po/Rules-piglatin: Likewise.
1903 * po/README: Add en@piglatin to autogenerated languages.
1904
8f95d002
VS
19052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1908 "Command for ...".
1909 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1910 "Check" since we don't check anything.
1911 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1912 is 64-bit one.
1913 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1914 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1915 (grub_md_sha512_real): Likewise.
1916
805a8dcc
VS
19172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/commands/gptsync.c: Fix typographic quoting.
1920 * grub-core/commands/ieee1275/suspend.c: Likewise.
1921 * grub-core/commands/parttool.c: Likewise.
1922 * grub-core/commands/search_wrap.c: Likewise.
1923 * grub-core/commands/videoinfo.c: Likewise.
1924 * grub-core/gfxmenu/gui_label.c: Likewise.
1925 * grub-core/hello/hello.c: Likewise.
1926 * grub-core/kern/emu/main.c: Likewise.
1927 * grub-core/net/net.c: Likewise.
1928 * grub-core/normal/menu.c: Likewise.
1929 * grub-core/normal/menu_text.c: Likewise.
1930 * grub-core/normal/misc.c: Likewise.
1931 * util/grub-editenv.c: Likewise.
1932 * util/grub-install.in: Likewise.
1933 * util/grub-kbdcomp.in: Likewise.
1934 * util/grub-mkconfig.in: Likewise.
1935 * util/grub-mknetdir.in: Likewise.
1936 * util/grub-mkrescue.in: Likewise.
1937 * util/grub-mkstandalone.in: Likewise.
1938 * util/grub-reboot.in: Likewise.
1939 * util/grub-set-default.in: Likewise.
1940 * util/grub-setup.c: Likewise.
1941 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1942
40211ab8
VS
19432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1946 * grub-core/commands/keystatus.c: Likewise.
1947 * grub-core/commands/loadenv.c: Likewise.
1948 * grub-core/commands/probe.c: Likewise.
1949 * grub-core/commands/regexp.c: Likewise.
1950 * grub-core/commands/true.c: Likewise.
1951 * grub-core/commands/videoinfo.c: Likewise.
1952 * grub-core/disk/cryptodisk.c: Likewise.
1953 * grub-core/disk/ldm.c: Likewise.
1954 * grub-core/disk/loopback.c: Likewise.
1955 * grub-core/disk/luks.c: Likewise.
1956 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1957 * grub-core/kern/disk.c: Likewise.
1958 * grub-core/kern/emu/hostdisk.c: Likewise.
1959
0c7d99c7
VS
19602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1963 * util/grub-install.in: Add missing quote in the comment.
1964
e7d2559b
VS
19652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1968 * grub-core/commands/lsmmap.c: Likewise.
1969 * grub-core/commands/minicmd.c: Likewise.
1970 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1971 * grub-core/commands/regexp.c: Likewise.
1972 * grub-core/gdb/gdb.c: Likewise.
1973 * grub-core/term/gfxterm.c: Likewise.
1974 * util/grub-mkconfig.in: Likewise.
1975 * util/grub-mkfont.c: Likewise.
1976 * util/grub-mklayout.c: Likewise.
1977 * util/grub-mknetdir.in: Likewise.
1978 * util/grub-mkrescue.in: Likewise.
1979 * util/grub.d/30_os-prober.in: Likewise.
1980
49ce9e50
VS
19812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1984 with "Direct color" and "Packed" with "Packed pixel".
1985 (grub_cmd_videoinfo): Simplify legend.
1986
e4b791fa
VS
19872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1990 absolutely unclear error message.
1991
fd1265cb
VS
19922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * util/grub-mkstandalone.in: Remove confusing leftover print.
1995
8822a8a0
VS
19962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1999 comments.
2000 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2001 (GRUB_MOD_INIT): Likewise.
2002 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2003 VGA mode.
2004 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2005 comments.
2006 * util/grub-install.in (usage): Likewise.
2007 Spell ID in whole letters.
2008 Add missing ending dot.
2009 Quote variables.
2010 * util/grub-reboot.in: Fix capitalisation.
2011 * util/grub-set-default.in: Likewise.
2012
937fd0cc
VS
20132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2016 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2017 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2018 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2019 Disable -Werror for -Wdeprecated-declarations.
2020 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2021 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2022 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2023 (grub_util_get_grub_dev): Make luks handling dependent on
2024 HAVE_DEVICE_MAPPER and not __linux__.
2025 (get_win32_path): Fix format security.
2026 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2027 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2028 Don't try grub_find_zpool_from_dir.
2029 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2030 #ifdef-out paresdir.
2031
1bab1ae3
VS
20322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * util/grub-pe2elf.c (usage): Add missing noreturn.
2035 (write_section_data): Rename name to shname to avoid shadowing.
2036 (write_symbol_table): Rename name to symname to avoid shadowing.
2037 Fix write_reloc_section call.
2038
ef023e42
VS
20392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2042 to ensure that it's after the last byte of .text.
2043
48afcb75
VS
20442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * util/ieee1275/ofpath.c (my_isdigit): New function.
2047 (trailing_digits): Use my_isdigit.
2048 (strip_trailing_digits): Likewise.
2049
88d51eff
VS
20502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2053 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2054
17edc2ba
VS
20552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/kern/i386/pc/startup.S: Define __start.
2058
ad5518d7
VS
20592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2062 strip already transforms he format.
2063
9e95e1bf
VS
20642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2067
9cc3ee5c
VS
20682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * util/grub-install.in: Add missing gettext init.
2071 * util/grub-kbdcomp.in: Likewise.
2072 * util/grub-mkconfig.in: Likewise.
2073 * util/grub-mknetdir.in: Likewise.
2074 * util/grub-mkrescue.in: Likewise.
2075 * util/grub-mkstandalone.in: Likewise.
2076 * util/grub-reboot.in: Likewise.
2077 * util/grub-set-default.in: Likewise.
2078 * util/grub.d/00_header.in: Likewise.
2079 * util/grub.d/10_hurd.in: Likewise.
2080 * util/grub.d/10_windows.in: Likewise.
2081 * util/grub.d/30_os-prober.in: Likewise.
2082 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2083
49e08a06
VS
20842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * po/Rules-swiss: Fix header comment.
2087
3809cb41
AV
20882012-02-29 Andreas Vogel <anvoit>
2089
2090 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2091 resulted in leak of arguments.
2092
fa6ec573
VS
20932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2096 reed_solomon_size const definition instead of computing it since
2097 Apple assembler doesn't support the later.
2098
22899b9c
VS
20992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * gentpl.py (kernel): Rewrite Apple part.
2102
a132afc3
VS
21032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2106
9d742bd4
VS
21072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2110 ELF section gap.
2111 (load_image): Likewise.
2112
f04a9a21
VS
21132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * configure.ac: Fix a typo in previous commit.
2116
46cf439c
VS
21172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 Don't add -Wl,-N on Apple platform.
2120
2121 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2122 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2123
c4c48c54
VS
21242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/Makefile.core.def (lzma_decompress): Use
2127 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2128
31a12124
VS
21292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/genmod.sh.in: Rewrite the Apple part.
2132
4f3aa1af
VS
21332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2136 comparison.
2137
7bd8b0c7
VS
21382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * acinclude.m4 (grub_CHECK_PIC): New test.
2141 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2142
97304d7c
VS
21432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
2146 to avoid the warning.
2147
fb883812
VS
21482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2151 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2152 after. All users updated.
2153
a121c964
VS
21542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 Use the common size routine in hostfs so we can read disks as well.
2157
2158 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2159 (grub_util_get_fd_size): ... this. Return size in bytes.
2160 All users updated.
2161 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2162 grub_util_get_fd_size.
2163
c66d6410
VS
21642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2167 Add blocksize retrieval.
2168
dfc8aeb0
VS
21692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * configure.ac: Restore CFLAGS after efiemu check.
2172
403e25a5
VS
21732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2176 Apple bug.
2177
382775d1
VS
21782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2181
6fd4e6e4
VS
21822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2185 (grub_cmd_halt): Likewise.
2186
bea359d6
VS
21872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2190 for local arithmetics.
2191 Break %sp init into 2 instructions.
2192 Add 0 byte at the end.
2193
32eb6ee1
VS
21942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2197 before loops.
2198
e8377389
VS
21992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2202 for context.
2203
8cb17de7
VS
22042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/disk/ldm.c (make_vg): Init part.name.
2207 (grub_ldm_detect): Silence spurious warning.
2208 (grub_util_is_ldm): Likewise.
2209
595717e6
VS
22102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2213 sane value to avoid a spurious warning.
2214
c4b7e588
VS
22152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2218 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2219
59824957
VS
22202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2223 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
2224
70115b99
VS
22252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
2228 hardcoding the relevant info.
2229
56733740
VS
22302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
2233 missing const qualifiers.
2234 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2235
43481481
VS
22362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * util/getroot.c [__APPLE__]: Add missing includes.
2239 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2240
3cb38f01
VS
22412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * util/grub-mkimage.c (generate_image): Silence spurious warning.
2244
d9dbf11e
VS
22452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
2248 avoid conflicts.
2249
0c42a45d
VS
22502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
2253
46c34eb0
VS
22542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
2257 and grub_file_close call.
2258
99ce1597
VS
22592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 Add LZSS Mach-O support (needed for new xnu kernelcache).
2262
2263 * grub-core/Makefile.core.def (xnu): Add file lzss.c
2264 * grub-core/loader/lzss.c: New file.
2265 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
2266 on Mach-O open failure.
2267 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
2268 Don't free cmdsXX in uncompressedXX is set.
2269 (grub_macho_file): Init new fields.
2270 New argument is_64bit. All users updated.
2271 Handle compressed. Error out if no suitable architecture is found.
2272 Don't close file.
2273 (grub_macho_open): New argument is_64bit. All users updated.
2274 * grub-core/loader/macho32.c: Add defines for new fields.
2275 * grub-core/loader/macho64.c: Likewise.
2276 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
2277 (grub_macho_parse): Handle compressed.
2278 Defer actual processing if compressed.
2279 (grub_macho_cmds_iterate): Decompress if compressed. New argument
2280 "filename". All users updated.
2281 (grub_macho_size): New argument "filename". All users updated.
2282 (grub_macho_get_entry_point): Likewise.
2283 (grub_macho_load): Handle compressed.
2284 * include/grub/macho.h (grub_macho_lzss_header): New struct.
2285 (GRUB_MACHO_LZSS_OFFSET): New define.
2286 (grub_decompress_lzss): New proto.
2287 * include/grub/machoload.h (grub_macho_file): New fields to handle
2288 compressed.
2289 (grub_macho_contains_macho64): Remove proto.
2290 (grub_macho_contains_macho32): Likewise.
2291 * util/grub.d/30_os-prober.in: Use kernel cache if available.
2292
ebd17d6f
VS
22932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
2296
2702b4e4
VS
22972012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 Fix make dist.
2300
2301 * Makefile.am (starfield_theme_files): New var.
2302 (starfield_DATA): Use starfield_theme_files.
2303 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
2304 Add bootcheck-related files.
2305 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
2306 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
2307 and font_char_metrics.txt.
2308 * grub-core/Makefile.core.def (kernel): Update extra_dist.
2309 (setjmp): Add lib/ia64/longjmp.S.
2310 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
2311 * po/POTFILES.in: Regenerate.
2312 * po/Rules-swiss: use DISTFILES.common.extra2 and not
2313 DISTFILES.common.extra1.
2314 * util/devicemap.c: Removed.
2315 * grub-core/lib/i386/relocator_backward.S: Likewise.
2316 * util/import_gcry.py: Remove unused files. Add extra_dist for
2317 ChangeLog.
2318
cf1adfdf
VS
23192012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/gettext/gettext.c (grub_mofile_open): Call
2322 grub_gettext_delete_list before changing grub_gettext_max to avoid
2323 running out of array bounds.
2324
23252012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
2326
2327 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
2328 grub_vga_text_init/grub_vga_text_fini.
2329
cf1adfdf 23302012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
2331
2332 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
2333
541d92e9
VS
23342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * configure.ac: Bump to 2.00~beta0.
2337
7931dddf
VS
23382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
2341 missing initialisation.
2342
f1b16fa3
VS
23432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
2346
83ddae23
VS
23472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 Support v2 xnu boot arguments.
2350
2351 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
2352 New argument fsbfreq_out.
2353 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
2354 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
2355 be used.
2356 * grub-core/loader/machoXX.c (grub_macho_load): New argument
2357 darwin_version.
2358 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
2359 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
2360 (grub_xnu_boot_params): Rename to ...
2361 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
2362 (grub_xnu_boot_params_v2): New struct.
2363
dc693fe6
VS
23642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
2367 zeroing of CRC field before computing CRC.
2368
5a6e39c2
VS
23692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
2372 Change order of allocations to decrease fragmentation.
2373
6c21f5d7
VS
23742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
2377
cfe456dc
CW
23782012-02-27 Colin Watson <cjwatson@ubuntu.com>
2379
2380 Use write-combining MTRR to speed up video with buggy BIOSes.
2381
2382 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
2383 (cpuid): New define.
2384 (rdmsr): Likewise.
2385 (wrmsr): Likewise.
2386 (mtrr_base): Likewise.
2387 (mtrr_mask): Likewise.
2388 (grub_vbe_enable_mtrr_entry): New function.
2389 (grub_vbe_enable_mtrr): Likewise.
2390 (grub_vbe_disable_mtrr): Likewise.
2391 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
2392 control off to BIOS.
2393 (grub_video_vbe_init): Fill mtrr.
2394 (grub_video_vbe_fini): Disable mtrr.
2395 (grub_video_vbe_get_info_and_fini): Likewise.
2396 (grub_video_vbe_setup): Enable mtrr.
2397
e3c78337
CW
23982012-02-27 Colin Watson <cjwatson@ubuntu.com>
2399
2400 * include/grub/partition.h (grub_partition_map): Change prototype of
2401 embed to take a maximum value for nsectors.
2402 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
2403 * include/grub/fs.h (grub_fs): Likewise.
2404 * grub-core/partmap/msdos.c (embed_signatures): New array.
2405 (pc_partition_map_embed): Check for and avoid sectors matching any
2406 of the signatures in embed_signatures, up to max_nsectors.
2407 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
2408 returned sector map to max_nsectors.
2409 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
2410 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
2411 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
2412 * util/grub-setup.c (setup): Allow for the embedding area being
2413 split into multiple blocklists. Tell dest_partmap->embed the
2414 maximum number of sectors we care about.
2415
24162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
2419 Specify blocklist_install and reserver_first_sector for all fs.
2420 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
2421 blocklists.
2422
984b973f
VS
24232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-install.in: Clarify strings.
2426 Fix source dir check.
2427
f122e0d6
RL
24282012-02-27 Richard Laager <rlaager@wiktel.com>
2429
2430 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
2431 "zfs" and "fuse.zfs" as synonyms.
2432
071114bb
VS
24332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * configure.ac: Put platform and target_cpu substitutions back since
2436 they are used for directories.
2437
817e6abc
RL
24382012-02-27 Richard Laager <rlaager@wiktel.com>
24392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * util/grub.d/10_linux.in: Add ZFS-related arguments.
2442 * util/grub.d/20_linux_xen.in: Likewise.
2443
897b7419
RL
24442012-02-27 Richard Laager <rlaager@wiktel.com>
2445
2446 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
2447 with full paths.
2448
a414bd15
RL
24492012-02-27 Richard Laager <rlaager@wiktel.com>
2450
2451 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
2452 unescape.
2453
30ac48c4
VS
24542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 Don't use insecure popen in getroot.
2457
2458 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
2459 (exec_pipe): ... here.
2460 (find_root_devices_from_poolname): Use exec_pipe.
2461
53f13848
VS
24622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 Remove platform and target_cpu replacement.
2465
2466 * configure.ac: Remove platform and target_cpu substitutions.
2467 * tests/util/grub-shell.in: Use modinfo.
2468 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
2469 explicitly.
2470
90cb2803
VS
24712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Autodetect platform in grub-install but allow override.
2474
2475 * util/grub-install.in: Autodetect platform. Support --target and
2476 --directory. Read platform from modinfo.sh.
2477
b9136427
VS
24782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 Support btrfs multi-volume probe.
2481
2482 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
2483 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
2484 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
2485 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
2486 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
2487 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
2488 grub_find_root_devices_from_btrfs if on btrfs.
2489
c36e5cd1
VS
24902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 Remove any awareness of *.c util files about target.
2493
2494 * Makefile.util.def (grub-setup): Split to ...
2495 (grub-bios-setup): ... and this.
2496 (grub-sparc64-setup): ... and this.
2497 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
2498 * docs/man/grub-setup.h2m: Split into ...
2499 * docs/man/grub-sparc64-setup.h2m: ... this.
2500 * docs/man/grub-bios-setup.h2m: ... and this.
2501 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
2502 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
2503 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
2504 (grub_target_addr_t): Remove.
2505 (grub_target_size_t): Remove.
2506 (grub_target_ssize_t): Remove.
2507 * util/grub-install.in: Use new grub-*-setup.
2508 * util/grub-mkimagexx.c (Elf_Word): New define.
2509 (Elf_Half): Likewise.
2510 (Elf_Section): Likewise.
2511 (ELF_ST_TYPE): Likewise.
2512 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
2513 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2514
584b2f8a
VS
25152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Replace grub_target_addr with more appropriate types.
2518
2519 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
2520 grub_target_addr with grub_addr.
2521 * grub-core/commands/iorw.c (grub_cmd_read): Replace
2522 grub_target_addr with grub_port.
2523 (grub_cmd_write): Likewise.
2524 * grub-core/commands/memrw.c (grub_cmd_read): Replace
2525 grub_target_addr with grub_addr.
2526 (grub_cmd_write): Likewise.
2527 * grub-core/video/efi_uga.c (find_line_len): Likewise.
2528
5a0dc6fb
VS
25292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
2532 const qualifier for vendor_guid.
2533
786aff6e
VS
25342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
2537 const qualifier.
2538 (efiemu_memequal): Likewise.
2539 (find_variable): Likewise.
2540
49017b17
VS
25412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 Fix missing console prototype on qemu-mips.
2544
2545 * include/grub/mips/qemu_mips/console.h: New file.
2546
c5988629
MG
25472012-02-27 Matthew Garrett <mjg@redhat.com>
25482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
2551 * include/grub/efi/efi.h: Likewise.
2552 * include/grub/efi/api.h: Add guid for EFI-specified variables.
2553 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
2554 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
2555 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
2556 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
2557 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2558
e33f8d69
MG
25592012-02-27 Matthew Garrett <mjg@redhat.com>
2560
2561 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
2562
fb312cd9
VS
25632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
2566 error.
2567
7134247c
VS
25682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * configure.ac: Remove inappropriate use of program_transform_name
2571 on grubdir and bootdir but allow explicit specification of those
2572 variables.
2573
6a313124
VS
25742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * util/grub-mknetdir.in (grub_prefix): Removed.
2577 (subdir): Use @bootdirname@ and @grubdirname@.
2578
2311c5ca
VS
25792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
2582
7d5d60f7
VS
25832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * po/POTFILES.in: Regenerated.
2586
8151bc82
VS
25872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 Remove improper use of program_transform_name on pkglibrootdir.
2590
2591 * configure.ac (pkglibrootdir): Removed.
2592 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2593 * util/grub-mkimage.c: Likewise.
2594
b4a6a533
VS
25952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2598 warning.
2599
668f304f
VS
26002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * util/grub-install.in: Use file identifier if no UUID is available
2603 or user explicitly prompted for it.
2604
665f2341
NP
26052012-02-27 Navdeep Parhar <nparhar@gmail.com>
2606
2607 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2608 (freebsd_get_zfs): New function.
2609 (grub_freebsd_boot): Pass zfs UUID.
2610 (grub_cmd_freebsd): Set zfs UUID.
2611
8151bc82 26122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2613
2614 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2615 pkglibrootdir.
2616
e4c498a1
MG
26172012-02-27 Mike Gilbert <floppym@gentoo.org>
2618
2619 Add configure flag to control libzfs integration.
2620
2621 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2622
1e9a9a3f
VS
26232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2626 device.
2627 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2628 small devices.
2629
036985b8
VS
26302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2633 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2634 be used on non-modules.
2635
2636 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2637 Rename to grub_boot_init.
2638 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2639 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2640 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2641 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2642 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2643 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2644 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2645 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2646 includes.
2647 (grub_machine_init): Remove empty inits.
2648 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2649 includes.
2650 (grub_machine_init): Remove empty inits.
2651 * grub-core/term/arc/console.c: Remove explicit proto.
2652 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2653 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2654 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2655 grub_at_keyboard_fini.
2656 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2657 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2658 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2659 grub_gfxterm_fini.
2660 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2661 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2662 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2663 grub_vgatext_fini.
2664 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2665 * grub-core/term/serial.c (GRUB_MOD_INIT)
2666 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2667 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2668 grub_serial_fini.
2669 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2670 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2671 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2672 grub_terminfo_fini.
2673 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2674 (GRUB_MOD_FINI): Likewise.
2675 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2676 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2677 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2678 grub_video_radeon_fuloong2e_fini.
2679 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2680 [LOONGSON]: Rename to grub_video_sis315pro_init.
2681 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2682 grub_video_sis315pro_fini.
2683 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2684 [LOONGSON]: Rename to grub_video_sm712_init.
2685 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2686 grub_video_sm712_fini.
2687 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2688 (grub_at_keyboard_fini): Likewise.
2689 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2690 Don't declare grub_{modname}_init.
2691 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2692 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2693 New proto.
2694 (grub_keylayouts_fini) [!EMU]: Likewise.
2695 * include/grub/serial.h (grub_serial_init) [!EMU]:
2696 New proto.
2697 (grub_serial_fini) [!EMU]: Likewise.
2698 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2699 New proto.
2700 (grub_terminfo_fini) [!EMU]: Likewise.
2701 * include/grub/video.h (grub_font_init) [!EMU]:
2702 New proto.
2703 (grub_font_fini) [!EMU]: Likewise.
2704 (grub_gfxterm_init) [!EMU]: Likewise.
2705 (grub_gfxterm_fini) [!EMU]: Likewise.
2706 (grub_video_sm712_init) [!EMU]: Likewise.
2707 (grub_video_sm712_fini) [!EMU]: Likewise.
2708 (grub_video_sis315pro_init) [!EMU]: Likewise.
2709 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2710 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2711 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2712
d5534665
VS
27132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 Make nand a prefix for nand devices.
2716
2717 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2718
10133b5f
VS
27192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2722 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2723
8e307a62
VS
27242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * include/grub/env.h (grub_env_find): Remove prototype.
2727 * grub-core/kern/env.c (grub_env_find): Make static.
2728 (grub_env_set): Remove useless set.
2729
a4c65f34
VS
27302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/kern/i386/realmode.S: Remove useless align.
2733
d87893d5
VS
27342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * include/grub/dl.h (grub_dl_load_file): Don't export.
2737
50159add
VS
27382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2741 grub_dprintf.
2742
b2582b84
VS
27432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2746 grub_errors.
2747 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2748 not reloading whole superblock but only the part which is really needed.
2749 Remove useless grub_errors.
2750 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2751 grub_errors.
2752
e2a83395
VS
27532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 Don't export grub_get_rtc.
2756
2757 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2758 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2759
e7d2a906
VS
27602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2763
6cf1363b
VS
27642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2767 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2768
eece3349
VS
27692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 Remove prio_list.
2772
2773 * include/grub/list.h (grub_prio_list): Removed.
2774 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2775 GRUB_COMMAND_PRIO_MASK.
2776 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2777 GRUB_COMMAND_FLAG_ACTIVE.
2778 (grub_prio_list_insert): Removed.
2779 (grub_prio_list_remove): Likewise.
2780 (GRUB_AS_PRIO_LIST): Likewise.
2781 (GRUB_AS_PRIO_LIST_P): Likewise.
2782 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2783 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2784 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2785 * grub-core/kern/command.c (grub_register_command_prio): Inline
2786 the prio_list code.
2787 (grub_unregister_command): Likewise.
2788
94f064b4
VS
27892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Fix interrupt mixup from previous commit.
2792
2793 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2794 (grub_realidt): New var.
2795 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2796 Load idt.
2797 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2798 New declaration.
2799 (grub_relocator16_boot): Set grub_relocator16_idt.
2800 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2801 (LOCAL(realidt)): ... this.
2802 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2803 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2804 (grub_realidt): New variable.
2805
27317084
VS
28062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2809 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2810 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2811 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2812 Gettextize.
2813 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2814 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2815 * po/POTFILES.in: Regenerate.
2816
47b40053
VS
28172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2820 errors.
2821
2b343101
VS
28222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2825 \0.
2826 (add_length): Likewise.
2827
ff27c3dd
LK
28282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28292012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2830
2831 GDB serial and backtrace support.
2832
2833 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2834 (prot_to_real): Likewise.
2835 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2836 * grub-core/Makefile.core.def (backtrace): New module.
2837 (gdb): Likewise.
2838 * grub-core/gdb/cstub.c: New file.
2839 * grub-core/gdb/gdb.c: Likewise.
2840 * grub-core/gdb/i386/idt.c: Likewise.
2841 * grub-core/gdb/i386/machdep.S: Likewise.
2842 * grub-core/gdb/i386/signal.c: Likewise.
2843 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2844 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2845 * include/grub/backtrace.h: Likewise.
2846 * include/grub/gdb.h: Likewise.
2847 * include/grub/i386/gdb.h: Likewise.
2848
28492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2850
2851 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2852 New function.
2853 (add_length): Likewise.
2854 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2855 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2856 proto.
2857 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2858 __argp_get_display_len.
2859
ff27c3dd 28602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2861
2862 $"..." support in scripts.
2863
2864 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2865 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2866 * grub-core/script/yylex.l: Likewise.
2867 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2868 value.
2869
ff27c3dd 28702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2871
2872 * gentpl.py: Remove obsolete pkglib_DATA handling.
2873
ff27c3dd 28742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2875
2876 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2877 mailing list.
2878
2879 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2880 * util/grub-kbdcomp.in: Likewise.
2881 * util/grub-mkconfig.in: Likewise.
2882 * util/grub-mkconfig_lib.in: Likewise.
2883 * util/grub-mknetdir.in: Likewise.
2884 * util/grub-mkrescue.in: Likewise.
2885 * util/grub-mkstandalone.in: Likewise.
2886 * util/grub-reboot.in: Likewise.
2887 * util/grub-set-default.in: Likewise.
2888 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2889
ff27c3dd 28902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2891
2892 Remove GRUB_PREFIX.
2893
2894 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2895 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2896 used for backward compatibility.
2897
ff27c3dd 28982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2899
2900 Add new all_video module.
2901
2902 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2903 * grub-core/Makefile.core.def (all_video): New module.
2904 * grub-core/genmoddep.awk: Generate dependency of all_video from
2905 video.lst.
2906 * grub-core/lib/fake_module.c: New file.
2907 * grub-core/normal/main.c (features): Add feature_all_video_module.
2908 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2909 don't do explicit search again.
47454da5 2910 insmod all_video in load_video if available.
22c7ce85 2911
ff27c3dd 29122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2913
2914 Another round of string clarification and adding TRANSLATORS comments.
2915
ff27c3dd 29162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2917
2918 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2919
ff27c3dd 29202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2921
2922 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2923 to grub_ssize_t.
2924 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2925 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2926
ff27c3dd 29272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2928
2929 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2930 trailing newline implicitly. All users updated.
2931
ff27c3dd 29322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2933
2934 Implement serial on IEEE1275 and EFI.
2935
2936 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2937 on emu. Mention arc and emu as the only platforms without serial
2938 support.
2939 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2940 ieee1275 platforms.
2941 * grub-core/term/efi/serial.c: New file.
2942 * grub-core/term/ieee1275/serial.c: Likewise.
2943 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2944 specification if no ns8250 driver is available.
2945 (grub_cmd_serial): Likewise.
2946 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2947 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2948 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2949 (grub_efi_parity_type_t): New type.
2950 (grub_efi_stop_bits_t): Likewise.
2951 (grub_efi_serial_io_interface): New struct.
2952 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2953 available for all interfaces.
2954 Add EFI and IEEE1275 fields.
2955 (grub_ofserial_init): New proto.
2956 (grub_efiserial_init): Likeiwse.
2957 * util/grub.d/00_header.in: Don't check for the presence of serial
2958 module.
2959
ff27c3dd 29602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2961
2962 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2963 name as if it was an alias.
2964
114076ef
VS
29652012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/commands/lsacpi.c (options): Fix typo.
2968
6a656b0e
VS
29692012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 Convert grub-emu to argp.
2972
2973 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2974 emu.
2975 * util/argp_common.c: Rename to ...
2976 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2977 Add missing includes.
2978 * grub-core/kern/emu/main.c: Convert to argp.
2979 * po/POTFILES.in: Regenerate.
2980 * util/grub-install.in (usage): Make first letter lowcase in messages
2981 for uniformity.
2982 * util/grub-setup.c (options): Likewise.
2983
1e3f8ae8
VS
29842012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2987 Put back accidently commented-out code.
2988
ed167a80
VS
29892012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2992 loop check using Brent algorithm.
2993 (grub_hfsplus_btree_search): Likewise.
2994
6753c0ec
VS
29952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * util/grub-install.in: Fix usage of wrong device for PreP install.
2998
4e27343f
VS
29992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * conf/Makefile.common (CFLAGS_GNULIB): Add
3002 -Wno-unsafe-loop-optimizations.
3003 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3004 on tools.
3005 * grub-core/commands/legacycfg.c: Add pragma to skip
3006 -Wunsafe-loop-optimizations.
3007 (check_password_md5_real): Fix loop counter type.
3008 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3009 reading.
3010 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3011 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3012 loop condition.
3013 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3014 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3015 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3016 condition.
3017 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3018 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3019 avoid possible infinite loops.
3020 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3021 and -Wunsafe-loop-optimizations.
3022 * grub-core/script/yylex.l: Likewise.
3023 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3024 (print_glyphs): Avoid infinite loops.
3025 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3026
697f18b0
GS
30272012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3028
3029 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3030 to avoid infinite loop.
3031 (disp_acpi_rsdt_table): Likewise.
3032
274416e8
VS
30332012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/font/font.c (grub_font_load): Add support for default
3036 path for fonts ($prefix/fonts).
3037 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3038 for checking if string is a path.
3039 * grub-core/normal/main.c (features): Add feature_default_font_path.
3040 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3041 * util/grub.d/00_header.in: Use default directory if possible.
3042 * util/grub-install.in: Install unicode.pf2.
3043
b3e08622
VS
30442012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3047 * po/Rules-swiss: New file.
3048 * po/swiss.sed: Likewise.
3049
fe42ce09
VS
30502012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/fs/btrfs.c (find_device): Fix typos.
3053 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3054 * util/grub-mkrelpath.c (argp_parser): Likewise.
3055 Reported by: Yuri Chornoivan.
3056
72f1d065
DO
30572012-02-23 Dalet Omega <daletomega@gmail.com>
3058
3059 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3060 for usual informative messages.
3061
c5884973
DO
30622012-02-23 Dalet Omega <daletomega@gmail.com>
3063
3064 Starfield theme.
3065
3066 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3067 * conf/Makefile.common: Define starfielddir.
3068 * configure.ac: Configure starfield.
3069 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3070 * themes/starfield/README: Likewise.
3071 * themes/starfield/blob_w.png: Likewise.
3072 * themes/starfield/boot_menu_c.png: Likewise.
3073 * themes/starfield/boot_menu_e.png: Likewise.
3074 * themes/starfield/boot_menu_n.png: Likewise.
3075 * themes/starfield/boot_menu_ne.png: Likewise.
3076 * themes/starfield/boot_menu_nw.png: Likewise.
3077 * themes/starfield/boot_menu_s.png: Likewise.
3078 * themes/starfield/boot_menu_se.png: Likewise.
3079 * themes/starfield/boot_menu_sw.png: Likewise.
3080 * themes/starfield/boot_menu_w.png: Likewise.
3081 * themes/starfield/slider_c.png: Likewise.
3082 * themes/starfield/slider_n.png: Likewise.
3083 * themes/starfield/slider_s.png: Likewise.
3084 * themes/starfield/src/blob_nw.xcf: Likewise.
3085 * themes/starfield/src/bootmenu/: Likewise.
3086 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3087 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3088 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3089 * themes/starfield/src/slider_c.xcf: Likewise.
3090 * themes/starfield/src/slider_n.xcf: Likewise.
3091 * themes/starfield/src/slider_s.xcf: Likewise.
3092 * themes/starfield/src/terminalbox/: Likewise.
3093 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3094 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3095 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3096 * themes/starfield/starfield.png: Likewise.
3097 * themes/starfield/terminal_box_c.png: Likewise.
3098 * themes/starfield/terminal_box_e.png: Likewise.
3099 * themes/starfield/terminal_box_n.png: Likewise.
3100 * themes/starfield/terminal_box_ne.png: Likewise.
3101 * themes/starfield/terminal_box_nw.png: Likewise.
3102 * themes/starfield/terminal_box_s.png: Likewise.
3103 * themes/starfield/terminal_box_se.png: Likewise.
3104 * themes/starfield/terminal_box_sw.png: Likewise.
3105 * themes/starfield/terminal_box_w.png: Likewise.
3106 * themes/starfield/theme.txt: Likewise.
3107
17d73325
VS
31082012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * util/grub.d/00_header.in: Add missing export theme.
3111
dbebaf92
VS
31122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3115 already included.
3116 Reported by: Eren D.
3117
3d68bffb
VS
31182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * conf/Makefile.common (grubdatadir): Removed.
3121 (Makefile.am): Move eveything grubdata to pkgdata.
3122
4b59234d
VS
31232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/commands/acpihalt.c (get_sleep_type):
3126 Remove unused variable.
3127
463dcadc
VS
31282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3131 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3132 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3133 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3134 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3135 i18n with gettext no-op.
3136 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3137 GRUB_ACPI_OPCODE_STRING_CONST.
3138 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3139 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3140
e5b90c82
VS
31412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * po/POTFILES.in: Regenerate.
3144
2a704ca9
VS
31452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3148 -Wno-error=missing-noreturn.
3149
84f9d341
VS
31502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3153 condition to avoid possibly infinite loops.
3154 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3155 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3156
d46683f9
VS
31572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3160 condition to avoid possibly infinite loops.
3161
c44866b2
VS
31622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3165 on show_error.
3166
96790539
VS
31672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3170
1ba7e295
VS
31712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3174
21ffe8f1
VS
31752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * util/bin2h.c (usage): Add missing attribute noreturn.
3178
0ccb6b3c
VS
31792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3182 if the size isn't divisible by 512.
3183
b00d7fb6
VS
31842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 Make list_push and list_remove functions rather than inline functions
3187 to decrease size and avoid aliasing violations.
3188
3189 * include/grub/list.h (grub_list_push): Move to ...
3190 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3191 * include/grub/list.h (grub_list_remove): Move to ...
3192 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3193
9d369087
VS
31942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3197 and -Wunused-result.
3198
af0250d9
VS
31992012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3202 Reported by: Seth Goldberg
3203
aad32b14
VS
32042012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3207
ac96441c
ST
32082012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3209
3210 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3211 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3212 command line.
3213 * docs/grub.texi (Simple configuration): Document
3214 GRUB_CMDLINE_GNUMACH.
3215
32162012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
3217
3218 * conf/Makefile.common (platform_SCRIPTS): New variable.
3219 (platform_PROGRAMS): Likewise.
3220 * gentpl.py: Mark *,module and *.image for install.
3221 * grub-core/gdb_grub.in: Add a notice of expected environment.
3222 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3223 (gmodule.pl): Likewise.
3224
ac96441c 32252012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
3226
3227 Replace grub_checkkey with grub_getkey_noblock.
3228
3229 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
3230 (grub_getkey_noblock): ... this. All users updated.
3231
ac96441c 32322012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
3233
3234 * grub-core/kern/emu/console.c: Move to ...
3235 * grub-core/term/emu/console.c: ...here.
3236 (grub_ncurses_getkey): Fix return value if no key is detected.
3237
e51b5666
VS
32382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
3241 (grub_unit_test_fini): Likewise.
3242 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
3243
32442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * include/grub/test.h (GRUB_UNIT_TEST)
3247
d9a62292
VS
32482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/script/execute.c (grub_script_break): Clarify logic.
3251 Better error handling.
3252 (grub_script_return): Likewise.
3253 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3254
77c9182f
VS
32552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
3258 rimplicit redifinition.
3259
edb13cf9
VS
32602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
3263 GRUB.
3264
a9e9dc7c
VS
32652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
3268 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
3269 prompt here.
3270
b4ba8e02
VS
32712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
3274 as GRUB_ERR_BUG. Don't malloc if no device is available.
3275
dded5540
VS
32762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
3279 Mark calling with invalid term as GRUB_ERR_BUG.
3280
0cf69874
VS
32812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
3284 packets rather than raising an error.
3285
59bfe502
VS
32862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
3289 in if.
3290
db5fc596
VS
32912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
3294 diagnostic to dprintf.
3295 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3296
e4b7f404
VS
32972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
3300 device name.
3301
e7b02f9e
VS
33022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
3305 (grub_ntfs_iterate_dir): Likewise.
3306
0331e102
VS
33072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 Efiemu stylistic fixes and gettext.
3310
3311 * grub-core/efiemu/i386/loadcore32.c
3312 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
3313 * grub-core/efiemu/i386/loadcore64.c
3314 (grub_arch_efiemu_relocate_symbols64): Likewise.
3315 * grub-core/efiemu/i386/pc/cfgtables.c
3316 (grub_machine_efiemu_init_tables): Likewise.
3317 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
3318 (grub_efiemu_loadcore_initXX): Add a filename argument.
3319 All users updated.
3320 Improved error message.
3321 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
3322 Add a filename argument.
3323 All users updated.
3324 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
3325 Reclassify double relocation as GRUB_ERR_BUG.
3326
306fc074
VS
33272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
3330 handling.
3331
794d8ef2
VS
33322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
3335 on partition.
3336
33372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
3338
3339 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
3340
794d8ef2 33412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
3342
3343 Improve string. Gettextize.
3344
78dde88e
VS
33452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
3348 utils.
3349 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
3350
4786a90f
VS
33512012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
3354 [GRUB_UTIL]: New function.
3355 (insert_array) [GRUB_UTIL]: Store partmaps.
3356 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
3357 partmaps.
3358 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
3359 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
3360 (probe_abstraction): Print diskfilter and not raid.
3361 Reported by: Lennart Sorensen
3362
0b6225bd
VS
33632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
3366 * util/grub-mkimagexx.c (MASK3): New define.
3367 (add_value_to_slot_20b): Use MASK3.
3368 (add_value_to_slot_21): Likewise.
3369 (relocate_addresses): Fix format specification.
3370 (load_image): Explicitly init symtab_section.
3371
b055f8f6
VS
33722012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
3375 (grub_util_biosdisk_get_grub_dev): Fix format specification.
3376
b77c2fb7
VS
33772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
3380 on powerpc.
3381 Reported by: Lennart Sorensen
3382
e3ec28ab
VS
33832012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * gentpl.py: Add missing license header.
3386 * docs/grub.texi: Update copyright year.
3387
c8d9ead6
GS
33882012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3389
3390 Source grub-mkconfig_lib from the build directory at build time.
3391 Suggested by: Vladimir Serbinenko.
3392
3393 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
3394 * util/grub-install.in: Define pkgdatadir if not already set, and source
3395 grub-mkconfig_lib from there.
3396 * util/grub-kbdcomp.in: Likewise.
3397 * util/grub-mkconfig.in: Likewise.
3398 * util/grub-mknetdir.in: Likewise.
3399 * util/grub-mkrescue.in: Likewise.
3400 * util/grub-mkstandalone.in: Likewise.
3401 * util/grub-reboot.in: Likewise.
3402 * util/grub-set-default.in: Likewise.
3403 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3404
ebcecdf1
VS
34052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 Increase warning level.
3408
3409 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
3410 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
3411 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
3412 (TARGET_CFLAGS): Likewise.
3413 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
3414 * grub-core/Makefile.core.def (decompressor_xz): Add
3415 -Wno-unreachable-code.
3416 (normal): Add -Wno-redundant-decls.
3417 (xzio): Add -Wno-unreachable-code.
3418 (lzopio): Add -Wno-redundant-decls -Wno-error.
3419 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
3420 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
3421 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
3422 * grub-core/kern/dl.c: Add exception to -Wcast-align.
3423 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
3424 * grub-core/kern/i386/coreboot/init.c: Add exception to
3425 -Wsuggest-attribute=noreturn.
3426 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
3427 * grub-core/kern/ia64/dl_helper.c: Likewise.
3428 * grub-core/kern/mips/dl.c: Likewise.
3429 * grub-core/kern/sparc64/dl.c: Likewise.
3430 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
3431 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
3432 (memcmp): Likewise.
3433 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
3434 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
3435 * grub-core/loader/mips/linux.c: Likewise.
3436 * grub-core/loader/multiboot_elfxx.c: Likewise.
3437 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
3438 * grub-core/video/sm712.c: Add exception to -Wcast-align.
3439 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
3440 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
3441 fixme.
3442 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3443 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
3444 Fix prototype.
3445
37bb97fe
VS
34462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
3449 address.
3450
29a3550b
VS
34512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3454 Avoid improper use of strings.
3455 (grub_cmd_legacy_initrdnounzip): Likewise.
3456
dfdffd0d
VS
34572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * include/grub/emu/misc.h (grub_util_warn): Add missing format
3460 attribute.
3461 (grub_util_info): Likewise.
3462 (grub_util_error): Likewise.
3463
102fae4a
VS
34642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
3467 * util/grub-fstest.c (fstest): Likewise.
3468
7e94d044
VS
34692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
3472 (grub_md_sha512_real): Likewise.
3473 (grub_util_get_geli_uuid): Likewise.
3474 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
3475 (grub_util_biosdisk_open): Fix format specification.
3476 Respect format security.
3477 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
3478 (xrealloc): Likewise.
3479 (xasprintf): Likewise.
3480
5ebd9769
VS
34812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * util/import_gcry.py: Include grub/crypto.h in init.c.
3484
495fc8c1
VS
34852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
3488 (generate_image): Make prefix a const char *.
3489 Fix format specifications. Respect format security.
3490 Avoid void * arithmetics.
3491 Avoid shadowing.
3492 (argp_parser): Remove unused variable. Respect format security.
3493 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
3494 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
3495 (count_funcs): Remove unused variable.
3496 (relocate_addresses): Fix format specification.
3497 Disable x86-64 with elf32. Remove unused variables.
3498 (add_fixup_entry): Avoid shadowing.
3499 (make_reloc_section): Fix format specification.
3500 Use assert.
3501 (locate_sections): Fix format specifications.
3502 (load_image): Avoid shadowing.
3503
043c2ea3
VS
35042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
3507 Fix format specifications. Respect format security.
3508 Don't translate already translated grub_errmsg.
3509 (argp_parser): Remove unused variable
3510
3ec65a81
VS
35112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
3514
a4d9fe4a
VS
35152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
3518 (main): Likewise. Use xmalloc. Respect format security.
3519
15b81d49
VS
35202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
3523 a const char *.
3524 (argp_parser): Remove unused variable.
3525
31731fc0
VS
35262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
3529 (add_pixel): Make static.
3530 (add_font): Likewise.
3531 (write_string_section): Make name and str a const char *.
3532 (write_be16_section): Make name a const char *.
3533 (print_glyphs): Make static.
3534 (write_font_ascii_bitmap): Likewise.
3535 (write_font_width_spec): Likewise.
3536 (write_font_pf2): Likewise.
3537 (argp_parser): Remove unused variable.
3538 Respect format security.
3539 (main): Avoid shadowing. Respect format security.
3540
0809527b
VS
35412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * util/grub-editenv.c (argp_parser): Make static.
3544 (create_envblk_file): Use xmalloc.
3545 (open_envblk_file): Likewise.
3546 Resepect format security.
3547 (set_variables): Respect format security.
3548
45b0c8b7
VS
35492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * util/getroot.c (grub_find_device): Respect format security.
3552 (get_mdadm_uuid): Remove unused variable.
3553 (grub_util_pull_device): Dont call gettext on already translated
3554 grub_errmsg.
3555 (find_system_device): Remove unused variable.
3556 (grub_util_get_grub_dev): Likewise.
3557 (grub_make_system_path_relative_to_its_root): Respect format security.
3558
1b024b4e
VS
35592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * util/grub-fstest.c (execute_command): Make first argument
3562 a const char *.
3563 (read_file): Avoid shadowing.
3564 Reuse underlying error message if device open fails.
3565 (cmd_cmp): Respect format security.
3566 (root): Make const char *.
3567 (fstest): Remove args argument and use global copy.
3568 Respect format security.
3569 (argp_parser): Make static.
3570 (main): Make default_root const char *.
3571
5d1d4e28
VS
35722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * util/grub-mount.c (root): Make const char *.
3575 (execute_command): Make first argument a const char *.
3576 (fuse_init): Respect format security.
3577 (argp_parser): Make static. Remove unused variable.
3578 (main): Make default_root a const char *.
3579 Respect format security.
3580
36eb7379
VS
35812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * util/grub-probe.c (probe): Don't call gettext on already translated
3584 grub_errmsg.
3585 Remove unused variables.
3586 (argp_parser): Remove unused variable.
3587
76fb2ea9
VS
35882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * util/grub-script-check.c (argp_parser): Remove unused variable.
3591 (main): Rename read to curread to avoid shadowing.
3592
56c98584
VS
35932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * util/misc.c (grub_util_write_image_at): Fix format specification.
3596 (grub_util_write_image): Likewise.
3597 (grub_script_execute_argument_to_string): Removed (unused).
3598 (grub_script_execute_menuentry): Likewise.
3599 (grub_putchar): Likewise.
3600
164ebb48
VS
36012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3604 (FUNCTION) [GRUB_UTIL]: Likewise.
3605 (VARIABLE) [GRUB_UTIL]: Likewise.
3606
44318d61
VS
36072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3610 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3611
31a26002
VS
36122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3615 buffer.
3616
36172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3620 (LzmaEnc_SaveState): Removed (unused).
3621 (LzmaEnc_RestoreState): Likewise.
3622 (LzmaEnc_InitPriceTables): Made static.
3623 (LzmaEnc_Construct): Likewise.
3624 (LzmaEnc_FreeLits): Likewise.
3625 (LzmaEnc_Destruct): Likewise.
3626 (LzmaEnc_Init): Likewise.
3627 (LzmaEnc_InitPrices): Likewise.
3628 (LzmaEnc_Finish): Likewise.
3629 (LzmaEnc_PrepareForLzma2): Removed (unused).
3630 (LzmaEnc_MemPrepare): Likewise.
3631 (LzmaEnc_GetNumAvailableBytes): Likewise.
3632 (LzmaEnc_GetCurBuf): Likewise.
3633 (LzmaEnc_CodeOneMemBlock): Likewise.
3634
6fa67967
VS
36352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3638 (grub_util_ldm_embed): Likewise.
3639
9a7428e6
VS
36402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * util/grub-editenv.c (print_var): Rename name to varname to
3643 avoid shadowing.
3644 (main): Rename index to curindex to avoid shadowing.
31a26002 3645 Make filename a const char *.
9a7428e6 3646
4f96abd1
VS
36472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3650 to arg_getline to avoid shadowing.
3651
44d10dad
VS
36522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3655 disk_ to avoid shadowing.
3656
340ba63e
VS
36572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3660 curindex to avoid shadowing.
3661 Make static.
3662 (MatchFinder_GetNumAvailableBytes): Make static.
3663
22965bce
VS
36642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3667 avoid shadowing.
3668
7b5784d4
VS
36692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3672 argument from encrypt to do_encrypt to avoid shadowing.
3673
6f48ca01
VS
36742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3677 incorrect nesting of #if's.
3678
a4ea2dff
VS
36792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3682 checks which are always false on some platforms.
3683 (grub_cmd_lsacpi): Likewise.
3684 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3685 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3686 Likewise.
3687
def9fc1b
VS
36882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3691 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3692
a67b2a04
VS
36932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3696 re_dfa_t to avoid breaking alignment invariants.
3697 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3698 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3699
44c6828d
VS
37002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3703 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3704
bebe0dd0
VS
37052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3708 Fix declaration.
3709
a9cdb3cf
VS
37102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3713 conserve alignment invariants.
3714 (grub_ehci_ehcc_read16): Likewise.
3715 (grub_ehci_oper_read32): Likewise.
3716 (grub_ehci_oper_write32): Likewise.
3717 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3718 Conserve alignment invariants.
3719
ccc3b1b8
VS
37202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3723 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3724 declarations.
3725
987fbd95
VS
37262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3729 Remove unused variable.
3730
0df363f3
VS
37312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3734 Remove set in if.
3735
b2c0c4a6
VS
37362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * include/grub/net.h: Remove double declarations.
3739
690c531f
VS
37402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 Remove "payload" command in ia64 Linux loader since I couldn't
3743 find any evidence of it being used for anything.
3744 Replace "relocate" command with an environment variable
3745
3746 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3747 fields.
3748 (ia64_boot_payload): Removed.
3749 (last_payload): Likewise.
3750 (RELOCATE_OFF): Likewise.
3751 (RELOCATE_ON): Likewise.
3752 (RELOCATE_FORCE): Likewise.
3753 (relocate): Likewise.
3754 (free_pages): Don't free payloads.
3755 (grub_load_elf64): Use common error messages.
3756 Use "linux_relocate" variable.
3757 Increase the space after boot_params.
3758 (grub_cmd_payload): Removed.
3759 (grub_cmd_relocate): Likewise.
3760 (grub_cmd_fpswa): Improve messages.
3761 (cmd_payload): Removed.
3762 (cmd_relocate): Likewise.
3763 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3764 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3765
01783768
VS
37662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 Convert UHCI to DMA framework.
3769
3770 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3771 (grub_uhci_pci_iter): Fill new members
3772 (grub_alloc_td): Use P2V and V2P functions.
3773 (grub_free_queue): Likewise.
3774 (grub_alloc_qh): Likewise.
3775 (grub_uhci_setup_transfer): Likewise.
3776 (grub_uhci_check_transfer): Likewise.
3777
43206939
VS
37782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3781 Remove assignment in if while on it.
3782
571e140e
VS
37832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * util/grub-mkstandalone.in: Fix modules directory.
3786
a9d96eeb
VS
37872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3790 on i386-pc target.
3791 (argp_parser): Accept "auto" as compression specification.
3792
e4e37e8d
VS
37932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Fix `help' with unloaded modules.
3796
3797 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3798 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3799 (grub_dyncmd_dispatcher): Small stylistic fix.
3800 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3801 explicit help is requested.
3802
e1ea3ade
VS
38032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3806 Explicitly init restart while on it.
3807
27556881
VS
38082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3811 uninited variable.
3812
d65f6b36
VS
38132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * util/grub-mknetdir.in: Use . rather than source for POSIX
3816 compatibility.
3817
0a1e473c
VS
38182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3821
ce6647c8
VS
38222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3825 variable.
3826
66747894
VS
38272012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3830 without quotes.
3831
71645f6e
VS
38322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3835
0e1c1f61
VS
38362012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3839 iteration of partitions.
3840
9c4b5c13
VS
38412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 Improve gettext support. Stylistic fixes and error handling fixes while
3844 on it.
3845
215c90cb
VS
38462012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3849 part. Instead setup the correct stack in RM.
3850 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3851 for stack.
3852 * include/grub/i386/relocator_private.h: New file.
3853
b5c1f9bf
VS
38542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3857 argument.
3858 * util/grub-fstest.c (options): Add missing DEVICE part.
3859
b525fd83
VS
38602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 Clarify and unify messages.
3863
3864 * grub-core/commands/hashsum.c (options): Unify messages.
3865 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3866 literal-only message as translatable.
3867 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3868 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3869 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3870 commands.
3871 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3872 key, not the key used to unlock. Clarify what it's used for.
3873 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3874 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3875 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3876 * util/grub-editenv.c (options): Unify "verbose" message.
3877 * util/grub-fstest.c (read_file): Unify error message.
3878 (fstest): Add quotes around commands.
3879 (options): Unify "verbose" message.
3880 * util/grub-install.in: Add quotes around variable name.
3881 * util/grub-kbdcomp.in: Unify error message.
3882 * util/grub-mkfont.c (main): Likewise.
3883 * util/grub-mkrescue.in: Likewise.
3884 * util/grub-mklayout.c (options): Unify "verbose" message.
3885 * util/grub-mkstandalone.in: Unify help and verbose messages.
3886 * util/grub-mount.c (options): Unify "verbose" message.
3887 * util/grub-probe.c (options): Likewise.
3888 * util/grub-script-check.c (options): Likewise.
3889 * util/grub-setup.c (setup): Unify no-terminator message.
3890 (options): Use DEVICE and not DEV.
3891 Unify "verbose" message.
3892 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3893
0ae70393
VS
38942012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 Improve and unify messages.
3897
3898 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3899 name. All users updated.
3900 Print filename in error.
3901 (read_device_map): Print filename in error.
3902 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3903 (grub_util_get_os_disk): Likewise.
3904 (grub_util_biosdisk_get_grub_dev): Likewise.
3905 (grub_util_check_block_device): Likewise.
3906 (grub_util_check_char_device): Likewise.
3907 (grub_make_system_path_relative_to_its_root): Likewise.
3908 * util/grub-editenv.c (create_envblk_file): Likewise.
3909 (open_envblk_file): Likewise.
3910 (write_envblk): Likewise.
3911 * util/grub-fstest.c (cmd_cp): Likewise.
3912 (cmd_cat): Likewise.
3913 (cmd_cmp): Likewise.
3914 * util/grub-menulst2cfg.c (main): Likewise.
3915 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3916 (write_font_width_spec): Likewise.
3917 (write_font_pf2): Likewise.
3918 * util/grub-mkimage.c (generate_image): New argument outname.
3919 All users updated.
3920 Remove unreacheable message.
3921 (options): Unify messages.
3922 (help_filter): Likewise.
3923 * util/grub-mklayout.c (usage): Removed (unused).
3924 (main): Print filename in error.
3925 * util/grub-mkrescue.in: Fix wrong quoting.
3926 * util/grub-setup.c (setup): Print filename in error.
3927 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3928 (check_sas): Likewise.
3929 * util/misc.c (grub_util_get_fp_size): Removed.
3930 (grub_util_get_image_size): Print filename in error.
3931 (grub_util_read_at): Removed.
3932 (grub_util_read_image): Print filename in error.
3933 (grub_util_load_image): Likewise.
3934 (grub_util_write_image_at): New argument filename. All users updated.
3935 Print filename in error.
3936 (grub_util_write_image): New argument filename. All users updated.
3937 Print filename in error.
3938 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3939 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3940
0a96117d
VS
39412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/Makefile.core.def (pxechain): New module.
3944 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3945 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3946 function.
3947 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3948 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3949
aca002f7
VS
39502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3953 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3954 * include/grub/err.h (grub_error_saved): New struct.
3955 (grub_errmsg): Make array size explicit.
3956 * include/grub/misc.h (grub_error_save): New function.
3957 (grub_error_load): Likewise.
3958 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3959 (grub_error_push): Update `errno' member name.
3960 (grub_error_pop): Likewise
3961 * grub-core/net/tftp.c (tftp_data): New member save_err.
3962 (tftp_receive): Save error.
3963 (tftp_open): Restore error.
3964
a51dab13
VS
39652012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3968 to real mode down to execute A20-related code in protected mode as
3969 intended.
3970
eb6e6649
GS
39712012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3972
3973 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3974 NULL when the argument `level' has an unexpected value.
3975
92cd0f6e
VS
39762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 Move platform-dependent files from $prefix to $prefix/$platform.
3979
3980 * config.h.in (GRUB_TARGET_CPU): New definition.
3981 (GRUB_PLATFORM): Likewise.
3982 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3983 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3984 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3985 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3986 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3987 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3988 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3989 * grub-core/normal/term.c (read_terminal_list): Likewise.
3990 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3991 $prefix/locale.
3992 (grub_gettext_init_ext): Likewise.
3993 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3994 grub_platform.
3995 * util/grub-install.in: Update directories.
3996 * util/grub-mknetdir.in: Likewise.
3997 * util/grub-mkrescue.in: Likewise.
3998
db606889
VS
39992012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4002 grub_error framework. All users updated.
4003
c39992a4
VS
40042012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4007 lists (by always binsearching), improve caching (cache strings
4008 used for binsearch, not only results), improve
4009 maintainability (by using more structured binary search) and correct
4010 error handling.
4011
1e5ec32f
VS
40122012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/script/execute.c (grub_script_return): Fix warning.
4015
ac576cde
VS
40162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/script/execute.c (grub_script_return): Fix potential
4019 NULL-dereference.
4020 Reported by: Jim Meyering.
4021
498453f6
VS
40222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * po/POTFILES.in: Regenerate.
4025 * util/grub-install.in: Gettextize the strings missed in first pass.
4026
8be63f2e
VS
40272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * Makefile.util.def (grub-mkdevicemap): Removed.
4030 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4031 * include/grub/util/deviceiter.h: Removed.
4032 * util/deviceiter.c: Likewise.
4033 * util/getroot.c (grub_util_get_os_disk): New function.
4034 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4035 replacement for EFI.
4036 * util/grub-mkdevicemap.c: Removed.
4037 * util/grub-probe.c (probe): Handle PRINT_DISK.
4038 (argp_parser): Handle -t disk.
4039
8e1e4e39
VS
40402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * util/grub-mkfont.c: Migrate to argp.
4043 * util/grub-mklayout.c: Likewise.
4044 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4045 * util/grub-mkrelpath.c: Likewise.
4046 * util/grub-probe.c: Likewise.
4047 * util/grub-script-check.c: Likewise.
4048
4459819a
VS
40492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * util/grub-reboot.in: Add missing datarootdir.
4052 Add missing newline.
4053 * util/grub-set-default.in: Add missing datarootdir.
4054 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4055 * util/grub-mkrescue.in: Likewise.
4056
f65741c7
VS
40572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4060
c1a33466
VS
40612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * util/grub-kbdcomp.in: Add decent help and gettextize.
4064 * docs/man/grub-kbdcomp.h2m: New file.
4065
c76899a0
VS
40662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Migrate grub-mkimage.c to argp.
4069
4070 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4071 (grub-setup): Likewise.
4072 * util/grub-setup.c (print_version): Move to ...
4073 * util/argp_common.c (print_version): ... here.
4074 * util/grub-setup.c (argp_program_version_hook): Move to ...
4075 * util/argp_common.c (argp_program_version_hook): ... here.
4076 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4077 safety.
4078 * util/grub-mkimage.c (main): Migrate to argp.
4079
57db0757
VS
40802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * util/grub-mkrescue.in: Use same message as
4083 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4084 for better translations.
4085
18534ad9
VS
40862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4089 options with generic grub-mkrescue.in with the goal of future
4090 merge.
4091
c84ba308
VS
40922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/kern/mm.c: Add missing include of i18n.h
4095 * grub-core/lib/relocator.c: Likewise.
4096
347998c2
VS
40972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4100 error.
4101 (allocate_pages): Check return value.
4102 Replace fatal with error.
4103 (grub_linux_boot): Replace printf with dprintf.
4104 Check find_mmap_size return value.
4105 Replace fatal with error.
4106 Don't call grub_machine_fini.
4107 (grub_load_elf64): Replace printf with dprintf.
4108 (grub_cmd_linux): Likewise.
4109 (grub_cmd_initrd): Likewise.
4110 (grub_cmd_payload): Likewise.
4111
c779226e
VS
41122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4115 message.
4116 * grub-core/video/radeon_fuloong2e.c
4117 (grub_video_radeon_fuloong2e_setup): Likewise.
4118 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4119 * grub-core/video/video.c (grub_video_set_mode): Don't override
4120 standard out of memory message.
4121
dc87d45a
GS
41222012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4123
4124 NetBSD disk wedge support.
4125
4126 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4127 [__NetBSD__]: Handle NetBSD disk wedges.
4128 * util/getroot.c (convert_system_partition_to_system_disk)
4129 [__NetBSD__]: Likewise.
4130
055f856f
MW
41312012-02-03 Mark Wooding <mdw@distorted.org.uk>
4132
4133 * util/grub-mkconfig.in: Use umask rather than chmod to create
4134 grub.cfg.new to avoid insecure grub.cfg.
4135
4a9f8346
VS
41362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/commands/ls.c: Gettextize.
4139 * grub-core/commands/setpci.c: Likewise.
4140 * grub-core/commands/videotest.c: Likewise.
4141 * grub-core/disk/geli.c: Likewise.
4142 * grub-core/kern/mm.c: Likewise.
4143 * grub-core/lib/relocator.c: Likewise.
4144 * grub-core/loader/efi/appleloader.c: Likewise.
4145 * grub-core/loader/i386/xnu.c: Likewise.
4146 * grub-core/loader/ia64/efi/linux.c: Likewise.
4147 * grub-core/loader/xnu.c: Likewise.
4148 * grub-core/net/dns.c: Likewise.
4149 * grub-core/net/net.c: Likewise.
4150 * grub-core/script/lexer.c: Likewise.
4151 * grub-core/script/parser.y: Likewise.
4152 * grub-core/script/yylex.l: Likewise.
4153 * util/getroot.c: Likewise.
4154 * util/grub-setup.c: Likewise.
4155
a646a366
VS
41562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4159 number.
4160
54e2be26
VS
41612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4164
f7c71e68
VS
41652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4168 macro.
4169 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4170 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4171
a32d5c71
VS
41722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4175 * util/grub-install.in: Gettextize.
4176 * util/grub-mkconfig.in: Likewise.
4177 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4178 if not available.
4179 (grub_warn): Gettextize.
4180 * util/grub-mknetdir.in: Gettextize.
4181 * util/grub-mkrescue.in: Likewise.
4182 * util/grub-mkstandalone.in: Likewise.
4183 * util/grub-reboot.in: Likewise.
4184 * util/grub-set-default.in: Likewise.
4185 * util/grub.d/00_header.in: Likewise.
4186 * util/grub.d/10_hurd.in: Likewise.
4187 * util/grub.d/10_kfreebsd.in: Likewise.
4188 * util/grub.d/10_linux.in: Likewise.
4189 * util/grub.d/10_netbsd.in: Likewise.
4190 * util/grub.d/10_windows.in: Likewise.
4191 * util/grub.d/20_linux_xen.in: Likewise.
4192 * util/grub.d/30_os-prober.in: Likewise.
4193 * po/POTFILES-shell.in: Regenerate.
4194
69edd81a
RL
41952012-02-03 Richard Laager <rlaager@wiktel.com>
4196
4197 * util/grub-mkimage.c (main): Fix format-security warning.
4198 * util/grub-mkrelpath.c (main): Likewise.
4199 * util/grub-probe.c (main): Likewise.
4200
65f08dbf
RL
42012012-02-03 Richard Laager <rlaager@wiktel.com>
4202
4203 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4204 failure.
4205 Put back lost PRINT_DRIVE.
4206
e9084abe
RL
42072012-02-03 Richard Laager <rlaager@wiktel.com>
4208
4209 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4210 (grub_guess_root_devices): Replace strlen with sizeof.
4211 Avoid crash.
4212 (find_root_devices_from_poolname): Remove unused variable.
4213 Handle raidzN.
4214
cf5f7ee7
VS
42152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 Support install on multi-device filesystems.
4218
4219 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4220 (grub_guess_root_devices): ...this. Return char **. All users updated.
4221 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4222 Removed.
4223 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
4224 (find_root_devices_from_poolname): ... here.
4225 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
4226 Support zfs-fuse.
4227 (grub_guess_root_device): Rename to ...
4228 (grub_guess_root_devices): ... this. Return char **. All users updated.
4229 * util/grub-install.in: Handle multi-device filesystems.
4230 * util/grub-probe.c (probe). Make device_names a char **. Add delim
4231 argument. All users updated.
4232 Handle multi-device filesystems.
4233 Use 'delim' as separator.
4234 Remove device check to allow filesystems on file.
4235 (main): Support -0 argument. Handle multi-device.
4236 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
4237 Fix a cross-device check while on it.
4238 (arguments): Remove root_dev.
4239 (argp_parser): Remove -r.
4240 (main): Remove root_dev.
4241
2f53a9ed
VS
42422012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
4245
17e1d934
VS
42462012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
4249 symbol.
4250 Reported by: NODA, Kai <nodakai>.
4251
d3e3fab5
VS
42522012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 Fix ehci on amd64.
4255
4256 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
4257 pointers.
4258 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
4259 (grub_ehci_setup_qh): Likewise.
4260 (grub_ehci_find_qh): Likewise.
4261 (grub_ehci_transaction): Likewise.
4262 (grub_ehci_setup_transfer): Likewise.
4263 (grub_ehci_check_transfer): Likewise.
4264 (grub_ehci_portstatus): Likewise.
4265 (grub_ehci_detect_dev): Likewise.
4266 (grub_ehci_transfer_controller_data): New field td_last_phys.
4267 (grub_ehci_setup_transfer): Fill td_last_phys.
4268 (grub_ehci_check_transfer): Use td_last_phys.
4269
3008675b
SG
42702012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
4271
4272 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
4273 if no submenu is present.
4274
fc9b5652
AN
42752012-02-01 Aleš Nesrsta <starous@volny.cz>
4276
4277 CBI support.
4278
4279 * include/grub/usb.h (grub_usbms_protocol_t): New values
4280 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
4281 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
4282 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
4283 (grub_usbms_dev): Add subclass, protocol and intrpt.
4284 Remove in_maxsz and out_maxsz.
4285 (grub_usbms_reset): Rename to ...
4286 (grub_usbms_bo_reset): .. this.
4287 (grub_usbms_cbi_cmd): New function.
4288 (grub_usbms_cbi_reset): Likewise.
4289 (grub_usbms_reset): Likewise.
4290 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
4291 (grub_usbms_transfer): Rename to ...
4292 (grub_usbms_transfer_bo): ... this.
4293 (grub_usbms_transfer_cbi): Likewise.
4294 (grub_usbms_transfer): Likewise.
4295
a2b81d53
AN
42962012-02-01 Aleš Nesrsta <starous@volny.cz>
42972012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
4300 the support for the CS5536 modification thereos and few bugfixes.
4301
4302 * grub-core/Makefile.core.def (ehci): New module.
4303 * grub-core/bus/usb/ehci.c: New file.
4304 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
4305 port and hubaddr. All users updated.
4306 Save port and hubaddr into dev structure.
4307 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
4308 define.
4309 * include/grub/pci.h (grub_dma_phys2virt): New function.
4310 (grub_dma_virt2phys): Likewise.
4311 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
4312
b1d51f02
VS
43132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
4316 check as some mkfs implementations omit it.
4317
fc694106
VS
43182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * docs/grub.texi (Unicode): Mention identifier and space limitations.
4321
6c0920e3
VS
43222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
4325 Add new member volname2.
4326 (grub_jfs_label): Use volname2 if available.
4327
d1a46f9a
VS
43282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
4331 over last_mounted as seen in image generated by mkfs.nilfs2.
4332 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
4333
dec8ed14
VS
43342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
4337 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
4338 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
4339
7397c69b
VS
43402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
4343 over the sector.
4344
b3fe42ad
VS
43452012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
4348 subvolume name (by removing a bogus and useless check).
4349
10476bb0
VS
43502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
4353 sizeof while on it.
4354
9c08ad87
VS
43552012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
4358 (grub_scsi_read_capacity10): ... this.
4359 (grub_scsi_read_capacity16): New function.
4360 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
4361 0xffffffff.
4362 Fix off-by-one error.
4363 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
4364 64-bit unsigned.
4365 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
4366 (grub_scsi_read_capacity10): ... this.
4367 (grub_scsi_read_capacity_data): Rename to ...
4368 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
4369 (grub_scsi_read_capacity16): New struct.
4370 (grub_scsi_read_capacity16_data): Likewise.
4371 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
4372 grub_scsi_cmd_read_capacity10.
4373 New command grub_scsi_cmd_read_capacity16.
4374
bc8d0f45
VS
43752012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 SCSI >2TiB support.
4378
4379 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
4380 (grub_scsi_write16): Likewise.
4381 (grub_scsi_read): Use read16 when necessary.
4382 (grub_scsi_write): Likewise.
4383 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
4384 (grub_scsi_write16): Likewise.
4385 (grub_scsi_cmd_t): Add READ16 and WRITE16.
4386
cc774926
VS
43872012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 SCSI write support (for usbms mainly).
4390
4391 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
4392 a const pointer.
4393 (grub_scsi_write): Implement.
4394 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
4395
67639fd7
VS
43962012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4399 variable.
4400
9079d3ed
VS
44012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * grub-core/lib/posix_wrap/string.h (memchr): New function.
4404
c6a6f204
VS
44052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * po/POTFILES.in: Regenerate.
4408
ecbf8cd1
VS
44092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
4412 with grub_printf to avoid unnecessary fatal failure.
4413
0b3b3b38
VS
44142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
4417 (INT_MAX): Likewise.
4418 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
4419 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
4420 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
4421 (strcpy): Likewise.
4422 (strstr): Likewise.
4423 (strchr): Likewise.
4424 (strncpy): Likewise.
4425 (strcat): Likewise.
4426 (strncat): Likewise.
4427 (strcoll): Likewise.
4428 * include/grub/types.h (GRUB_SHRT_MAX): New define.
4429 (GRUB_INT_MAX): Likewise.
4430
db7337a3
VS
44312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4434 unexpected error.
4435 (optimize_utf8): Likewise.
4436 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
4437
f37c87e1
VS
44382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/boot/i386/pc/lnxboot.S: Use
4441 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
4442 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
4443 location.
4444 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
4445 definition.
4446 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
4447
63fe43f3
VS
44482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
4451 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
4452 now to avoid double free.
4453 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
4454 hostdisk.
4455 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
4456 * util/grub-probe.c (escape_of_path): Always return a new copy.
4457 (print_full_name): Escape path.
4458 (probe): Don't call grub_util_devname_to_ofpath on NULL.
4459 Fix hints on abstractions.
4460
ebe2c961
VS
44612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
4464 Don't add "root" line if no compatibility hont is available.
4465 Suggested by: Seth Goldberg.
4466
2b5336a2
VS
44672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
4470 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
4471 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
4472 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
4473
74310bd8
VS
44742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
4477
c30582ba
VS
44782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * util/grub-pe2elf.c (ehdr): Make static.
4481 (shdr): Likewise.
4482 (num_sections): Likewise.
4483 (offset): Likewise.
4484
5f47782c
VS
44852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 Eliminate ofpath limits and possible overflows.
4488
4489 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
4490 (OF_PATH_MAX): Removed.
4491 (MAX_DISK_CAT): New const.
4492 (find_obppath): Use allocated rather than preallocated buffer.
4493 Return result. Argument of_path removed. All users updated.
4494 Add missing fdstat.
4495 (xrealpath): New function.
4496 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
4497 Allocate rather than use preallocated buffer. All users updated.
4498 (__of_path_common): Use allocated rather than preallocatecd buffer.
4499 Return result. Argument of_path removed. All users updated.
4500 (vendor_is_ATA): Read only needed part form the file.
4501 (check_sas): Allocate depending on contents rather than fixed.
4502 (main) [STANDALONE]: Handle NULL result.
4503
f990cbf9
VS
45042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * grub-core/normal/completion.c (iterate_dev): Close the disk.
4507
9c6e84b8
VS
45082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 Cryptodisk write support.
4511
4512 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
4513 (grub_cryptodisk_decrypt): Moved logic to ...
4514 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
4515 (grub_cryptodisk_write): Implement.
4516 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
4517 (grub_util_fd_write): ... this. Make global.
4518 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
4519
87cf9744
VS
45202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * include/grub/list.h (grub_list_remove): Don't crash if element is
4523 removed twice.
4524
ca8c0baf
VS
45252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 Rename ofconsole to console.
4528
4529 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
4530 as sysnonym to console.
4531 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
4532 * grub-core/term/ieee1275/console.c: ... this. All users updated.
4533 Rename grub_ofconsole_ to grub_console_. All users updated
4534 (grub_console_term_output): Rename "ofconsole" to "console".
4535 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
4536 as "console".
4537
64c8b8f6
VS
45382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
4541 handling.
4542 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
4543 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
4544 GRUB_DISK_DEVICE_FILE_ID.
4545
f6c434d5
VS
45462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
4549 and improve performance.
4550
5858b42d
VS
45512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
4554 missing ieee1275/ prefix on whole disk.
4555
4ed3c26b
VS
45562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
4559 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
4560
df71143e
VS
45612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4564
076e7c0f
VS
45652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Merge common RAID and LVM logic to an abstract diskfilter.
4568 Add LDM support using the same framework.
4569
4570 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
4571 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
4572 (libgrubmods): Remove grub-core/disk/raid.c and
4573 grub-core/partmap/gpt.c.
4574 * grub-core/Makefile.core.def (ldm): New module.
4575 (raid): Renamed to diskfilter. All users updated.
4576 * grub-core/disk/raid.c: Moved to ...
4577 * grub-core/disk/diskfilter.c: ... here.
4578 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
4579 (lv_num): New var.
4580 (find_array): Renamed to ...
4581 (find_lv): ... this. Support multi-LV. Skip nameless LVs
4582 (grub_is_array_readable): Renamed to ...
4583 (grub_is_lv_readable): ... this. Support multinode hierarchy.
4584 (insert_array): New argument id.
4585 (is_node_readable): New function.
4586 (scan_device): Rename to ...
4587 (scan_disk): .. this. Restrict to one disk.
4588 (scan_devices): New function.
4589 (grub_diskfilter_iterate): Support multi-LV.
4590 Skip invisible and nameless LVs.
4591 (grub_diskfilter_memberlist): Support multi-LV.
4592 (grub_diskfilter_read_node): New function.
4593 (grub_raid_read): Most of logic moved to ...
4594 (read_segment): ... here
4595 (read_lv): New function.
4596 (grub_diskfilter_get_vg_by_uuid): New function.
4597 (grub_diskfilter_make_raid): Likewise.
4598 * grub-core/disk/ldm.c: New file.
4599 * grub-core/disk/lvm.c (vg_list): Removed.
4600 (lv_count): Likewise.
4601 (scan_depth): Likewise.
4602 (is_lv_readable): Likewise.
4603 (grub_lvm_getvalue): Advance pointer past the number.
4604 (find_lv): Removed.
4605 (do_lvm_scan): Refactored into ...
4606 (grub_lvm_detect): ... this. Support raid.
4607 (grub_lvm_iterate): Removed.
4608 (grub_lvm_memberlist): Likewise.
4609 (grub_lvm_open): Likewise.
4610 (grub_lvm_close): Likewise.
4611 (read_lv): Likewise.
4612 (read_node): Likewise.
4613 (is_node_readable): Likewise.
4614 (is_lv_readable): Likewise.
4615 (grub_lvm_read): Likewise.
4616 (grub_lvm_write): Likewise.
4617 (grub_lvm_dev): Use diskfilter
4618 (GRUB_MOD_INIT): Likewise.
4619 (GRUB_MOD_FINI): Likewise.
4620 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4621 new interface.
4622 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4623 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4624 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4625 grub_diskfilter_read_node.
4626 Fix a bug with xor.
4627 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4628 grub_diskfilter_read_node.
4629 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4630 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4631 (grub_disk_dev_iterate): Move from here...
4632 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4633 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4634 Make global.
4635 (grub_hostdisk_find_partition_start): Likewise.
4636 (grub_hostdisk_os_dev_to_grub_drive): New function.
4637 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4638 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4639 * util/getroot.c (make_device_name): ... here.
4640 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4641 Move to ...
4642 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4643 * grub-core/kern/emu/hostdisk.c
4644 (convert_system_partition_to_system_disk): Move to ...
4645 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4646 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4647 * util/getroot.c (device_is_wholedisk): ... here.
4648 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4649 * util/getroot.c (find_system_device): ... here.
4650 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4651 Move to ...
4652 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4653 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4654 Move to ...
4655 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4656 Handle LDM.
4657 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4658 Move to ...
4659 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4660 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4661 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4662 DISKFILTER.
4663 * include/grub/raid.h: Renamed to ...
4664 * include/grub/diskfilter.h: ... this.
4665 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4666 (GRUB_RAID_LAYOUT_*): Make into array.
4667 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4668 (grub_diskfilter_vg): New struct.
4669 (grub_diskfilter_pv_id): Likewise.
4670 (grub_raid_member): Removed.
4671 (grub_raid_array): Likewise.
4672 (grub_diskfilter_pv): New struct.
4673 (grub_diskfilter_lv): Likewise.
4674 (grub_diskfilter_segment): Likewise.
4675 (grub_diskfilter_node): Likewise.
4676 (grub_diskfilter_get_vg_by_uuid): New proto.
4677 (grub_raid_register): Inline.
4678 (grub_diskfilter_unregister): Likewise.
4679 (grub_diskfilter_make_raid): New proto.
4680 (grub_diskfilter_vg_register): Likewise.
4681 (grub_diskfilter_read_node): Likewise.
4682 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4683 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4684 (grub_util_is_ldm): Likewise.
4685 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4686 (grub_hostdisk_find_partition_start): Likewise.
4687 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4688 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4689 New definition.
4690 (grub_gpt_partition_map_iterate): New proto.
4691 * include/grub/lvm.h (grub_lvm_vg): Removed.
4692 (grub_lvm_pv): Likewise.
4693 (grub_lvm_lv): Likewise.
4694 (grub_lvm_segment): Likewise.
4695 (grub_lvm_node): Likewise.
4696 * util/getroot.c [...]
4697 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4698 (probe_abstraction): Likewise.
4699 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4700 (main): Remove dead logic.
4701
8a7f9b9c
VS
47022012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 Simplify root device discover and don't fail when trying to open
4705 incorrect devices.
4706
4707 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4708 function.
4709 (get_diskname_from_path): Likewise.
4710 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4711 of iterating.
4712
30545b85
VS
47132012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4716
28ea58cf
VS
47172012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4720 pastthe end.
4721
692dabca
VS
47222012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * util/grub-install.in: Add missing \.
4725 Reported by: gentoofan
4726
f6e4ea70
VS
47272012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4730 (direct_read): Use correct compressed size.
4731 (grub_squash_read_data): Likewise.
4732
47332012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4734
4735 * docs/grub.texi (Platform limitations): New section.
4736 (Platform-specific operations): Likewise.
4737 * docs/grub-dev.texi (Porting): Likewise.
4738
76261110
VS
47392012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 IEEE1275 disk write support.
4742
4743 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4744 const void *.
4745 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4746 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4747 and seek loginc to ...
4748 (grub_ofdisk_prepare): ... here.
4749 (grub_ofdisk_write): Implement.
4750
fc36d603
VS
47512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 ARC disk write support.
4754
4755 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4756 (reopen): New argument writable. All users updated.
4757 Handle required access mode.
4758 (grub_arcdisk_write): Implement.
4759 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4760 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4761
e06c2e7a
VS
47622012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4765 (read_sblock): Don't attempt to read superblocks outside the disk size.
4766
ff447958
VS
47672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4770 first superblock to find the second one when possible.
4771
9e88df39
VS
47722012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * util/grub-install.in: Fix an ARC bug.
4775 Print a warning if no platform-specific setup is available.
4776
bb26e4ff
VS
47772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 Use static allocation rather than scratch pointer in reed_solomon.
4780 It decreases its size significantly and avoids a variable in .text.
4781
4782 * grub-core/lib/reed_solomon.c (scratch): Removed.
4783 (chosenstat): New const or static array.
4784 (sigma): Likewise.
4785 (errpot): Likewise.
4786 (errpos): Likewise.
4787 (sy): Likewise.
4788 (mstat): Likewise.
4789 (errvals): Likewise.
4790 (eqstat): Likewise.
4791 (pol_evaluate): Replace x with log_x argument. All users updated.
4792 (syndroms): Removed.
4793 (gauss_solve): Use statically allocated arrays.
4794 (rs_recover): Likewise.
4795 Calculate syndroms directly.
4796 (decode_block): Use statically allocated arrays.
4797 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4798 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4799
2e13ede5
VS
48002012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 Eliminate fixed limit on reed solomon decoder length.
4803
4804 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4805 rather than hardcoding the address.
4806 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4807 no_reed_solomon_length.
4808 Move gate_a20 to no-reed-solomon part.
4809 Don't force a particular size of no reed-solomon part.
4810 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4811 Removed.
4812 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4813 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4814
f8a9ab12
VS
48152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/commands/wildcard.c (match_files): Handle filenames
4818 without explicit device.
4819 (wildcard_expand): Don't add explicit device if not already present.
4820 * tests/grub_script_echo1.in: Add a new expansion test.
4821
87edb894
VS
48222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 Replace single-linked with double-linked lists. It results in more
4825 compact and more efficient code.
4826
4827 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4828 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4829 (grub_list_remove): Moved from here ...
4830 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4831 (grub_prio_list_insert): Set prev.
4832 * include/grub/list.h (grub_list): Add prev. All users updated.
4833
48b391e9
VS
48342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 Handle newer autotools. Add some missing quotes while on it.
4837
4838 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4839 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4840 (pkgdata_DATA): ... here.
4841 * Makefile.util.def (update-grub_lib): Removed.
4842 * conf/Makefile.common (pkglib_DATA): Removed.
4843 (pkglib_SCRIPTS): Likewise.
4844 (pkgdata_DATA): New variable.
4845 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4846 needed.
4847 Add missing quotes.
4848 Remove unused variable while on it.
4849 * tests/util/grub-shell.in: Likewise.
4850 * util/grub-install.in: Likewise.
4851 * util/grub-mkconfig.in: Likewise.
4852 * util/grub-mknetdir.in: Likewise.
4853 * util/grub-mkrescue.in: Likewise.
4854 * util/grub-mkstandalone.in: Likewise.
4855 * util/grub.d/00_header.in: Likewise.
4856 * util/grub.d/10_hurd.in: Likewise.
4857 * util/grub.d/10_illumos.in: Likewise.
4858 * util/grub.d/10_kfreebsd.in: Likewise.
4859 * util/grub.d/10_linux.in: Likewise.
4860 * util/grub.d/10_netbsd.in: Likewise.
4861 * util/grub.d/10_windows.in: Likewise.
4862 * util/grub.d/20_linux_xen.in: Likewise.
4863 * util/grub.d/30_os-prober.in: Likewise.
4864 * util/update-grub_lib.in: Removed.
4865
48662012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4867
4868 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4869 a workaround for intel problem.
4870
66832792
PRP
48712012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
48722012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
48732012-01-23 pfsmorigo
4874
4875 * util/grub-install.in: Support dd'in into PreP partition.
4876 * util/grub-probe.c (probe): Support discovering partition type.
4877 (main): Support -t msdos_parttype.
4878
7816a17e
VS
48792012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4882 infinite recursion using counter.
4883 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4884 init to skip it if the magic check fails.
4885 (dec_stream_header): Init s->crc32.
4886
8f9d3a8c
ZB
48872012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
48882012-01-22 Zachary Bedell <pendorbound@gmail.com>
48892012-01-22 Richard Laager <rlaager@wiktel.com>
4890
4891 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4892 All users updated.
4893 (find_bestub): Determine correct size.
4894 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4895 (scan_disk): Align the size down.
4896 Call check pool before find_bestub to have ashift.
4897
b055dd32
VS
48982012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4901 dprintf in no-malloc zone.
4902
d779e9bd
ML
49032012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4904
4905 * configure.ac: Add back in test for limits.h.
4906
b508af69
VS
49072012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 Support 4K-sector NTFS.
4910
4911 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4912 (grub_ntfs_data): Remove blocksize.
4913 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4914 Remove data argument. All users updated.
4915
dad9c8b5
VS
49162012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4919 being in .text to avoid dprel references.
4920 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4921 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4922 (grub_arch_highmemsize): Likewise.
4923 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4924 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4925 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4926
d43a777e
VS
49272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4930
4931 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4932 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4933
34e4208f
VS
49342012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4937 GRUB_UTIL.
4938 (grub_set_datetime_cmos): Likewise.
4939
3ec0fc1c
VS
49402012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 Make XZ compression parameters dependent on target and not host CPU.
4943
4944 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4945 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4946
22489834
VS
49472012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4950 set but not used variable.
4951
8502fbca
VS
49522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4955 created when no uuid support is compiled into mkfs.reiser.
4956
76df2068
VS
49572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4960 (utf8_to_macroman): Do the opposite.
4961 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4962
64e3f8f6
VS
49632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * configure.ac: Refise build qemu_mips w/o unifont.
4966
9c271078
VS
49672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 Eliminate grub_min/grub_max prone to overflow usage.
4970
4971 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4972 (poll_nonroot_hub): Likewise.
4973 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4974 (grub_affs_label): Likewise.
4975 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4976 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4977 (grub_hfs_label): Likewise.
4978 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4979 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4980 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4981 (zap_leaf_array_get): Likewise.
4982 (dnode_get_path): Likewise.
4983 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4984 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4985 * grub-core/script/execute.c (grub_script_break): Likewise.
4986 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4987 grub_max.
4988 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4989 * include/grub/misc.h (grub_min): Removed.
4990 (grub_max): Likewise.
4991
80662dbc
VS
49922012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4993
4994 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4995 direct.inode = 0.
4996
e6da1467
VS
49972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5000
b1ac4cb1
VS
50012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5004
b4bf7c3b
VS
50052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5008 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5009
8ee1101a
VS
50102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5013 rather than a hack for grub_strncasemap.
5014
50152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 Support multiple initrds
5018 Note: part of this was accidently committed in r3739.
5019
5020 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5021 initrd.
5022 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5023 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5024 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5025 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5026 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5027
4d1e2bc9
VS
50282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5031 disks with unknown size.
5032 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5033
75b49ebe
VS
50342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 Remove defines pertaining to arbitrary limits not affecting GRUB
5037 anymore.
5038
5039 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5040 (EXT2_MAX_SYMLINKCNT): Likewise.
5041 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5042 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5043 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5044 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5045 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5046 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5047 (DN_MAX_OBJECT_SHIFT): Likewise.
5048 (DN_MAX_OFFSET_SHIFT): Likewise.
5049 (DN_MAX_OBJECT): Likewise.
5050 (DNODES_PER_LEVEL_SHIFT): Likewise.
5051 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5052 (SPA_MAXBLOCKSIZE): Likewise.
5053 (SPA_BLOCKSIZES): Likewise.
5054 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5055 (MZAP_MAX_BLKSZ): Likewise.
5056
74a1dce7
VS
50572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5060 handle NULL appropriately.
5061 Remove MIN.
5062
30c7d3ce
VS
50632012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 Fix efiemu.
5066
5067 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5068 cpu/types.h.
5069 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5070 * configure.ac: Fix efiemu check.
5071
3c76ea0c
VS
50722012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5075 grub_probe.
5076 Reported by: adamwill
5077
7e532280
SG
50782012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5079
5080 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5081
30492374
VS
50822012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 Fix handling of wide characters in gfxterm.
5085
5086 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5087 (clear_char): Likewise.
5088 (paint_char): Skip code == NULL chars.
5089 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5090
e70cb72f
VS
50912012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/normal/charset.c: Move comment to right place.
5094
5c827cf9
VS
50952012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5098 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5099 (grub_affs_mount): Revert the correct version checking.
5100
53603892
VS
51012012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * docs/grub.texi (Unicode): Mention several other unsupported features.
5104
ff094b9b
VS
51052011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5108 case statements as compile-time one.
5109 (direct_read): Prevent spurious warnings.
5110 (grub_squash_read_data): Likewise.
5111
c029da8a
VS
51122011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 Various squash4 fixes and LZO and XZ support.
5115
5116 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5117 Add xzembed source files.
5118 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5119 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5120 (grub_squash_inode): New subtype long_dir.
5121 (SQUASH_TYPE_LONG_DIR): New inode type.
5122 (COMPRESSION): New enum.
5123 (XZBUFSIZ): New const.
5124 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5125 (read_chunk): Use data->decompress.
5126 (zlib_decompress): New function.
5127 (lzo_decompress): Likewise.
5128 (xz_decompress): Likewise.
5129 (squash_mount): Set new data fields.
5130 (grub_squash_iterate_dir): Handle long dir.
5131 (squash_unmount): Free xzdec and xzbuf.
5132 (grub_squash_open): Check ino type.
5133 (direct_read): Stylistic fixes. Use data->decompress.
5134 (grub_squash_read_data): Likewise.
5135 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5136 (get_byte): Likewise.
5137 (grub_zlib_disk_read): Removed.
5138 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5139 (GRUB_POSIX_BOOL_DEFINED): New define.
5140 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5141 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5142 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5143 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5144
7a45a539
VS
51452011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 Don't override more informative errors.
5148
5149 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5150 * grub-core/font/font.c (open_section): Likewise.
5151 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5152 filename. Don't override errors.
5153 (grub_cmd_openbsd_ramdisk): Don't override errors.
5154 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5155 (grub_cmd_initrd): Likewise.
5156 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5157 (grub_cmd_initrd): Likewise.
5158 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5159 (grub_cmd_linux): Likewise.
5160 (grub_cmd_initrd): Likewise.
5161 (grub_cmd_payload): Likewise.
5162 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5163 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5164 (grub_cmd_module): Likewise.
5165 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5166 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5167 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5168 (grub_cmd_xnu_mkext): Likewise.
5169 (grub_cmd_xnu_ramdisk): Likewise.
5170 (grub_xnu_check_os_bundle_required): Likewise.
5171 (grub_xnu_load_kext_from_dir): Likewise.
5172 (grub_cmd_xnu_kextdir): Likewise.
5173 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5174
b2d004db
VS
51752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5178 as 1024 in block size field. Found on one of my test images.
5179 Small optimisation while on it.
5180
ec000eac
VS
51812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5184 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5185 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5186 performance fixes while on it.
5187 (grub_sfs_close): Fix memory leak while on it.
5188 (grub_sfs_label): Convert Latin1 to UTF-8.
5189
f50e1165
VS
51902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5193 space to avoid overflows.
5194 (grub_hfs_label): Convert from macroman to UTF-8.
5195
2ae254de
VS
51962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5199
0108f491
VS
52002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5203
f45f5f89
VS
52042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * unicode: Import Unicode 6.0 data.
5207
4d8c4765
VS
52082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5209
63fa8ef9
VS
5210 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5211 outside of range.
5212
52132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
5216
5217 * include/grub/charset.h (grub_getend): New function.
5218 * grub-core/script/function.c (grub_script_function_find): Use
5219 grub_getend.
5220 * grub-core/normal/completion.c (add_completion): Likewise.
5221
f3cb4a4e
VS
52222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
5225 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
5226 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
5227 (GRUB_UNICODE_TAG_END): Likewise.
5228 (GRUB_UNICODE_LAST_VALID): Likewise.
5229
5da8dbc5
VS
52302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
5233 len and make it smaller. All users updated.
5234 * util/import_unicode.py: Put length and not end character.
5235 Check length.
5236
8569f13d
VS
52372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Make better Unicode-compliant and unify some UTF-8 code pathes.
5240
5241 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
5242 valid character.
5243 (grub_is_valid_utf8): Use grub_utf8_process.
5244 Check resulting code range.
5245 (grub_utf8_to_ucs4): Use grub_utf8_process.
5246 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
5247 valid character.
5248
cc4fddf5
VS
52492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
5252
bbc47747
VS
52532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * docs/grub.texi (Filesystems): Mention AFS.
5256
f63d6bf4
VS
52572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * docs/grub.texi (Filesystems): Clarify restrictions.
5260 (Regexp): Mention non-Unicode regexp behaviour.
5261 (Other): Mention non-Unicode matching behaviour.
5262
74bbf0db
VS
52632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5264
f63d6bf4 5265 Make HFS implementation use MacRoman.
74bbf0db
VS
5266
5267 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
5268 (macroman): New const array.
5269 (macroman_to_utf8): New function.
5270 (utf8_to_macroman): Likewise.
5271 (grub_hfs_find_dir): Use utf8_to_macroman.
5272 (grub_hfs_dir): Use macroman_to_utf8.
5273 Set case_insensitive.
5274
4ea0316e
VS
52752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
5278
d3c13cbd
VS
52792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 Integrate hints into autogeneration scripts.
5282
5283 * docs/grub.texi (Filesystems): Add a hostdisk example.
5284 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
5285 (grub-probe): Add ofpath.
5286 * gentpl.py: Remove group nosparc64.
5287 * grub-core/commands/search.c (cache_entry): New struct.
5288 (cache): New var.
5289 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
5290 * grub-core/commands/search_wrap.c (options): Add platform-specific
5291 hint options.
5292 (grub_cmd_search): Handle platform-specific hints.
5293 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
5294 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
5295 (grub_util_biosdisk_data): Likewise.
5296 (grub_util_biosdisk_open): Set device_map.
5297 (read_device_map): Handle "" as indication of no map.
5298 Set device_map.
5299 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
5300 (grub_util_biosdisk_get_compatibility_hint): New function.
5301 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
5302 * include/grub/emu/hostdisk.h
5303 (grub_util_biosdisk_get_compatibility_hint): New proto.
5304 * util/grub-install.in: Don't call grub-mkdevicemap.
5305 Add platform-specific hint to load.cfg.
5306 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
5307 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5308 hints. Set root preliminary to compatibility hint, not to OS name.
5309 * util/grub-probe.c (PRINT_*): Add hints.
5310 (print): Make static.
5311 (escape_of_path): New function.
5312 (guess_bios_drive): Likewise.
5313 (guess_efi_drive): Likewise.
5314 (guess_baremetal_drive): Likewise.
5315 (print_full_name): Likewise.
5316 (probe): Handle hints.
5317 (main): Likewise.
5318 * util/ieee1275/devicemap.c: Removed.
5319 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
5320 updated.
5321 (grub_util_devname_to_ofpath): Return NULL on failure.
5322
5323 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
5324 resource leak.
5325 * util/getroot.c (grub_util_pull_device): Fix memory leak.
5326
5327 * po/POTFILES.in: Regenerated.
5328
5329 Allow purely long options
5330
5331 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
5332 (SHORT_ARG_USAGE): Likewise.
5333 (grub_arg_show_help): Compare opt with help_options.
5334 (parse_option): Receive opt as argument. If makes big simplificatons.
5335 All users updated
5336
00ce2df3
VS
53372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
5340 Restructure to avoid warning.
5341
e77e325f
VS
53422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * util/grub-install.in: Account for possible escaped comma in device
5345 name.
5346
165099ea
VS
53472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
5350 channel.
5351
ce4a999d
VS
53522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
5355 allocation and zero-setting.
5356 (grub_ieee1275_get_devname): Check that alias is complete.
5357
379586ad
VS
53582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
5361 unaligned segments.
5362
9197b0ad
VS
53632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
5366 prefix.
5367 (grub_ofdisk_open): Check and discard ieee1275 prefix.
5368 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5369 Add ieee1275 prefix.
5370
edddb7f9
VS
53712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * docs/grub.texi (Filesystems): Update.
5374
a1a8b1b9
VS
53752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 Support odc, newc and bigendian cpio formats.
5378
5379 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
5380 * grub-core/Makefile.core.def (newc): New module.
5381 (odc): Likewise.
5382 (cpio_be): Likewise.
5383 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
5384 (MAGIC): Likewise.
5385 (MAGIC2): Likewise.
5386 (head) [MODE_ODC]: Adapt for the format.
5387 (head) [MODE_NEWC]: Likewise.
5388 (head) [!MODE_*]: Write fields of interest as arrays.
5389 (MAGIC_USTAR): Removed.
5390 (read_number) [MODE_NEWC]: Change to hex.
5391 (read_number) [!MODE_*]: Parse binary arrays.
5392 (grub_cpio_find_file): Factor out the code for better structure and
5393 always use read_number.
5394 (grub_cpio_mount): Use MAGIC and MAGIC2.
5395 (grub_cpio_dir): Exit on first hook non-0 return.
5396 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
5397 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
5398 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
5399 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
5400 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
5401 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
5402 * grub-core/fs/newc.c: New file.
5403 * grub-core/fs/odc.c: Likewise.
5404 * grub-core/fs/cpio_be.c: Likewise.
5405
58eba9ee
VS
54062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 Fix handling of tar numbers occupying the whole field.
5409
5410 * grub-core/fs/cpio.c (read_number): New function.
5411 (grub_cpio_find_file): Use read_number instead of strtoull.
5412
a54a0e12
VS
54132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
5416 occupying the whole field size.
5417
a6120aca
LA
54182011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
5419
5420 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
5421
a93964ce
VS
54222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
5425
3ea1ca46
SG
54262011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
5427
5428 * grub-core/Makefile.core.def (lzma_decompress): Add missing
5429 TARGET_IMG_LDFLAGS.
5430
b87f7ef2
VS
54312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * util/getroot.c (ESCAPED_PATH_MAX): New define.
5434 (mountinfo_entry): Increase the field size to take escaping into
5435 account.
5436 (find_root_device_from_libzfs): Add one byte to size of strings for
5437 security.
5438
62092395
VS
54392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
5442 an assert.
5443 * util/grub-setup.c (setup): Likewise.
5444
1f0b1a77
VS
54452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
5448 _LzmaDecodeA.
5449
8eba9997
VS
54502011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * docs/grub.texi (Internationalisation): New section.
5453
dd0c91e9
VS
54542011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * docs/grub.texi (Loopback booting): New section.
5457
54582011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
5459
5460 * util/grub-mkstandalone.in: Fix minor typo errors.
5461
198e150a
VS
54622011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
5465
5466 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
5467 net/icmp.c and net/icmp6.c.
5468 (http): New module.
5469 (priority_queue): Likewise.
5470 * grub-core/io/bufio.c: Rewritten.
5471 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
5472 TYPE_WITH_CONFIGFILE_OPTION.
5473 (legacy_commands): Add bootp and dhcp.
5474 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
5475 (grub_legacy_parse): Likewise.
5476 * grub-core/lib/priority_queue.c: New file.
5477 * grub-core/net/arp.c: Add missing license header.
5478 (arp_find_entry): Removed.
5479 (arp_find_entry): Likewise.
5480 (grub_net_arp_resolve): Rename to ...
5481 (grub_net_arp_send_request): ...this.
5482 (grub_net_arp_receive): New card argument.
5483 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
5484 Set router and DNS server.
5485 (grub_net_configure_by_dhcp_ack): Handle routing information.
5486 (grub_cmd_bootp): Set checksum.
5487 (grub_bootp_init): Remove net_dhcp.
5488 * grub-core/net/dns.c: New file.
5489 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
5490 completion.
5491 (get_card_packet): Handle allocation.
5492 (grub_efinet_findcards): Set mtu.
5493 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
5494 (get_card_packet): Handle allocation.
5495 (emucard): Set mtu.
5496 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
5497 (GRUB_MOD_INIT): Set mtu.
5498 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
5499 mtu.
5500 (get_card_packet): Handle allocation.
5501 (grub_ofnet_findcards): Set mtu.
5502 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
5503 assert.
5504 (grub_net_recv_ethernet_packet): Handle IPv6.
5505 * grub-core/net/http.c: New file.
5506 * grub-core/net/icmp.c: Likewise.
5507 * grub-core/net/icmp6.c: Likewise.
5508 * grub-core/net/ip.c (ip6addr): New type.
5509 (ip6hdr): Likewise.
5510 (reassemble): Likewise.
5511 (cmp): New function.
5512 (reassembles): New variable.
5513 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
5514 (id): New variable.
5515 (send_fragmented): New function.
5516 (grub_net_send_ip_packet): Rename to ...
5517 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
5518 Handle non-UDP.
5519 (grub_net_recv_ip_packets): Rename to ...
5520 (handle_dgram): ... this. Check checksum. Handle non-UDP.
5521 (free_rsm): New function.
5522 (free_old_fragments): Likewise.
5523 (grub_net_recv_ip4_packets): New function.
5524 (grub_net_send_ip6_packet): Likewise.
5525 (grub_net_send_ip_packet): Likewise.
5526 (grub_net_recv_ip6_packets): Likewise.
5527 (grub_net_recv_ip_packets): Likewise.
5528 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
5529 (LINK_LAYER_CACHE_SIZE): New const.
5530 (link_layer_find_entry): New function.
5531 (grub_net_link_layer_add_address): Likewise.
5532 (grub_net_link_layer_resolve_check): Likewise.
5533 (grub_net_link_layer_resolve): Likewise.
5534 (grub_net_ipv6_get_slaac): Likewise.
5535 (grub_net_ipv6_get_link_local): Likewise.
5536 (grub_cmd_ipv6_autoconf): Likewise.
5537 (parse_ip): Handle one number representation.
5538 (parse_ip6): New functoion.
5539 (match_net): Handle IPv6.
5540 (grub_net_resolve_address): Handle IPv6 and DNS.
5541 (grub_net_resolve_net_address): Handle IPv6.
5542 (route_cmp): New function.
5543 (grub_net_route_address): Find best route.
5544 (grub_net_addr_to_str): Handle IPv6.
5545 (grub_net_addr_cmp): New function.
5546 (grub_net_add_addr): Register local route.
5547 (print_net_address): Handle net address.
5548 (grub_net_poll_cards): Retransmit TCP.
5549 (grub_net_poll_cards_idle_real): Likewise.
5550 (have_ahead): New function.
5551 (grub_net_seek_real): Use underlying seek.
5552 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
5553 * grub-core/net/tcp.c: New file.
5554 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
5555 (cmp): New function.
5556 (ack): Likewise.
5557 (tftp_receive): Handle unordered input.
5558 (destroy_pq): New function.
5559 (tftp_close): Close pq.
5560 * grub-core/net/udp.c: Put missing license header.
5561 (grub_net_udp_socket): New function.
5562 (udp_socket_register): Likewise.
5563 (grub_net_udp_close): Likewise.
5564 (grub_net_recv_udp_packet): Check checksum.
5565 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
5566 * include/grub/misc.h (grub_memchr): New function.
5567 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
5568 (grub_net_card_driver): Return buf in recv.
5569 (grub_net_slaac_mac_list): New struct.
5570 (grub_network_level_protocol_id): Add ipv6.
5571 (grub_net_network_level_addr): Likewise.
5572 (grub_net_network_level_net_addr): Likewise.
5573 (grub_net_app_protocol): Add seek.
5574 (grub_net_socket): Removed.
5575 (grub_net_sockets): Likewise.
5576 (grub_net_socket_register): Likewise.
5577 (grub_net_socket_unregister): Likewise.
5578 (FOR_NET_SOCKETS): Likewise.
5579 (grub_net_add_addr): Add const.
5580 (GRUB_NET_BOOTP_*): New enum.
5581 (grub_net_addr_cmp): New proto.
5582 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
5583 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
5584 (grub_net_hwaddr_to_str): NEw proto.
5585 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
5586 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
5587 (grub_dns_init): New proto.
5588 (grub_dns_fini): Likewise.
5589 (grub_net_tcp_retransmit): Likewise.
5590 (grub_net_link_layer_add_address): Likewise.
5591 (grub_net_link_layer_resolve_check): Likewise.
5592 (grub_net_link_layer_resolve): Likewise.
5593 (grub_net_dns_lookup): Likewise.
5594 (grub_net_add_dns_server): Likewise.
5595 (grub_net_remove_dns_server): Likewise.
5596 (GRUB_NET_TRIES): New const.
5597 (GRUB_NET_INTERVAL): Likewise.
5598 * include/grub/net/arp.h: Mostly rewritten.
5599 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5600 * include/grub/net/ip.h: Mostly rewritten.
5601 * include/grub/net/netbuff.h: Indent.
5602 * include/grub/net/tcp.h: New file.
5603 * include/grub/net/udp.h: Mostly rewritten.
5604 * include/grub/priority_queue.h: New file.
5605 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5606 (grub_swap_bytes64_compile_time): Likewise.
5607 (grub_cpu_to_be16_compile_time): Likewise.
5608 (grub_cpu_to_be32_compile_time): Likewise.
5609 (grub_cpu_to_be64_compile_time): Likewise.
5610 (grub_be_to_cpu64_compile_time): Likewise.
5611
215c1800
VS
56122011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5615 UINT_TO_PTR with cast.
5616
c17e546c
VS
56172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5620 don't use them.
5621
ff6b18b6
VS
56222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5625 already there.
5626
70ffcc93
VS
56272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5630 confusing ipxe.
5631
e5f4d260
VS
56322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5635 Add missing const attribute.
5636 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5637 Likewise.
5638 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5639 Likewise.
5640
8e54b4b7
VS
56412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5644 misaligned access.
5645 (serpent_setkey): Likewise.
5646 (serpent_encrypt_internal): Likewise.
5647 (serpent_decrypt_internal): Likewise.
5648 (serpent_encrypt): Don't put an alignment-increasing cast.
5649 (serpent_decrypt): Likewise.
5650 (serpent_test): Likewise.
5651
813c0a2b
VS
56522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5655
f2b60fbd
VS
56562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5659
5660 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5661 grub_addr_t casts.
5662 (PTR_TO_UINT64): Likewise.
5663 (PTR_TO_UINT32): Likewise.
5664
5ef5c511
VS
56652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5668 because of stack.
5669 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5670 limit.
5671
c476e6df
VS
56722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5675 text_width > available width a bit more gracefully.
5676
384ad7cc
VS
56772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5680 current address calculation.
5681
96f8caf8
VS
56822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5685 stack.
5686 (encode_block): Likewise.
5687
276b7a8b
VS
56882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5691 certainety.
5692
e3fd394a
VS
56932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5696 non-RS part to avoid RS messing with GDT.
5697 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5698 Increase to suit in realmode routines.
5699
57002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/kern/i386/realmode.S: Increase alignment.
5703 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5704
ee9c2e7a
VS
57052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5708 be deterministic.
5709 (syndroms): Compute 0 syndrom.
5710 (rs_recover): Use 0 syndrom.
5711
7a7f7cc9
VS
57122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5715
a14b16d1
VS
57162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5719 brackets.
5720
9f59e9fc
VS
57212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5722
ca1b552c
VS
5723 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5724 account.
5725 (get_top_pad): Likewise.
5726 (get_right_pad): Likewise.
5727 (get_bottom_pad): Likewise.
5728
57292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5732
e739d698
VS
57332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5736 attribute as the structure isn't guaranteed to be properly aligned.
5737 (grub_efi_pci_device_path): Likewise.
5738 (grub_efi_pccard_device_path): Likewise.
5739 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5740 specify the size of `memory_type'.
5741 (grub_efi_vendor_device_path): Likewise.
5742 (grub_efi_controller_device_path): Likewise.
5743 (grub_efi_acpi_device_path): Likewise.
5744 (grub_efi_expanded_acpi_device_path): Likewise.
5745 (grub_efi_atapi_device_path): Likewise.
5746 (grub_efi_scsi_device_path): Likewise.
5747 (grub_efi_fibre_channel_device_path): Likewise.
5748 (grub_efi_1394_device_path): Likewise.
5749 (grub_efi_usb_device_path): Likewise.
5750 (grub_efi_usb_class_device_path): Likewise.
5751 (grub_efi_i2o_device_path): Likewise.
5752 (grub_efi_mac_address_device_path): Likewise.
5753 (grub_efi_ipv4_device_path): Likewise.
5754 (grub_efi_ipv6_device_path): Likewise.
5755 (grub_efi_infiniband_device_path): Likewise.
5756 (grub_efi_uart_device_path): Likewise.
5757 (grub_efi_vendor_messaging_device_path): Likewise.
5758 (grub_efi_hard_drive_device_path): Likewise.
5759 (grub_efi_cdrom_device_path): Likewise.
5760 (grub_efi_vendor_media_device_path): Likewise.
5761 (grub_efi_file_path_device_path): Likewise.
5762 (grub_efi_protocol_device_path): Likewise.
5763 (grub_efi_piwg_device_path): Likewise.
5764 (grub_efi_bios_device_path): Likewise.
5765
cb8f88ea
VS
57662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5769 (grub_ucs4_to_utf8_alloc): Likewise.
5770 (grub_ucs4_to_utf8): Likewise.
5771 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5772 (grub_ucs4_to_utf8_alloc): Likewise.
5773
309e5352
VS
57742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 AFFS never uses unicode.
5777
5778 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5779 (grub_latin1_to_utf8): New inline function.
5780 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5781
e7987e1b
VS
57822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5785 overflow.
5786
efc2616e
VS
57872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5790 (grub_squash_dirent_header): Likewise.
5791 (read_chunk): Don't double swap.
5792 (grub_squash_iterate_dir): Fix swap sizes.
5793
3c349f5a
VS
57942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5797
b453412d
VS
57982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5801 (grub_hfs_iterate_dir): Likewise.
5802
12e9d4d1
VS
58032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 Fix video on platforms where unaligned access is forbidden.
5806 Make several optimisations while on it.
5807
5808 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5809 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5810 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5811 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5812 Disable.
5813 (grub_video_fbblit_replace_16bit_1bit):
5814 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5815 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5816 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5817 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5818 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5819 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5820 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5821 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5822 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5823 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5824 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5825 (grub_video_fbblit_replace_index_RGB888): Likewise.
5826 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5827 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5828 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5829 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5830 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5831 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5832 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5833 Disable.
5834 (grub_video_fbblit_blend_XXX565_1bit):
5835 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5836 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5837 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5838 void *.
5839 * grub-core/video/fb/video_fb.c (common_blitter)
5840 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5841 (grub_video_fb_create_render_target_from_pointer)
5842 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5843 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5844 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5845 definition.
5846 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5847
ace96609
VS
58482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5851 HH22 and HM10 relocations.
5852
fd261d73
VS
58532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5856
e59b7857
VS
58572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5860 allocation succeeded.
5861
9b4baaa4
VS
58622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5865 argument a u8 pointer. All users updated.
5866 Handle unaligned buffers.
5867
dc713193
VS
58682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5871 add_part to workaround compiler bug.
5872
30dd48c2
VS
58732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5876
0c6087a8
VS
58772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5880 Reserve alignment invariants.
5881 (grub_multiboot_load): Likewise.
5882 (retrieve_video_parameters): Likewise.
5883 (grub_multiboot_make_mbi): Likewise.
5884
c2e77777
VS
58852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5888 incorrect pointer.
5889
b70b6d11
VS
58902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5893 (grub_pata_pio_write): Likewise.
5894
02a2bf83
VS
58952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Add noreturn attributes and remove unreachable code.
5898
5899 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5900 code.
5901 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5902 code. Mark as noreturn.
5903 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5904 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5905 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5906 unreachable code.
5907 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5908 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5909 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5910 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5911 * include/grub/kernel.h (grub_main): Mark as noreturn.
5912 * include/grub/reader.h (grub_rescue_run): Likewise.
5913
2019d09e
VS
59142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5917 redundant declaration.
5918
d1c501ee
VS
59192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5922 redundant declaration.
5923 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5924
61664420
VS
59252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5928 to ensure alignment.
5929 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5930 alignment. Ensure tmp alignment.
5931 (grub_cmd_hdparm): Ensure buf alignment.
5932 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5933 to ensure alignment.
5934 (grub_ata_dumpinfo): Ensure text alignment.
5935 (grub_atapi_identify): Preserve alignment invariant.
5936 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5937
0d51ee20
VS
59382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5941 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5942 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5943 * include/grub/misc.h (grub_reboot)
5944 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5945 (grub_halt) [__mips__]: Likewise.
5946
753ef8c1
VS
59472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5950 Remove redundant declaration.
5951 (grub_mmap_get_post64): Likewise.
5952 (grub_mmap_get_upper): Likewise.
5953 (grub_mmap_get_lower): Likewise.
5954
85c85365
VS
59552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5958 uint32_t * to ensure alignment.
5959 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5960
a23f2cc4
VS
59612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5962
93018f64
VS
5963 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5964 uint16_t * to ensure alignment.
5965 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5966 alignment.
5967
59682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5971 to ensure alignment.
5972 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5973
58acccd6
VS
59742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5977 Handle unaligned pointers.
5978 (u32at): Likewise.
5979 (u64at): Likewise.
5980 (fixup): Use byte access instead of v16at.
5981 (find_attr): Fix imporper usage of v32at.
5982 (read_data): Likewise.
5983 (list_file): Handle byte-swapping and unaligned strings.
5984 (grub_ntfs_label): Likewise.
5985
9b05cad7
VS
59862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5989 as it's not necessarily aligned.
5990
b3950b84
VS
59912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5994 redundant declaration.
5995 (grub_serial_init): Likewise.
5996 (grub_terminfo_init): Likewise.
5997
fcd232b7
VS
59982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6001 function.
6002 (ZAP_HASH_IDX): Likewise.
6003 (ZAP_LEAF_HASH_SHIFT): Likewise.
6004 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6005 (LEAF_HASH): Likewise.
6006 (ZAP_LEAF_NUMCHUNKS): Likewise.
6007 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6008 alignment invariants. Return pointer. All users updated.
6009 (ZAP_LEAF_ENTRY): Make into inline function.
6010 (NBBY): Removed.
6011 (xor): LIkewise.
6012 (xor_out): Use grub_crypto_xor.
6013 (dnode_get_path): Use grub_get_unaligned.
6014 (nvlist_find_value): Likewise.
6015 (grub_zfs_nvlist_lookup_uint64): Likewise.
6016 (grub_zfs_nvlist_lookup_string): Likewise.
6017 (get_nvlist_size): Likewise.
6018 (grub_zfs_open): Likewise.
6019 (fill_fs_info): Likewise.
6020 (grub_zfs_dir): Likewise.
6021 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6022 alignment invariants.
6023 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6024 necessarily aligned.
6025
f138623a
VS
60262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6029
564840dc
VS
60302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6033 arithmetic to conserve alignment invariants.
6034
9b40df20
VS
60352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6038 redundant declaration.
6039 (grub_efiemu_mm_obtain_request): Likewise.
6040 (grub_efiemu_prepare): Likewise.
6041
d1c930f9
VS
60422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6045 to match types.
6046
4c5f3056
VS
60472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6050 case of aunaligned recptr.
6051 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6052 alignment.
6053 (grub_hfsplus_btree_search): Handle unaligned index.
6054
728cba91
VS
60552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6058 to get freetag and skip.
6059
eb561f31
VS
60602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6063 array.
6064 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6065 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6066
20993fbb
VS
60672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6070 name for checksum and fix allocation algorithm.
6071
1f313b94
VS
60722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * include/grub/types.h (grub_properly_aligned_t): New type.
6075 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6076 (grub_get_unaligned16): Add explicit casts.
6077 (grub_get_unaligned32): Likewise.
6078 (grub_get_unaligned64): Likewise.
6079 (grub_set_unaligned16): New function.
6080 (grub_set_unaligned32): Likewise.
6081
47ae27ec
VS
60822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6085
78c2cd1c
VS
60862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6089 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6090 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6091
53072f9b
VS
60922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6095 conditionals.
6096
055dc239
VS
60972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6100 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6101
496bd074
VS
61022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 Unify and improve RAID and crypto xor.
6105
6106 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6107 changed to grub_crypto_xor
6108 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6109 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6110 Use bigger types when possible.
6111
ef6e4335
VS
61122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * grub-core/disk/raid.c (scan_devices): Fix condition.
6115
5d048bf2
VS
61162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6119 Make name a const ptr.
6120
ee533335
VS
61212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6124 first argument a const pointer.
6125 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6126 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6127 proto.
6128 (grub_children_iterate): Likewise.
6129 (grub_machine_mmap_iterate): Remove redundant declaration.
6130
cc8f3668
VS
61312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6134 (grub_cmd_acpi) [!x86]: Disable EBDA.
6135
c5fc563a
VS
61362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 Enable UTF8 in gnulib regexp.
6139
6140 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6141 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6142 (isupper): Use grub_isupper.
6143 (isascii): New inline function.
6144 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
6145 * grub-core/lib/posix_wrap/wctype.h: Likewise.
6146 * grub-core/normal/charset.c (grub_utf8_process): New function.
6147 (grub_utf8_to_utf16): Use grub_utf8_process.
6148 (grub_encode_utf8_character): New function.
6149 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6150 * include/grub/charset.h (grub_utf8_process): New declaration.
6151 (grub_encode_utf8_character): Likewise.
6152 * include/grub/misc.h (grub_islower): New inline function.
6153 (grub_isupper): Likewise.
6154 (grub_strchrsub): Moved down to fix the definitions.
6155
0af2346f
VS
61562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6159 specification.
6160
74dbd244
VS
61612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * include/grub/loader.h (grub_loader_register_preboot_hook):
6164 Use struct preboot * and not void * for handle. All users updated.
6165 (grub_loader_unregister_preboot_hook): Likewise.
6166
1bc8f60d
VS
61672011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6170 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6171 UTF-16-BE. All users updated.
6172 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6173 (grub_hfsplus_iterate_dir): Likewise.
6174 (grub_hfsplus_label): Likewise.
6175
48d6e456
VS
61762011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6179
bf3a3857
VS
61802011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Add missing const qualifiers.
6183
6184 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6185 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6186 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6187 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6188 (grub_lvm_check_flag): Likewise.
6189 * grub-core/efiemu/i386/coredetect.c
6190 (grub_efiemu_get_default_core_name): Likewise
6191 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6192 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6193 * grub-core/fs/ntfs.c (fixup): Likewise.
6194 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6195 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6196 (fzap_lookup): Likewise.
6197 (zap_lookup): Likewise.
6198 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6199 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6200 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6201 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6202 (grub_freebsd_add_meta_module): Likewise.
6203 (grub_cmd_freebsd_module): Likewise.
6204 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6205 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6206 (grub_xnu_writetree_get_size): Likewise.
6207 (grub_xnu_writetree_toheap_real): Likewise.
6208 (grub_xnu_find_key): Likewise.
6209 (grub_xnu_create_key): Likewise.
6210 (grub_xnu_create_value): Likewise.
6211 (grub_xnu_register_memory): Likewise.
6212 (grub_xnu_check_os_bundle_required): Likewise.
6213 (grub_xnu_scan_dir_for_kexts): Likewise.
6214 (grub_xnu_load_kext_from_dir): Likewise.
6215 * grub-core/normal/color.c (color_list): Likewise.
6216 * grub-core/normal/completion.c (current_word): Likewise.
6217 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6218 * grub-core/term/serial.c (grub_serial_find): Likewise.
6219 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6220 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6221 Likewise.
6222 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6223 (grub_freebsd_add_meta_module): Likewise.
6224 * include/grub/lib/arg.h (grub_arg_option): Likewise.
6225 * include/grub/net.h (grub_net_card_driver): Likewise.
6226 (grub_net_card): Likewise.
6227 (grub_net_app_protocol): Likewise.
6228 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
6229 * include/grub/serial.h (grub_serial_find): Likewise.
6230 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
6231 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
6232 (grub_xnu_create_value): Likewise.
6233 (grub_xnu_find_key): Likewise.
6234 (grub_xnu_scan_dir_for_kexts): Likewise.
6235 (grub_xnu_load_kext_from_dir): Likewise.
6236
6237 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
6238 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
6239 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
6240 Moved from here ...
6241 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
6242
112b4837
CW
62432011-11-28 Colin Watson <cjwatson@ubuntu.com>
6244
6245 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
6246
49e891ac
VS
62472011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
6250 (read_device): Fix size calculation.
6251
fd258e5c
RM
62522011-11-25 Robert Millan <rmh@gnu.org>
6253
6254 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
6255 (find_root_device_from_libzfs): Add zpool output parser to be used
6256 as fallback when libzfs isn't available.
6257
78845dc2
SG
62582011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
6259
6260 * po/Makefile.in.in: Add missing escape-continuation.
6261
adac5211
VS
62622011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
6265
10b64f1c
VS
62662011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
6269
bb416954
VS
62702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
6273
bdfe9eeb
VS
62742011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
6277
581ffa8a
VS
62782011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/lib/adler32.c: Add missing license specification.
6281 * grub-core/lib/crc64.c: Likewise.
6282 * grub-core/loader/i386/pc/plan9.c: Likewise.
6283 * grub-core/partmap/plan.c: Likewise.
6284
2536cf64
LK
62852011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
6286
6287 Add facility to debug GRUB with gdb under qemu.
6288
6289 * grub-core/gdb_grub.in: New file.
6290 * grub-core/gmodule.pl.in: Likewise.
6291 * grub-core/Makefile.core.def (gmodule.pl): New script.
6292 (gdb_grub): Likewise.
6293
bc108a4a
VS
62942011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * util/grub-mount.c (argp_parser): Accept relative pathes.
6297 * util/grub-fstest.c (argp_parser): Likewise.
6298
111c1778
VS
62992011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 Plan9 support.
6302
6303 * Makefile.util.def (libgrubmods): Add
6304 grub-core/partmap/plan.c.
6305 * docs/grub.texi: Notice Plan9 support.
6306 * grub-core/Makefile.core.def (plan9): New module.
6307 (part_plan): Likewise.
6308 * grub-core/loader/i386/pc/plan9.c: New file.
6309 * grub-core/partmap/plan.c: Likewise.
6310 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
6311 define.
6312 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
6313 * include/grub/mm.h (grub_extend_alloc): New inline function.
6314
c30be3b6
VS
63152011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 Make Reed-Solomon faster by using power of generator representation of
6318 GF(256)*.
6319
6320 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
6321 (gf_double_t): Likewise.
6322 (gf_invert): Removed.
6323 (gf_powx): New array.
6324 (gf_powx_inv): Likewise.
6325 (scratch): Move higher.
6326 (gf_reduce): Removed.
6327 (gf_mul): Use powx.
6328 (gf_invert): Likewise.
6329 (init_inverts): Replaced with ...
6330 (init_powx): ...this. All users updated.
6331 (pol_evaluate): Replace multiplications with additions.
6332 (rs_encode): Likewise.
6333 (gauss_eliminate): Call gf_invert.
6334 (grub_reed_solomon_add_redundancy): Call init_powx.
6335 (grub_reed_solomon_recover): Call init_powx unconditionally.
6336
fa5aeffc
VS
63372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
6340
a346b81c
VS
63412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
6344 disk->partiton for safety.
6345
d89ee414
VS
63462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6349 Fix a memory leak.
6350 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
6351
91ee7b6d
VS
63522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
6355
91e5a33d
VS
63562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
6359
9edd7be2
VS
63602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 Fix spaces handling in proc/self/mountinfo.
6363
6364 * util/getroot.c (unescape): New function.
6365 (grub_find_root_device_from_mountinfo): Use unescape.
6366
ba102053
VS
63672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Support ZFS embedding.
6370
6371 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
6372 (grub_zfs_fs): Register grub_zfs_embed.
6373
aa94b870
VS
63742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Fix MIPS compilation.
6377
6378 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
6379 * include/grub/offsets.h: Rename decompressor fields from
6380 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
6381 * util/grub-mkimage.c (image_targets): Use new names.
6382
5fbdac14
VS
63832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 Defer multiboot device parsing until we're in compressed part.
6386
6387 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
6388 bsd_part. setdevice has fallen into disuse.
6389 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
6390 (bsd_part): Likewise.
6391 (boot_dev): New variable.
6392 (multiboot_trampoline): Don't parse multiboot device.
6393 Pass multiboot device in %edx.
6394 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
6395 grub_boot_device.
6396 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
6397 Likewise.
6398 * grub-core/kern/i386/pc/startup.S: Save edx.
6399 (grub_boot_drive): Removed.
6400 (grub_install_dos_part): Likewise.
6401 (grub_install_bsd_part): Likewise.
6402 (grub_boot_device): New variable.
6403 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
6404 (grub_install_bsd_part): Likewise.
6405 (grub_boot_drive): Likewise.
6406 (grub_boot_device): New variable.
6407 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
6408 Removed.
6409 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6410 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
6411 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
6412 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
6413 * util/grub-install.in: Remove redundant condition.
6414
691cbb58
VS
64152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Fix bug introduced by previous commit.
6418
6419 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
6420
60240b8b
VS
64212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 Use decompressors framework on i386-pc. It increases core size
6424 by 46 bytes but improves compatibility and maintainability.
6425
6426 * grub-core/Makefile.core.def (lzma_decompress): New image.
6427 (kernel): Add i386_pc_ldflags.
6428 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
6429 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
6430 to real_to_prot, prot_to_real and device info.
6431 * include/grub/offsets.h: Renamed decompressor offsets.
6432 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
6433 (image_target_desc): Remove raw_size and rename decompressor fields.
6434 (compress_kernel): Handle lzma.
6435 (generate_image): Handle decompressors on i386-pc.
6436
e9d3421c
VS
64372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * configure.ac: Add -fno-asynchronous-unwind-tables.
6440
2b23074a
VS
64412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 Move assembly code to C by using intwrap. It increases core size
6444 by 88 bytes but improves compatibility and maintainability.
6445
6446 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
6447 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
6448 ... here. Translated to C.
6449 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
6450 * grub-core/term/i386/pc/console.c (grub_console_getkey):
6451 ... here. Translated to C.
6452 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
6453 * grub-core/term/i386/pc/console.c (grub_console_getxy):
6454 ... here. Translated to C.
6455 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
6456 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
6457 ... here. Translated to C.
6458 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
6459 * grub-core/term/i386/pc/console.c (grub_console_cls):
6460 ... here. Translated to C.
6461 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
6462 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
6463 ... here. Translated to C.
6464 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
6465 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
6466 Translated to C.
6467 * grub-core/term/i386/pc/console.c (int10_9): New function.
6468 (grub_console_putchar): Likewise.
6469 * include/grub/i386/pc/console.h: Removed the not anymore shared
6470 functions.
6471
678f4b67
VS
64722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 Move grub_chainloader_real_boot out of the kernel.
6475
6476 * grub-core/Makefile.am: Remove machine/loader.h.
6477 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6478 Removed.
6479 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
6480 variable.
6481 (grub_relocator16_keep_a20_enabled): Likewise.
6482 (grub_relocator16_boot): Fill new variables.
6483 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
6484 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
6485 relocator.
6486 (grub_chainloader_unload): Likewise.
6487 (grub_chainloader_cmd): Likewise.
6488 * include/grub/i386/pc/loader.h: Removed.
6489 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
6490 and esi. All initialisers updated.
6491
4626edf6
VS
64922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
64932011-11-12 Colin Watson <cjwatson@ubuntu.com>
6494
6495 * Makefile.util.def (grub-mount): New util.
6496 * .bzrignore: Add grub-mount.
6497 * configure.ac: Check for fuse and enable grub-mount if available.
6498 * docs/man/grub-mount.h2m: New file.
6499 * util/grub-mount.c: Likewise.
6500
10f0117b
VS
65012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/commands/efi/fixvideo.c: Gettextize.
6504 * grub-core/commands/hashsum.c: Likewise.
6505 * grub-core/commands/i386/cmostest.c: Likewise.
6506 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6507 * grub-core/commands/i386/pc/lsapm.c: Likewise.
6508 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6509 * grub-core/commands/lsmmap.c: Likewise.
6510 * grub-core/commands/menuentry.c: Likewise.
6511 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6512 * grub-core/commands/setpci.c: Likewise.
6513 * grub-core/loader/i386/bsd.c: Likewise.
6514 * grub-core/loader/i386/linux.c: Likewise.
6515 * util/getroot.c: Likewise.
6516 * util/grub-editenv.c: Likewise.
6517 * util/grub-fstest.c: Likewise.
6518 * util/grub-mkfont.c: Likewise.
6519 * util/grub-mkimage.c: Likewise.
6520 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6521 * util/grub-pe2elf.c: Likewise.
6522 * util/grub-probe.c: Likewise.
6523 * util/grub-setup.c: Likewise.
6524 * util/ieee1275/ofpath.c: Likewise.
6525 * util/misc.c: Likewise.
6526 * util/raid.c: Likewise.
6527
566f779b
RM
65282011-11-11 Robert Millan <rmh@gnu.org>
6529
6530 * util/getroot.c (grub_util_get_geom_abstraction): Remove
6531 __attribute__((unused)) from `os_dev', which *is* being used.
6532
b50787de
VS
65332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
6536 forgotten define.
6537 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
6538 GRUB_IA64_DL_GOT_ALIGN.
6539 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
6540 GRUB_IA64_DL_TRAMP_ALIGN.
6541
119d11c8
VS
65422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 Replace grub_fatal with normal errors in i386 linux loader.
6545
6546 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
6547 (allocate_pages): Check find_efi_mmap_size return value.
6548 (grub_e820_add_region): Return error.
6549 (grub_linux_boot): Check mmap return value.
6550
6e0632e2
VS
65512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/commands/acpihalt.c: Gettextized.
6554 * grub-core/commands/cacheinfo.c: Likewise.
6555 * grub-core/commands/cmp.c: Likewise.
6556 * grub-core/commands/efi/loadbios.c: Likewise.
6557 * grub-core/commands/gptsync.c: Likewise.
6558 * grub-core/commands/ieee1275/suspend.c: Likewise.
6559 * grub-core/commands/legacycfg.c: Likewise.
6560 * grub-core/commands/memrw.c: Likewise.
6561 * grub-core/commands/minicmd.c: Likewise.
6562 * grub-core/commands/parttool.c: Likewise.
6563 * grub-core/commands/time.c: Likewise.
6564 * grub-core/commands/videoinfo.c: Likewise.
6565 * grub-core/disk/geli.c: Likewise.
6566 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
6567 * grub-core/disk/luks.c: Likewise.
6568 * grub-core/disk/lvm.c: Likewise.
6569 * grub-core/font/font_cmd.c: Likewise.
6570 * grub-core/fs/zfs/zfscrypt.c: Likewise.
6571 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6572 * grub-core/gfxmenu/view.c: Likewise.
6573 * grub-core/kern/emu/hostdisk.c: Likewise.
6574 * grub-core/kern/emu/main.c: Likewise.
6575 * grub-core/kern/emu/misc.c: Likewise.
6576 * grub-core/kern/emu/mm.c: Likewise.
6577 * grub-core/kern/mips/arc/init.c: Likewise.
6578 * grub-core/kern/mips/loongson/init.c: Likewise.
6579 * grub-core/kern/partition.c: Likewise.
6580 * grub-core/lib/i386/halt.c: Likewise.
6581 * grub-core/lib/mips/arc/reboot.c: Likewise.
6582 * grub-core/lib/mips/loongson/reboot.c: Likewise.
6583 * grub-core/loader/i386/pc/chainloader.c: Likewise.
6584 * grub-core/loader/i386/xnu.c: Likewise.
6585 * grub-core/loader/multiboot.c: Likewise.
6586 * grub-core/net/bootp.c: Likewise.
6587 * grub-core/net/net.c: Likewise.
6588 * grub-core/normal/term.c: Likewise.
6589 * grub-core/partmap/bsdlabel.c: Likewise.
6590 * grub-core/parttool/msdospart.c: Likewise.
6591 * grub-core/term/gfxterm.c: Likewise.
6592 * grub-core/term/terminfo.c: Likewise.
6593 * grub-core/video/i386/pc/vbe.c: Likewise.
6594 * util/grub-menulst2cfg.c: Likewise.
6595 * util/grub-mkdevicemap.c: Likewise.
6596 * util/grub-mklayout.c: Likewise.
6597 * util/grub-mkrelpath.c: Likewise.
6598 * util/grub-script-check.c: Likewise.
6599 * util/ieee1275/grub-ofpathname.c: Likewise.
6600 * util/resolve.c: Likewise.
6601
073aa7a9
VS
66022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Support %1$d syntax.
6605
6606 * tests/printf_unit_test.c: New file.
6607 * Makefile.util.def (printf_test): New test.
6608 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6609
c76b5417
VS
66102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6613 fix.
6614
df067ad1
VS
66152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6618 dprintf.
6619 * grub-core/font/font.c (grub_font_load): Likewise.
6620
5b289bc5
VS
66212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * util/grub-macho2img.c: Add comment concerning gettext.
6624 * grub-core/lib/legacy_parse.c: Likewise.
6625
c1860f87
VS
66262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6629 (grub_xvasprintf): Likewise.
6630
d35d0d37
VS
66312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 Add const keyword to grub_env_get and gettextize week days.
6634
6635 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6636 (grub_read_hook_datetime): Return const char *.
6637 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6638 updated.
6639 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6640 Mark for gettext.
6641 (grub_get_weekday_name): Return const char *. Call gettext.
6642 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6643 char * and len as the argument. All users updated.
6644 (grub_script_argv_split_append): Receive const char *.
6645 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6646 * include/grub/env.h (grub_env_get): Likewise.
6647 (grub_env_read_hook_t): Return const char *.
6648 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6649 (grub_script_argv_split_append): Likewise.
6650
9aed8a71
VS
66512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6654
067fdf00
VS
66552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6658 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6659
a8bd9d39
VS
66602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6663 Fix prototype.
6664
f7ce5baf
VS
66652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 Fix mips compilation.
6668
6669 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6670 normal decoder.
6671 (hashes): Use in embed decoder as well (for sizes).
6672 (dec_stream_header): Fix embed decompressor logic.
6673 (dec_stream_footer): Likewise.
6674
9bb182f3
VS
66752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6678 an error and not a fatal on unrecognised relocation types.
6679
63a9e6f6
VS
66802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6683 Issue error rather than printf on unknown arguments.
6684
4c458569
VS
66852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6688 Make buf a const.
6689
e2d22baf
VS
66902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6693 Fix module name.
6694
53dc8590
VS
66952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6698 leftover debug printf.
6699
6c189294
VS
67002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6703
f7688369
VS
67042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6707 A stylistic fix.
6708
11a775a3
VS
67092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6712
33f784e8
SL
67132011-11-10 Shea Levy <slevy@tieronedesign.com>
6714
6715 Allow all modules to perform serial IO
6716
6717 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6718 * include/grub/serial.h (grub_serial_port_configure): New inline
6719 function.
6720 (grub_serial_port_fetch): Likewise.
6721 (grub_serial_port_put): Likewise.
6722 (grub_serial_port_fini): Likewise.
6723 (grub_serial_find): New proto.
6724
f6276525
VS
67252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Put symlink at the end of the node and fix a potential
6728 memory corruption.
6729
6730 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6731 Make symlink into an array.
6732 (set_rockridge): Set have_symlink and alloc_dirents.
6733 (grub_iso9660_read_symlink): Use new layout.
6734 (grub_iso9660_iterate_dir): Fix memory corruption.
6735 Use new layout.
6736 (grub_iso9660_dir): Set have_symlink.
6737 (grub_iso9660_open): Likewise.
6738
c3591189
VS
67392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 Remove local keyword.
6742
6743 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6744 (version_test_gt): Likewise.
6745 (version_find_latest): Likewise.
6746 (gettext_printf): Likewise.
6747 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6748
cb544caa
VS
67492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6752
45bd824d
VS
67532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 Fix ZFS memory and resource leaks.
6756
6757 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6758 All users updated.
6759 Free type on exit.
6760 (fill_vdev_info): New parameter inserted. All users updated.
6761 (check_pool_label): Likewise.
6762 (scan_disk): Likewise.
6763 (scan_devices): Close non-inserted disks.
6764 (fzap_iterate): Free l.
6765 (unmount_device): Free children descripto memory.
6766
ad9a2f44
VS
67672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6770 argument (access out of bounds).
6771
6b68db81
VS
67722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6775 >= 6 drives.
6776
28840fda
VS
67772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6780 Fix declaration.
6781
8a5a3a5b
VS
67822011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 Fix several memory leaks.
6785
6786 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6787 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6788 (grub_cpio_dir): Likewise.
6789 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6790 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6791 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6792 (grub_romfs_label): Likewise.
6793 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6794 (squash_unmount): New function.
6795 (grub_squash_dir): Fix memory leak.
6796 (grub_squash_open): Likewise.
6797 (grub_squash_read): Likewise.
6798 (grub_squash_mtime): Likewise.
6799 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6800 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6801 * util/grub-fstest.c (fstest): Likewise.
6802
57b01250
VS
68032011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6806 avoid accessing beyond the array.
6807
19e81ba7
VS
68082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6811
52b656c0
VS
68122011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 Several AFFS fixes.
6815
6816 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6817 (GRUB_AFFS_FLAG_FFS): Removed.
6818 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6819 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6820 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6821 (grub_fshelp_node): Make block 32-bit.
6822 Add block_cache and last_block_cache.
6823 (grub_affs_read_block): Fill and use block cache.
6824 (grub_affs_read_file): Removed.
6825 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6826 boot block.
6827 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6828 safety.
6829 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6830 space.
6831 (grub_affs_close): Free block cache.
6832 (grub_affs_read): Use grub_fshelp_read_file directly.
6833
438a746a
VS
68342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6837 with no error set.
6838
49a45021
VS
68392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6842 used variable.
6843 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6844 Likewise.
6845
3ae17eb8
VS
68462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6849
6850 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6851 byteswap when needed.
6852
27610c38
VS
68532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 Fix FreeBSD compilation.
6856
6857 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6858 to avoid circular dependency.
6859 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6860 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6861 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6862
4a19b601
VS
68632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 Fix ZFS crypto error types.
6866
6867 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6868 (grub_gcm_decrypt): Likewise.
6869 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6870 from PBKDF2.
6871
958ee221
VS
68722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 Illumos support.
6875
6876 * Makefile.util.def (10_illumos): New script.
6877 * configure.ac: Set COND_HOST_ILLUMOS.
6878 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6879 Support Illumos calls.
6880 (find_partition_start) [__sun__]: Likewise.
6881 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6882 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6883 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6884 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6885 device.
6886 * util/grub-probe.c (probe) [__sun__]: Do character check.
6887 * util/grub.d/10_illumos.in: New file.
6888
cac14fb6
VS
68892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Support escaped commas in hostdisk.
6892
6893 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6894 (find_grub_drive): Use unescape_cmp.
6895 (make_device_name): Escape commas.
6896
78e08dc3
VS
68972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6900
9f421dd1
VS
69012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6904 variable.
6905
ed64e9e2
VS
69062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 Support trampoline jumps on powerpc.
6909
6910 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6911 __ia64__ path.
6912 (grub_dl_load_segments): Set mod->sz.
6913 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6914 segments.
6915 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6916 (jump): Likewise.
6917 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6918 function.
6919 (trampoline): New struct.
6920 (trampoline_template): New const.
6921 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6922 * include/grub/dl.h (grub_dl): Add sz element.
6923 [__powerpc__]: Follow __ia64__.
6924 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6925 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6926 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6927 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6928
3084ede4
VS
69292011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 ZFS crypto support.
6932
6933 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6934 * grub-core/Makefile.core.def (zfscrypt): New module.
6935 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6936 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6937 it. All users updated.
6938 (grub_zfs_decrypt): New var.
6939 (grub_zfs_load_key): Likewise.
6940 (zio_checksum_functions): Add SHA256+MAC.
6941 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6942 (zio_read): Handle encrypted blocks.
6943 (zap_verify): Remove incorrect check.
6944 (fzap_iterate): Handle non-standard fzap.
6945 (zap_iterate): Likewise.
6946 (zap_iterate_u64): New function.
6947 (dnode_get_fullpath): Load keys.
6948 * grub-core/fs/zfs/zfscrypt.c: New file.
6949 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6950 (grub_crypto_ecb_encrypt): Make input const.
6951 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6952 (grub_crypto_ecb_encrypt): Make input const.
6953 (GRUB_CIPHER_AES): New macro.
6954 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6955 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6956 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6957 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6958 prefix. All users updated.
6959 (grub_zfs_add_key): New proto.
6960 (grub_zfs_decrypt): Likewise.
6961 (grub_zfs_load_key): Likewise.
6962 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6963 * util/grub-fstest.c (options): Add -K option.
6964 (argp_parser): Likewise.
6965
b632b404
VS
69662011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 Support zle compression on ZFS.
6969
6970 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6971 (decomp_table): Add zle.
6972 * include/grub/zfs/zio.h (zio_compress): Add zle.
6973
c7ba4f69
VS
69742011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 Support BtrFS embedding.
6977
6978 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6979 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6980 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6981 * util/grub-setup.c (setup): Use fs embedding if available.
6982 Add additional sanity check.
6983
455377d9
VS
69842011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 * util/grub-install.in: Fix condition for config_opt.
6987
c2fd16ca
VS
69882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 Support third redundancy strip on raidz3.
6991
6992 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6993 Return error on singularity. All users updated.
6994 (read_device): Don't stop on 3rd failure on raidz3.
6995
8622923b
VS
69962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 Support case-insensitive ZFS subvolumes.
6999
7000 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7001 All users updated.
7002 (zap_hash): Likewise.
7003 (name_cmp): New function.
7004 (zap_leaf_array_equal): New parameter case_insensitive.
7005 All users updated.
7006 (zap_leaf_lookup): Likewise.
7007 (fzap_lookup): Likewise.
7008 (zap_lookup): Likewise.
7009 (dnode_get_path): New parameter case_insensitive. Retrieve case
7010 sensitiviness of a volume. All users updated.
7011 (dnode_get_fullpath): New parameter case_insensitive.
7012 All users updated.
7013 (grub_zfs_dir): Set info.case_insensitiveness.
7014
95f2e860
VS
70152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 Support second redundancy strip on raidz(2,3).
7018
7019 * grub-core/fs/zfs/zfs.c (powx): New array.
7020 (powx_inv): Likewise.
7021 (poly): New const.
7022 (xor_out): New function.
7023 (gf_mul): Likewise.
7024 (recovery): Likewise.
7025 (read_device): Use second redundancy strip.
7026
11ee4389
VS
70272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 Use a power of generator representation of GF(256) multiplication group
7030 to save space time and complexity.
7031
7032 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7033 (raid6_table2): Likewise.
7034 (powx): New array.
7035 (powx_inv): Likewise.
7036 (poly): New const.
7037 (grub_raid_block_mul): Replace with ...
7038 (grub_raid_block_mulx): ...this.
7039 (grub_raid6_init_table): Rewritten.
7040 (grub_raid6_recover): Use power of generator representation.
7041
09e2763f
VS
70422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7045 for the right device.
7046
8bec9a28
VS
70472011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7050 expected by grub-mkimage and it's more clear since there is no implicit
7051 padding.
7052
dbd3a32e
VS
70532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7056 disk.
7057 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7058
182c872a
PMH
70592011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7060
7061 * util/grub-mkrescue.in: Fix handling xorriso option.
7062
1e51cabd
VS
70632011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7066 NULL.
7067
9cc3581d 70682011-11-03 crocket <crockabiscuit@gmail.com>
7069
7070 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7071
158dc1ea
VS
70722011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 XZ CRC64 and SHA256 support.
7075
7076 * Makefile.util.def (libgrubmods): Add crc64.c.
7077 * grub-core/Makefile.core.def (crc64): New module.
7078 * grub-core/lib/crc64.c: New file.
7079 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7080 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7081 Fix the type.
7082 (MAX_HASH_SIZE): New define.
7083 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7084 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7085 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7086 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7087 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7088 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7089 Handle non-crc32 hashes.
7090 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7091 (dec_stream_header): Handle non-crc32 hashes.
7092 (dec_stream_footer): Likewise.
7093 (dec_block_header): Likewise.
7094 (dec_main): Likewise.
7095 (xz_dec_init): Likewise.
7096 (xz_dec_reset): Likewise.
7097 (xz_dec_end): Likewise.
7098 * util/import_gcry.py: Add CRC64 line.
7099
9d9b3d2f
VS
71002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7103 as well.
7104
7d0ac931
VS
71052011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 Make reiserfs label retrieval similar to other *_label functions.
7108
7109 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7110 (REISERFS_MAX_LABEL_LENGTH): Removed.
7111 (REISERFS_LABEL_OFFSET): Likewise.
7112 (grub_reiserfs_label): Rewritten.
7113
71142011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7117 field.
7118
cf5ba824
VS
71192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7122
17744004
VS
71232011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7126 drive failure on both raidz and raidz2.
7127
aca5aefc
VS
71282011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 Fix RAIDZ(2) for >= 5 devices.
7131
7132 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7133 asize argument. All users updated.
7134
ce8ca56e
VS
71352011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 Fix RAIDZ(2).
7138
7139 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7140 (fill_vdev_info_real): Set ashift.
7141 (read_device): Rewrite RAIDZ part based on reverse engineering.
7142
7c01e783
VS
71432011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
7146 don't report potentially unavialiable fields in debug output.
7147 (find_path): Fix double-free and memory leak.
7148
ce109e84
VS
71492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 Read label on UFS1.
7152
7153 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7154 (grub_ufs_fs): Always set .label.
7155
87661123
VS
71562011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 Use shifts in UFS.
7159
7160 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7161 (grub_ufs_data): New field log2_blksz.
7162 (grub_ufs_read_file): Use shifts.
7163 (grub_ufs_mount): Check block size and logarithm it.
7164
46bc1dc2
VS
71652011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7168 long symlinks.
7169
19ee2987
VS
71702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 Handle symlinks and long names on tar and cpio.
7173
7174 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7175 (ATTR_FILE): Likewise.
7176 (ATTR_DIR): Likewise.
7177 (ATTR_LNK): Likewise.
7178 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7179 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7180 L and K entries.
7181 (grub_cpio_mount): Zero-fill data.
7182 (handle_symlink): New function.
46bc1dc2
VS
7183 (grub_cpio_dir): Handle symlinks.
7184 (grub_cpio_open): Likewise.
7185 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 7186
c83a08d8
VS
71872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 Fix iso9660 filename limitations and fix memory leaks.
7190
7191 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7192 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7193
45cdd3ea
VS
71942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 Fix JFS file name length limitations.
7197
7198 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7199 (grub_jfs_diropen): Fix maximum filename length.
7200 (grub_jfs_getent): Fix filename length.
7201 (grub_jfs_lookup_symlink): Fix size checks.
7202
94ef05c2
VS
72032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7206 string.
7207
785ab8c7
VS
72082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7209
eb0b6b45
VS
7210 Leverage BFS implementation to read AFS.
7211
7212 * Makefile.util.def (libgrubmods): Add afs.c.
7213 * grub-core/Makefile.core.def (afs): New module
7214 * grub-core/fs/afs.c: New file.
7215 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7216
72172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 7220
c4a1628f
VS
72212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/fs/bfs.c: Run indent.
7224
5825b379
VS
72252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 BFS implementation based on the specification.
7228
7229 * grub-core/fs/bfs.c: New file.
7230 * Makefile.util.def (libgrubmods): Add bfs.c.
7231 * grub-core/Makefile.core.def (bfs): New module.
7232
42b2a706
VS
72332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * util/grub-fstest.c (cmd_cp): Clarify error message.
7236 (cmd_cmp): Likewise.
7237
61b99bfc
YB
72382011-10-30 Yves Blusseau <blusseau@zetam.org>
7239
7240 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
7241 and befs_be.
7242
faba3d16
VS
72432011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 Remove afs and befs because of copyright problem.
7246
7247 * grub-core/fs/afs.c: Removed.
7248 * grub-core/fs/afs_be.c: Removed.
7249 * grub-core/fs/befs.c: Removed.
7250 * grub-core/fs/befs_be.c: Removed.
7251 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
7252 * grub-core/Makefile.core.def (afs): Removed.
7253 (afs_be): Likewise.
7254 (befs): Likewise.
7255 (befs_be): Likewise.
7256
c39224b0
VS
72572011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 Prefer rockridge over Joliet.
7260
7261 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
7262 to ...
7263 (set_rockridge): ... here.
7264 (grub_iso9660_mount): Check rockridge on the primary label when
7265 discovering. Ignore Joliet if Rockridge is present.
7266
e551115a
VS
72672011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 Use shifts in nilfs2.
7270
7271 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
7272 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
7273 (grub_nilfs2_palloc_entries_per_group): Replace with ...
7274 (grub_nilfs2_log_palloc_entries_per_group): ... this.
7275 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
7276 (grub_nilfs2_entries_per_block): Replaced with ...
7277 (grub_nilfs2_log_entries_per_block_log): ... this.
7278 (grub_nilfs2_blocks_per_group): Replaced with ...
7279 (grub_nilfs2_blocks_per_group_log): ... this.
7280 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
7281 (grub_nilfs2_blocks_per_desc_block_log): ... this.
7282 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
7283 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
7284 (grub_nilfs2_palloc_entry_offset): Replaced ...
7285 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
7286 (grub_nilfs2_dat_translate): Use shifts.
7287 (grub_nilfs2_read_inode): Likewise.
7288 (GRUB_MOD_INIT): Ensure that logs are correct.
7289
564dd58c
VS
72902011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Use shifts in minix filesystem.
7293
7294 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
7295 (GRUB_MINIX_ZONE2SECT): Likewise.
7296 (grub_minix_data): Replace block_size with log_block_size.
7297 (grub_minix_read_file): Use shifts.
7298 (grub_minix_mount): Check block size and take a logarithm.
7299
ed9ba06d
VS
73002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 Use shifts in squash4.
7303
7304 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
7305 (squash_mount): Check block size and take logarithm.
7306 (direct_read): Use shifts.
7307
ad03fe76
VS
73082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 Correct befs block counting logic.
7311
7312 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
7313 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
7314 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
7315 (grub_afs_read_inode): Use block_shift.
7316 (RANGE_SHIFT): New definition.
7317 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
7318 unexpected conditions, use shifts and appropriate types.
7319 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
7320
6563f63d
VS
73212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/disk/raid.c (scan_devices): Check partition.
7324 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7325
5b1ae25f
VS
73262011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Support BFS (befs) UUID.
7329
7330 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
7331 (grub_afs_small_data_element_header): New struct.
7332 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
7333 (grub_afs_read_attribute) [MODE_BFS]: New function.
7334 (grub_afs_iterate_dir): Allocate for complete inode.
7335 (grub_afs_mount): Likewise.
7336 (grub_afs_uuid) [MODE_BFS]: New function.
7337 (grub_afs_fs) [MODE_BFS]: Add .uuid.
7338
f8d82408
VS
73392011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
7342 (zfs_unmount): Fix memory leak.
7343
5773fb64
VS
73442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 Support NTFS reparse points.
7347
7348 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
7349 (symlink_descriptor): New struct.
7350 (grub_ntfs_read_symlink): New function.
7351 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
7352 (grub_ntfs_open): Likewise.
7353
91c3fdde
VS
73542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
7357
3be82e10
VS
73582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 fstest xnu_uuid subcommand.
7361
7362 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
7363 grub-core/commands/xnu_uuid.c.
7364 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
7365 (fstest): Handle xnu_uuid.
7366 (options): Document xnu_uuid.
7367 (argp_parser): Parse xnu_uuid.
7368
8e32442e
VS
73692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
7372 -l argument. Add newline at the end if printing.
7373 (GRUB_MOD_INIT): Document -l.
7374
52a05075
VS
73752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
7378
1869edb5
VS
73792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 ZFS multi-device and version 33 support.
7382
7383 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
7384 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
7385 (grub_zfs_data): Add multidev-ice-related fields.
7386 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
7387 (dva_get_offset): Make dva const.
7388 (zfs_fetch_nvlist): New function.
7389 (fill_vdev_info_real): Likewise.
7390 (fill_vdev_info): Likewise.
7391 (check_pool_label): Likewise.
7392 (scan_disk): Likewise.
7393 (scan_devices): Likewise.
7394 (read_device): Likewise.
7395 (read_dva): Likewise.
7396 (zio_read_gang): Use read_dva.
7397 (zio_read_data): Likewise.
7398 (zap_leaf_lookup): Add missing endian conversion.
7399 (zap_verify): Add missing endian conversion. All users updated.
7400 (fzap_lookup): Likewise.
7401 (fzap_iterate): Likewise.
7402 (dnode_get_path): Handle SA bonus.
7403 (nvlist_find_value): Make input const. All users updated.
7404 (unmount_device): New function.
7405 (zfs_unmount): Use unmount_device.
7406 (zfs_mount): Use scan_disk.
7407 (zfs_mtime): New function.
7408 (grub_zfs_open): Handle system attributes.
7409 (fill_fs_info): Likewise.
7410 (grub_zfs_dir): Likewise.
7411 (grub_zfs_fs): Add mtime.
7412 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
7413 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
7414 (SA_MTIME_OFFSET): Likewise.
7415 (SA_SYMLINK_OFFSET): Likewise.
7416 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
7417 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
7418 (fstest): Support zfsinfo.
7419 (argp_parser): Likewise.
7420
186b4028
VS
74212011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
7424 error.
7425
74262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
7427
7428 ZFS fixes.
7429
7430 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
7431 sharing the same block. Iterate over correct number of indices.
7432 (dnode_get_path): Handle symlinks correctly.
7433
c0584900
VS
74342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
7437
67e2bd71
VS
74382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 Read label on HFS+.
7441
7442 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
7443 (grub_hfsplus_btree_search): Fix types.
7444 (grub_hfsplus_label): Implement.
7445
e9cc6b7b
VS
74462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
7449
19832ddb
VS
74502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
7453
66b40850
VS
74542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 Fix symlink handling on iso9660.
7457
7458 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
7459 All users updated.
7460 (grub_iso9660_susp_iterate): Accept zero-size iterate.
7461 (grub_iso9660_read_symlink): Moved most of code ...
7462 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
7463
db821363
VS
74642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7467 Use union to avoid breaking strict-aliasing rules.
7468
e1211949
VS
74692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 Support multi-extent iso files.
7472
7473 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
7474 Add node.
7475 (grub_fshelp_node): Revamp. All users updated.
7476 (FLAG_*): New enum.
7477 (read_node): New function.
7478 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
7479 All users updated.
7480 (grub_iso9660_mount): Don't attempt to read sua when there is none.
7481 (get_node_size): New function.
7482 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
7483 entries.
7484 Fix memory leak on . and ..
7485 (grub_iso9660_read): Use read_node.
7486 (grub_iso9660_close): Free node.
7487
d4888031
VS
74882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 Fix tar 4G limit and handle paths containing dot.
7491
7492 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
7493 (canonicalize): New function.
7494 (grub_cpio_find_file): Use canonicalize. Store offs in
7495 grub_disk_addr_t.
7496 (grub_cpio_dir): Use grub_disk_addr_t.
7497 (grub_cpio_open): Likewise.
7498
9f12e664
VS
74992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 Fix handling of uncompressed blocks on squashfs and break 4G limit.
7502
7503 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
7504 unused flags.
7505 (grub_squash_inode): Add long_file and block_size.
7506 (grub_squash_cache_inode): New struct.
7507 (grub_squash_dirent): Make types into enum.
7508 (SQUASH_TYPE_LONG_REGULAR): New type.
7509 (grub_squash_frag_desc): Add field size.
7510 (SQUASH_BLOCK_FLAGS): New enum.
7511 (grub_squash_data): Use grub_squash_cache_inode.
7512 (grub_fshelp_node): Make ino_chunk 64-bit.
7513 (read_chunk): Minor argument change. All users updated.
7514 (squash_mount): Use correct le_to_cpu.
7515 (grub_squash_open): Handle LONG_REGULAR.
7516 (direct_read): New function.
7517 (grub_squash_read_data): Handle blocks correctly.
7518
9f326fba
VS
75192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
7522
f4d9b64b
VS
75232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
7526
5bbd28b8
VS
75272011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Fix 2G limit on ZFS.
7530
7531 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
7532 types.
7533 (uberblock_verify): Likewise.
7534 (dmu_read): Likewise.
7535 (grub_zfs_read): Likewise. Remove invalid cast.
7536
68c72069
VS
75372011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
7540 (grub_jfs_blkno): Fix incorrect shift.
7541 (grub_jfs_read_file): Use more appropriate types.
7542
6e536dc8
VS
75432011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 Support triple indirect on minix2 and minix3.
7546
7547 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
7548 Declare triple_indir_zone.
7549 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
7550 indirect.
7551
e0864e7a
VS
75522011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 Minix FS fixes.
7555
7556 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
7557 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
7558 Rename ctime to mtime. All users updated.
7559 (grub_minix_get_file_block): Fix types and double indirect computations.
7560
89481cab
VS
75612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
7564 if no label is found.
7565 (grub_fat_iterate_dir): Fix file size type.
7566 (grub_fat_iterate_dir): Likewise.
7567
f646e143
VS
75682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
7571 save some space.
7572 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7573 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7574
534d769e
VS
75752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
7578
e084ba18
VS
75792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * util/import_gcry.py: Accept space between # and include.
7582
3471ecdf
VS
75832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
7586
124df5f6
VS
75872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 Fine grainely disable warnings on lexer. Remove Wno-error on it.
7590
7591 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7592 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7593 yylex_strncpy.
7594 * grub-core/script/yylex.l: Add fine-grained #pragma.
7595
4defb8d5
VS
75962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7599 New inline function.
7600 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7601 Likewise.
7602 (memset) [GRUB_UTIL]: Likewise.
7603 (memcmp) [GRUB_UTIL]: Likewise.
7604
4e94ae65
VS
76052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7608 inline function rather than a define.
7609
18c575e5
VS
76102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * util/grub-setup.c: Add missing include.
7613
f8bc22a8
VS
76142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * util/ieee1275/grub-ofpathname.c: Add missing include.
7617
3ce69fc9
VS
76182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7621 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7622 Likewise.
7623
d1e293bb
VS
76242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7627 grub_memcmp usage.
7628
7a5c54a4
VS
76292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * util/grub-install.in: Add datarootdir as per automake manual
7632 suggestion.
7633 * util/grub-mknetdir.in: Likewise.
7634
76352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7636
7637 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7638 suggestion.
7639 * util/grub.d/10_kfreebsd.in: Likewise.
7640 * util/grub.d/10_linux.in: Likewise.
7641 * util/grub.d/10_netbsd.in: Likewise.
7642 * util/grub.d/10_windows.in: Likewise.
7643 * util/grub.d/20_linux_xen.in: Likewise.
7644
766f7d08
VS
76452011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 Remove redundant grub_kernel_image_size.
7648
7649 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7650 _edata and _start.
7651 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7652 the small code. It moves it only by few bytes but simplifies the code.
7653 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7654 _start.
7655 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7656 (grub_kernel_image_size): Removed.
7657 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7658 (grub_kernel_image_size): Removed.
7659 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7660 compiled with Apple toolchain.
7661 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7662 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7663 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7664 (grub_total_module_size): Likewise.
7665 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7666 Removed.
7667 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7668 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7669 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7670 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7671 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7672 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7673 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7674 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7675 Removed.
7676 (grub_total_module_size): Removed.
7677 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7678 (image_targets): Likewise.
7679 Set .compressed_size to no field on sparc.
7680 (generate_image): Remove kernel_image_size handling.
7681
fcf1d672
SJ
76822011-10-19 Szymon Janc <szymon@janc.net.pl>
7683
7684 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7685 NULL pointer dereference.
7686
de9c615e
VS
76872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7690 done with a dedicated section.
7691
7692 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7693 Ensure the correct position of boot_path.
7694 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7695 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7696 other fields.
7697 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7698 * include/grub/boot.h: Removed. All references removed.
7699 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7700 Removed.
7701 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7702
e55599dc
VS
77032011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7706 name.
7707
36dd20ad
VS
77082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7711
f8f72eb8
VS
77122011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7715 Don't add the bogus brackets.
7716
a374751b
VS
77172011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 ExFAT support.
7720
7721 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7722 * grub-core/Makefile.core.def (exfat): New module.
7723 * grub-core/fs/exfat.c: New file.
7724 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7725 (GRUB_FAT_ATTR_*): Make into an enum.
7726 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7727 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7728 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7729 (GRUB_FAT_MAXFILE): Removed.
7730 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7731 (grub_current_fat_bpb_t): New type.
7732 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7733 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7734 (grub_fat_dir_node_t): New type.
7735 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7736 (fat_log2) [MODE_EXFAT]: Removed.
7737 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7738 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7739 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7740 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7741 (grub_fat_label) [MODE_EXFAT]: New function.
7742 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7743 reserved_first_sector to 0.
7744
544c2487
VS
77452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 Move grub_reboot out of the kernel.
7748
7749 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7750 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7751 * grub-core/lib/efi/reboot.c: ... here.
7752 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7753 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7754 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7755 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7756 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7757 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7758 * grub-core/lib/ieee1275/reboot.c: ... here.
7759 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7760 * grub-core/lib/mips/arc/reboot.c: ... here.
7761 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7762 * grub-core/lib/mips/loongson/reboot.c: ...here.
7763 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7764 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7765 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7766 * include/grub/i386/reboot.h: New file.
7767 * include/grub/mips/loongson/ec.h: Fix includes.
7768 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7769 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7770 * grub-core/lib/i386/reboot.c: New file.
7771
a97501d2
VS
77722011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 Make grub_prefix into module to fix the arbitrary limit and save
7775 some space.
7776
7777 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7778 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7779 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7780 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7781 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7782 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7783 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7784 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7785 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7786 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7787 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7788 * include/grub/ia64/efi/kernel.h: Removed.
7789 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7790 (grub_prefix): Removed.
7791 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7792 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7793 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7794 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7795 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7796 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7797 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7798 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7799 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7800 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7801 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7802 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7803 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7804 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7805 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7806 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7807 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7808 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7809 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7810 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7811 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7812 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7813 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7814 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7815 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7816 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7817 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7818 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7819 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7820 from module.
7821 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7822 prefix_end.
7823 (image_targets): Likewise.
7824 (generate_image): Put prefix as a module.
7825
39705fad
VS
78262011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 Replace grub_module_iterate with FOR_MODULES.
7829
7830 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7831 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7832 (grub_efi_modules_addr): ...this.
7833 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7834 (grub_efi_init): Set grub_modbase.
7835 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7836 (grub_modbase): New variable.
7837 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7838 (grub_modbase): New variable.
7839 (grub_machine_init): Set grub_modbase.
7840 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7841 (grub_modbase): New variable.
7842 (grub_machine_init): Set grub_modbase.
7843 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7844 (grub_modbase): New variable.
7845 (grub_machine_init): Set grub_modbase.
7846 * grub-core/kern/main.c (grub_module_iterate): Remove.
7847 (grub_modules_get_end): Use grub_modbase.
7848 (grub_load_modules): Use FOR_MODULES.
7849 (grub_load_config): Likewise.
7850 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7851 (grub_modbase): New variable.
7852 (grub_machine_init): Set grub_modbase.
7853 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7854 (grub_modbase): New variable.
7855 (grub_machine_init): Set grub_modbase.
7856 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7857 Removed.
7858 (grub_modbase): New variable.
7859 (grub_machine_init): Set grub_modbase.
7860 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7861 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7862 (grub_module_iterate): Likewise.
7863 (grub_modbase): New variable declaration.
7864 (FOR_MODULES): New macro.
7865
2afb7f6c
VS
78662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7869 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7870
366e34fa
VS
78712011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 Fix few obvious type discrepancies.
7874
7875 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7876 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7877 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7878 variable.
7879 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7880 and connected types.
7881 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7882 offset.
7883 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7884 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7885 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7886 and connected types.
7887
177b960e
VS
78882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 Fix python 3.x incompatibilities.
7891
7892 * gentpl.py: Put brackets around print strings.
7893 * util/import_gcry.py: Open explicitly as utf-8.
7894 Use in instead of has_key.
7895
3b619ae1
VS
78962011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7899 (GRUB_XFS_INO_AGBITS): Make into inline function.
7900 (GRUB_XFS_INO_INOINAG): Likewise.
7901 (GRUB_XFS_INO_AG): Likewise.
7902 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7903 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7904 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7905 (GRUB_XFS_EXTENT_SIZE): Likewise.
7906 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7907 (GRUB_XFS_NEXT_DIRENT): Likewise.
7908 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7909 (grub_xfs_read_file): Fix offset type.
7910
8bcebcb8
RM
79112011-10-15 Robert Millan <rmh@gnu.org>
7912
7913 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7914
0017e5ef
RM
79152011-10-15 Robert Millan <rmh@gnu.org>
7916
7917 Fix build problem on FreeBSD and GNU/kFreeBSD.
7918
7919 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7920
d8919552
VS
79212011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7924
7925 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7926 types.
7927 (grub_hfsplus_btree_recoffset): Likewise.
7928 (grub_hfsplus_btree_recptr): Likewise.
7929 (grub_hfsplus_find_block): Likewise.
7930 (grub_hfsplus_btree_search): Likewise.
7931 (grub_hfsplus_read_block): Likewise.
7932 (grub_hfsplus_read_file): Likewise.
7933 (grub_hfsplus_mount): Likewise.
7934 (grub_hfsplus_btree_iterate_node): Likewise.
7935 (grub_hfsplus_btree_search): Likewise.
7936 (grub_hfsplus_iterate_dir): Likewise.
7937 (grub_hfsplus_read): A small code simplification.
7938
c81296b6
VS
79392011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/kern/emu/hostdisk.c
7942 (convert_system_partition_to_system_disk): Don't assume that children
7943 of mapper nodes are mapper nodes.
7944
0eb8ffb1
VS
79452011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7948 * include/grub/misc.h (grub_isxdigit): New function.
7949 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7950 switched to grub_isxdigit.
7951 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7952 number starting with a letter.
7953
a98f4a08
RM
79542011-10-09 Robert Millan <rmh@gnu.org>
7955
7956 LVM support for FreeBSD and GNU/kFreeBSD.
7957
7958 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7959 GNU/kFreeBSD.
7960 (LVM_DEV_MAPPER_STRING): Move from here ...
7961 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7962 * util/getroot.c: Include `<grub/util/lvm.h>'.
7963 (grub_util_get_dev_abstraction): Enable
7964 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7965 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7966 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7967 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7968 support it.
7969 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7970 GNU/kFreeBSD.
7971 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7972 when LVM abstraction is required for ${GRUB_DEVICE}.
7973
050e8e90
SJ
79742011-10-06 Szymon Janc <szymon@janc.net.pl>
7975
7976 Add support for LZO compression in GRUB:
7977 - import of minilzo library,
7978 - LZO decompression for btrfs,
7979 - lzop files decompression.
7980
7981 * grub-core/io/lzopio.c: New file.
7982 * grub-core/lib/adler32.c: Likewise.
7983 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7984 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7985 * grub-core/lib/minilzo/minilzo.c: Likewise.
7986 * grub-core/lib/minilzo/minilzo.h: Likewise.
7987 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7988 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7989 grub-core/lib/minilzo/minilzo.c to common.
7990 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7991 cflags in cppflags.
7992 * grub-core/Makefile.core.def (btrfs): Likewise.
7993 * grub-core/Makefile.core.def (lzopio): New module.
7994 (adler32): Likewise.
7995 * grub-core/fs/btrfs.c: Include minilzo.h.
7996 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7997 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7998 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7999 (grub_btrfs_lzo_decompress): New function.
8000 (grub_btrfs_extent_read): Add support for LZO compression type.
8001 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8002 (GRUB_USHRT_MAX): Likewise.
8003 (GRUB_UINT_MAX): Likewise.
8004 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8005 (UINT_MAX): Likewise.
8006 (CHAR_BIT): Likewise.
8007 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8008 grub-core/lib/posix_wrap/limits.h
8009 (UCHAR_MAX): Likewise.
8010 * include/grub/file.h (grub_file_filter_id): New compression filter
8011 GRUB_FILE_FILTER_LZOPIO.
8012 * include/grub/file.h (grub_file_filter_id): Set
8013 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8014 * include/grub/types.h (grub_get_unaligned16): New function.
8015 (grub_get_unaligned32): Likewise.
8016 (grub_get_unaligned64): Likewise.
8017 * util/import_gcry.py (cryptolist): Add adler32.
8018
0eb8ffb1
VS
80192011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8022 in perspective decreases the complexity of build system and fixes
8023 compilation right now.
8024
ce79cc99 80252011-10-01 Ales Nesrsta <starous@volny.cz>
8026
8027 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8028 (fixed problem related to using UHCI with coreboot).
8029
8667a314
BC
80302011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8031
8032 * gentpl.py: Use Autogen macros so that the output template file
8033 (Makefile.tpl) size is reduced.
8034
fc5efcc0
MK
80352011-09-29 Mads Kiilerich <mads@kiilerich.com>
8036
8037 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8038 extra_dist.
8039
d1ab689d
ML
80402011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8041
8042 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8043 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8044
c05de032
ML
80452011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8046
8047 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8048 _fullpath.
8049
cca7ccd8
ML
80502011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8051
8052 Remove extra declaration of sleep for mingw32.
8053
8054 * util/misc.c (sleep) [__MINGW32__]: Removed.
8055 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8056
e0b0dc83
GS
80572011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8058
8059 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8060 type and packname.
8061 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8062 Resurrected.
8063 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8064 (grub_netbsd_btinfo_bootwedge): New struct.
8065 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8066 New function.
8067 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8068
91a1a164
TH
80692011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8070
8071 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8072 loader.
8073
2ded951e
AB
80742011-09-28 Andreas Born <futur.andy@googlemail.com>
8075
8076 Fix incorrect identifiers in bash-completion.
8077
8078 * util/bash-completion.d/grub-completion.bash.in
8079 (_grub_mkpasswd-pbkdf2): Rename to ...
8080 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8081 (_grub_script-check): Rename to ...
8082 (_grub_script_check): ... this. All users updated.
8083
69915030
VS
80842011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8087 Return 0 if disk isn't biosdisk.
8088
20fd15f9
GS
80892011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8090
8091 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8092 on NetBSD.
8093 * Makefile.util.def (grub-fstest): Likewise.
8094
1a7d7db9
GS
80952011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8096
8097 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8098 Get sector size from disk label.
8099
2221ab6c
CW
81002011-09-05 Colin Watson <cjwatson@ubuntu.com>
8101
8102 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8103 */README* as well as README*.
8104 Reported by: Axel Beckert.
8105
ca51c4a0
VS
81062011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8109 case of less than 256 MiB of RAM.
8110
ab80f326
VS
81112011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * grub-core/commands/wildcard.c (make_regex): Handle @.
8114
4155e697
VS
81152011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8118
ab178c08
SJ
81192011-08-21 Szymon Janc <szymon@janc.net.pl>
8120
8121 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8122 AC_LANG_CONFTEST macros.
8123
7dc3c686
SJ
81242011-08-20 Szymon Janc <szymon@janc.net.pl>
8125
8126 Add grub-fstest option to uncompress data for commands.
8127
8128 * util/grub-fstest.c (uncompress): New var.
8129 (options): New option -u.
8130
fe8d4a7b
SJ
81312011-08-20 Szymon Janc <szymon@janc.net.pl>
8132
8133 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8134 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8135
a5219af1
SJ
81362011-08-20 Szymon Janc <szymon@janc.net.pl>
8137
8138 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8139 file type was not recognized correctly (not gzip or corrupted).
8140
f87abff5
VS
81412011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8144 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
8145
d94497ea
VS
81462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8149 loongson.
8150 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8151 video_radeon_fuloong2e.
8152 * grub-core/video/radeon_fuloong2e.c: New file.
8153 * include/grub/video.h (grub_video_id_t): Add new ID
8154 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8155
0d1fd011
VS
81562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8159 define.
8160 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8161 that PRID matches the detected subplatform and reset the subplatform
8162 if it doesn't.
8163
84beb0ee
VS
81642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8167
1227c133
VS
81682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 Fix PCI iterating on functions >= 4.
8171
8172 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8173 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8174 Removed.
8175 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8176 (grub_pci_read): Fix bitmask.
8177 (grub_pci_read_word): Likewise.
8178 (grub_pci_read_byte): Likewise.
8179 (grub_pci_write): Likewise.
8180 (grub_pci_write_word): Likewise.
8181 (grub_pci_write_byte): Likewise.
8182
9594c689
VS
81832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8186 can still be specified in TARGET_CFLAGS)
8187
14a2562c
VS
81882011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8191
8192 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8193 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8194 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8195 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8196 (FULOONG): Rename to ...
8197 (FULOONG2F): ... this. All users updated.
8198 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8199 (machtype_fuloong2f_str): ... this.
8200 (machtype_fuloong2e_str): New string.
8201 Check for machtype_fuloong2e_str.
8202 * grub-core/loader/mips/linux.c (loongson_machtypes)
8203 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8204 * grub-core/term/serial.c (loongson_defserial)
8205 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8206 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8207 loongson_defserial.
8208 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8209 Rename to ...
8210 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8211 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8212 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8213 to IMAGE_FULOONG2F_FLASH. All users updated.
8214 (image_targets): Rename images.
8215 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8216
b526cbb6
SJ
82172011-08-19 Szymon Janc <szymon@janc.net.pl>
8218
8219 Make enable of disk cache statistics code configurable.
8220
8221 * configure.ac: --enable-cache-stats added.
8222 * config.h.in (DISK_CACHE_STATS): New define.
8223 * grub-core/Makefile.core.def (cacheinfo): New command.
8224 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
8225 * grub-core/commands/cacheinfo.c: New file.
8226 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
8227 moved to cacheinfo.c.
8228 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
8229 debug code.
8230 * include/grub/disk.h: Likewise.
8231
fb739ccd
SJ
82322011-08-19 Szymon Janc <szymon@janc.net.pl>
8233
8234 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
8235 * grub-core/Makefile.am: Likewise.
8236
2bba8cfd
VS
82372011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
8240 non-zero pull.
8241
43526629
VS
82422011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
8245 All users updated.
8246 (grub_jfs_lookup_symlink): Use correct starting inode.
8247
5c144cc8
VS
82482011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * util/grub-setup.c (main): Add missing gcry initialisation.
8251
b1257f65
VS
82522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 Don't accept text modes on EFI when booting Linux.
8255
8256 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
8257 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
8258
828bc390
ML
82592011-08-15 Mario Limonciello <mario_limonciello@dell.com>
82602011-08-15 Colin Watson <cjwatson@ubuntu.com>
8261
8262 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
8263 use of "/path/.." as in grub-install for EFI as well as handling
8264 symlinks correctly.
8265 Fixes Debian bug #637768.
8266
5f60ccac
CW
82672011-08-15 Colin Watson <cjwatson@ubuntu.com>
8268
8269 * util/grub-probe.c: Remove duplicate #include.
8270
6dc212f9
RM
82712011-08-10 Robert Millan <rmh@gnu.org>
8272
8273 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
8274
8275 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
8276 function.
8277 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
8278 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
8279
66816d85
RM
82802011-08-03 Robert Millan <rmh@gnu.org>
8281
8282 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
8283 la_array as packed.
8284 Reported by: Zachary Bedell
8285
20168fca
CW
82862011-07-26 Colin Watson <cjwatson@ubuntu.com>
8287
8288 * configure.ac: The Loongson port requires grub-mkfont due to its
8289 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
8290 be built.
8291
303b6246
CW
82922011-07-26 Colin Watson <cjwatson@ubuntu.com>
8293
8294 * util/grub-install.in: Don't source grub-mkconfig_lib until after
8295 processing arguments (otherwise help2man fails when GRUB has not yet
8296 been installed).
8297
6795300e
VS
82982011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8299
41aa28ea
VS
8300 New script grub-mkstandalone.
8301
8302 * Makefile.util.def (grub-mkstandalone): New script.
8303 * docs/man/grub-mkstandalone.h2m: New file.
8304 * util/grub-mkstandalone.in: Likewise.
8305
83062011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 Support ATA disks with 4K sectors.
6795300e
VS
8309
8310 * include/grub/ata.h (grub_ata): New member log_sector_size.
8311 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
8312 (grub_ata_identify): Read sector size.
8313 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
8314
92227597
VS
83152011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * util/grub-install.in: Don't use uhci outside of x86.
8318
c77069f5
VS
83192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * util/grub-mkrescue.in: Add missing quotes.
8322
83232011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
8324
8325 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
8326 dereference.
8327
583168a2
VS
83282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
8331
6be1c01f
VS
83322011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * include/grub/video.h: add missing EXPORT_FUND on
8335 grub_video_edid_checksum and grub_video_edid_preferred_mode.
8336
a1167439
VS
83372011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * include/grub/mips/kernel.h: Fix define conflict.
8340
bf66054f
VS
83412011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
8344 all four ways.
8345
8fc4fa45
CW
83462011-07-21 Colin Watson <cjwatson@ubuntu.com>
8347
8348 Preferred resolution detection for VBE.
8349
8350 * grub-core/video/video.c (grub_video_edid_checksum): New function.
8351 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
8352 the Flat Panel extension, in line with the X.org VESA driver.
8353 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
8354 New function.
8355 (grub_vbe_bios_get_ddc_capabilities): Likewise.
8356 (grub_vbe_bios_read_edid): Likewise.
8357 (grub_vbe_get_preferred_mode): Likewise.
8358 (grub_video_vbe_setup): When the mode is "auto", try to get the
8359 preferred mode from VBE, and use the largest mode that is no larger
8360 than the preferred mode (some BIOSes expose a preferred mode that is
8361 not in their mode list!). If this fails, fall back to 640x480 as a
8362 safe conservative choice.
8363 (grub_video_vbe_get_edid): New function.
8364 (grub_video_vbe_adapter): Add get_edid.
8365 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
8366 (struct grub_video_adapter): Add get_edid.
8367 (grub_video_edid_checksum): Add prototype.
8368 (grub_video_edid_preferred_mode): Likewise.
8369 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
8370 structure.
8371
8372 * grub-core/commands/videoinfo.c (print_edid): New function.
8373 (grub_cmd_videoinfo): Print EDID if available.
8374
8375 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
8376 is more appropriate on a wider range of platforms than 640x480.
8377 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
8378 documentation.
8379
ca5572a9
VS
83802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
8383
e4bcf625
VS
83842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * po/POTFILES.in: Regenerate.
8387
c4edd548
VS
83882011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
8391 incorrect memory usage.
8392
16a2bab0
VS
83932011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * util/grub-install.in: Source grub-mkconfig_lib.
8396
2e418de6
VS
83972011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Remove getroot.c from core on emu platform.
8400
8401 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
8402 kern/emu/raid.c.
8403 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
8404 useless.
8405 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
8406 * util/getroot.c (get_win32_path): ... here.
8407 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
8408 * util/getroot.c (fini_libzfs): ... here.
8409 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
8410 * util/getroot.c (grub_get_libzfs_handle): ... here.
8411 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
8412 Moved from here...
8413 * util/getroot.c (grub_find_zpool_from_dir): ... here.
8414 * grub-core/kern/emu/misc.c
8415 (grub_make_system_path_relative_to_its_root): Moved from here...
8416 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
8417 * grub-core/kern/emu/getroot.c: Moved from here ...
8418 * util/getroot.c: ... here. All users updated.
8419 * grub-core/kern/emu/raid.c: Moved from here ...
8420 * util/raid.c: ... here. All users updated.
8421
def9832a
VS
84222011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * po/POTFILES.in: Regenerate.
8425
cd8fe79a
VS
84262011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 Fix compilation on GNU/Linux.
8429
8430 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
8431 Disable geli.
8432 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
8433 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
8434 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
8435
a251b719
VS
84362011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
84372011-07-07 Michael Gorven <michael@gorven.za.net>
84382011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
8439
8440 LUKS and GELI support.
8441
8442 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
8443 grub-core/disk/luks.c, grub-core/disk/geli.c,
8444 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
8445 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
8446 grub-core/lib/arg.c.
8447 (libgrubmods.a): Remove gcrypts cflags and cppflags.
8448 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
8449 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
8450 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
8451 (grub-bin2h): Add libgcry.a.
8452 (grub-mkimage): Likewise.
8453 (grub-mkrelpath): Likewise.
8454 (grub-script-check): Likewise.
8455 (grub-editenv): Likewise.
8456 (grub-mkpasswd-pbkdf2): Likewise.
8457 (grub-pe2elf): Likewise.
8458 (grub-fstest): Likewise.
8459 (grub-mkfont): Likewise.
8460 (grub-mkdevicemap): Likewise.
8461 (grub-probe): Likewise.
8462 (grub-ofpath): Likewise.
8463 (grub-mklayout): Likewise.
8464 (example_unit_test): Likewise.
8465 (grub-menulst2cfg): Likewise.
8466 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
8467 * grub-core/Makefile.core.def (cryptodisk): New module.
8468 (luks): Likewise.
8469 (geli): Likewise.
8470 * grub-core/disk/AFSplitter.c: New file.
8471 * grub-core/disk/cryptodisk.c: Likewise.
8472 * grub-core/disk/geli.c: Likewise.
8473 * grub-core/disk/luks.c: Likewise.
8474 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
8475 grub_util_is_lvm.
8476 (grub_util_get_dm_abstraction): New function.
8477 (grub_util_follow_gpart_up): Likewise.
8478 (grub_util_get_geom_abstraction): Likewise.
8479 (grub_util_get_dev_abstraction): Use new functions.
8480 (grub_util_pull_device): Pull GELI and LUKS.
8481 (grub_util_get_grub_dev): Handle LUKS and GELI.
8482 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
8483 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
8484 (follow_geom_up): Removed.
8485 (grub_util_fd_seek): New function.
8486 (open_device): Use grub_util_fd_seek.
8487 (nread): Rename to ..
8488 (grub_util_fd_read): ... this. All users updated.
8489 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
8490 (grub_crypto_cbc_decrypt): Likewise.
8491 (grub_crypto_hmac_write): Likewise.
8492 (grub_crypto_hmac_buffer): Likewise.
8493 (grub_password_get): Extend to util.
8494 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
8495 New member modname.
8496 (gcry_md_spec) [GRUB_UTIL]: Likewise.
8497 * include/grub/cryptodisk.h: New file.
8498 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
8499 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
8500 LUKS and GELI.
8501 (grub_util_follow_gpart_up): New proto.
8502 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
8503 (grub_util_fd_read): Likewise.
8504 (grub_cryptodisk_cheat_mount): Likewise.
8505 (grub_util_cryptodisk_print_uuid): Likewise.
8506 (grub_util_get_fd_sectors): Likewise.
8507 * util/grub-fstest.c (mount_crypt): New var.
8508 (fstest): Mount crypto if requested.
8509 (options): New option -C.
8510 (argp_parser): Parse -C.
8511 (main): Init and fini gcry.
8512 * util/grub-install.in: Support cryptodisk install.
8513 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
8514 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
8515 cryptodisk.
8516 (prepare_grub_to_access_device): Likewise.
8517 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
8518 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
8519 (probe_cryptodisk_uuid): New function.
8520 (probe_abstraction): Likewise.
8521 (probe): Use new functions.
8522 * util/import_gcry.py: Create Makefile.utilgcry.def.
8523 Add modname member.
8524
9bfdcbbc
VS
85252011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Lazy device scanning.
8528
8529 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
8530 (grub-setup): Remove util/raid.c.
8531 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
8532 * grub-core/disk/lvm.c (scan_depth): New variable.
8533 (grub_lvm_iterate): Rescan if necessary.
8534 (find_lv): New function based on grub_lvm_open.
8535 (grub_lvm_open): Use find_lv. Rescan on error.
8536 (is_node_readable): New function.
8537 (is_lv_readable): Likewise.
8538 (grub_lvm_scan_device): Skip already found disks.
8539 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
8540 Stop if searched device is found and readable.
8541 * grub-core/disk/raid.c (inscnt): New variable.
8542 (scan_depth): Likewise.
8543 (scan_devices): New function based on grub_raid_register. Abort if
8544 looked for device is found.
8545 (grub_raid_iterate): Rescan if needed.
8546 (find_array): NEw function based on -grub_raid_open.
8547 (grub_raid_open): Use find_array and rescan.
8548 (insert_array): Set became_readable_at.
8549 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
8550 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
8551 New function.
8552 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
8553 (grub_util_pull_device): New function.
8554 (grub_util_get_grub_dev): Call grub_util_pull_device.
8555 * util/raid.c: Moved to ..
8556 * grub-core/kern/emu/raid.c: ... here.
8557 (grub_util_raid_getmembers): New parameter "bootable".
8558 All users updated. Support 1.x.
8559 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
8560 All users updated.
8561 * include/grub/disk.h (grub_disk_pull_t): New enum.
8562 (grub_disk_dev): Change iterate prototype.
8563 All users updated.
8564 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
8565 New proto.
8566 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
8567 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
8568 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
8569 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
8570 All users updated.
8571 * include/grub/util/raid.h: Removed.
8572
1c358e59
VS
85732011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * po/POTFILES.in: Regenerate.
8576
abee94ed
VS
85772011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 Unify sparc init with other ieee1275.
8580
8581 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
8582 instead of kern/sparc64/ieee1275/init.c.
8583 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
8584 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
8585 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
8586 grub/machine/kernel.h.
8587 (grub_ieee1275_original_stack) [__sparc__]: New variable.
8588 (grub_claim_heap) [__sparc__]: Use sparc version.
8589 (grub_machine_init): Moved args parsing to
8590 (grub_parse_cmdline): ...this.
8591 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8592 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8593 New definition.
8594 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8595
8596 Move BOOTP to separate file.
8597
8598 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8599 * grub-core/net/net.c: Move all BOOTP functions to
8600 * grub-core/net/bootp.c: ... here.
8601
8602 Use frame interface on PXE.
8603
8604 * grub-core/Makefile.core.def (pxecmd): Removed.
8605 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8606 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8607 * grub-core/i386/pc/pxe.c: Moved from here ...
8608 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8609 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8610 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8611
8612 EFI network support.
8613
8614 * grub-core/Makefile.core.def (efinet): New module.
8615 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8616 here...
8617 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8618 All users updated.
8619 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8620 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8621 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8622 * grub-core/net/drivers/efi/efinet.c: New file.
8623 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8624 (grub_efi_net_config): New extern var.
8625
8626 Various cleanups and bugfixes.
8627
8628 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8629 error.
8630 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8631 disk declared as partition.
8632 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8633 leak on failure.
8634 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8635 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8636 (grub_debug_zalloc): Likewise.
8637 (grub_debug_realloc): Likewise.
8638 (grub_debug_memalign): Likewise.
8639 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8640 Check that target is IPv4.
8641 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8642 local-mac-address as fallback.
8643 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8644 memory leak.
8645 * grub-core/net/ip.c (ipchksum): Rename to ...
8646 (grub_net_ip_chksum): ... this. All users updated.
8647 (grub_net_recv_ip_packets): Special handling for DHCP.
8648 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8649
8650 Unify prefix handling
8651
8652 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8653 (grub_machine_get_bootlocation): ... this.
8654 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8655 (grub_machine_get_bootlocation): ... this.
8656 (grub_prefix): New variable.
8657 (prefix): Removed.
8658 (root_dev): New variable.
8659 (dir): Likewise.
8660 (main): Use new variables.
8661 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8662 Revamped into ...
8663 (grub_machine_get_bootlocation): ... this.
8664 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8665 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8666 (grub_machine_get_bootlocation): ... this.
8667 (grub_machine_set_prefix): Removed.
8668 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8669 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8670 Revamped into ...
8671 (grub_machine_get_bootlocation): ... this.
8672 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8673 (grub_set_prefix_and_root): ... this. All users updated.
8674 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8675 Revamped into ...
8676 (grub_machine_get_bootlocation): ... this.
8677 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8678 (grub_machine_get_bootlocation): New proto.
8679 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8680
8681 Less intrusive and more reliable seek on network implementation.
8682
8683 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8684 (grub_file_seek): Don't call grub_file_net_seek.
8685 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8686 (grub_net_fs_read_real): .. this.
8687 (grub_net_seek_real): Use net->offset.
8688 (grub_net_fs_read): Seek if necessary.
8689
8690 Unify IEEE1275 netwotk config with the other platforms.
8691
8692 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8693 New variable.
8694 (grub_machine_get_bootlocation): Support network.
8695 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8696 Support type and device parsing.
8697 (grub_ieee1275_get_device_type): New function.
8698 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8699 into ...
8700 (grub_ieee1275_net_config_real): ... this.
8701 (grub_ofnet_probecards): Removed.
8702 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8703 * include/grub/ieee1275/ofnet.h: Removed.
8704 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8705 extern var.
8706 (grub_ieee1275_get_device_type): New function.
8707
8708 Unify network device closing across platforms and make more robust.
8709
8710 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8711 grub_grubnet_fini.
8712 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8713 already.
8714 * grub-core/net/net.c (grub_net_network_level_interface_register):
8715 Update num_ifaces.
8716 (grub_net_card_unregister): Close all interfaces.
8717 (receive_packets): Don't poll if no iterfaces are registered.
8718 Open if necessary.
8719 (grub_net_fini_hw): New function.
8720 (grub_net_restore_hw): Likewise.
8721 (fini_hnd): New variable.
8722 (GRUB_MOD_INIT): Register preboot hook.
8723 (GRUB_MOD_FINI): Run and unregister preboot hook.
8724
8725 Poll network cards when idle.
8726
8727 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8728 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8729 * grub-core/net/net.c (receive_packets): Save last poll time.
8730 (grub_net_poll_cards_idle_real): New function.
8731 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8732 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8733 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8734
8735 Rename ofnet interfaces.
8736
8737 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8738 (grub_ofnet_findcards): Use ofnet_%s names.
8739
8740 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8741
8742 Cleanup socket opening.
8743
8744 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8745 (grub_net_fs_close): Likewise.
8746 (grub_net_fs_read_real): Use eof member.
8747 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8748 (+grub_net_udp_close): New inline function.
8749
8750 * include/grub/net/tftp.h: Moved to the top of ...
8751 * grub-core/net/tftp.c: ... here.
8752 * include/grub/net/ip.h: Moved mostly to the top of ...
8753 * grub-core/net/ip.c: ... here.
8754 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8755 * grub-core/net/ethernet.c: ... here.
8756
8757 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8758
8759 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8760 FS name.
8761
8762 * include/grub/net/ip.h (ipv4_ini): Removed.
8763 (ipv4_fini): Likewise.
8764
8765 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8766 (grub_net_send_ip_packets): Likewise.
8767
cf1337aa
VS
87682011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8771 grub_read_cmos prototype.
8772
93c06ff9
VS
87732011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 VGA text support in qemu-mips
8776
8777 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8778 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8779 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8780 text.
8781 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8782 * grub-core/kern/vga_init.c: ... this.
8783 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8784 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8785 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8786 Adjust.
8787 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8788 GRUB_MACHINE_PCI_IO_BASE.
8789
748ccabe
VS
87902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 MIPS qemu flash support.
8793
8794 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8795 magic.
8796 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8797 (grub_machine_init): Probe memory if its size isn't known.
8798 * util/grub-mkimage.c (image_targets): Add flash targets.
8799 (generate_image): Handle flash targets.
8800
d7345994
VS
88012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 MIPS qemu at_keyboard support.
8804
8805 * gentpl.py (videoinkernel): Add qemu-mips.
8806 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8807 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8808 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8809 modules.
8810 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8811 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8812 * grub-core/term/serial.c (grub_serial_register)
8813 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8814
a07a81b3
VS
88152011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 CMOS support on sparc.
8818
8819 * gentpl.py (cmos): Add powerpc and sparc.
8820 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8821 powerpc and sparc.
8822 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8823 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8824 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8825 grub_set_datetime_cmos.
8826 * grub-core/lib/ieee1275/cmos.c: New file.
8827 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8828 (find_rtc): Set no_ieee1275_rtc on error.
8829 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8830 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8831 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8832 fail. Move value to argument. All users updated
8833 (grub_cmos_write): Likewise.
8834 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8835 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8836 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8837 grub_get_datetime_cmos and grub_set_datetime_cmos.
8838
77546584
GS
88392011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8840
8841 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8842 sourcing grub-mkconfig_lib.
8843 * util/update-grub_lib.in: Likewise.
8844 * util/grub.d/00_header.in: Likewise.
8845 * util/grub.d/10_hurd.in: Likewise.
8846 * util/grub.d/10_kfreebsd.in: Likewise.
8847 * util/grub.d/10_linux.in: Likewise.
8848 * util/grub.d/10_netbsd.in: Likewise.
8849 * util/grub.d/10_windows.in: Likewise.
8850 * util/grub.d/20_linux_xen.in: Likewise.
8851 * util/grub.d/30_os-prober.in: Likewise.
8852
54894791
CW
88532011-06-28 Colin Watson <cjwatson@ubuntu.com>
8854
8855 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8856 default_bg_color rather than black.
8857 (grub_gfxterm_fullscreen): Likewise.
8858 (grub_gfxterm_background_color_cmd): Save new background color in
8859 default_bg_color.
8860
8d5d8444
VS
88612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8864
5afeb5bd
VS
88652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8868 mismerge.
8869
ba7df45e
VS
88702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Chainloading on coreboot support.
8873
8874 * grub-core/Makefile.core.def (chain): Add coreboot.
8875 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8876
d0b526b2
VS
88772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8880 if it happens.
8881
5ff1d945
VS
88822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 Implement time command.
8885
8886 * grub-core/Makefile.core.def (time): New module.
8887 * grub-core/commands/time.c: New file.
8888 * grub-core/script/parser.y: Remove "time" keyword.
8889 * grub-core/script/yylex.l: Likewise.
8890
5ebaad7e
VS
88912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8894
bdea3798
VS
88952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8898 when handling leftovers.
8899
b28c5655
VS
89002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8903 so that help2man doesn't fail.
8904
b6f945dc
VS
89052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8908 type in pointers on sparc64.
8909 (get_card_packet): Likewise.
8910
f9b75e8a
CW
89112011-06-27 Colin Watson <cjwatson@ubuntu.com>
8912
8913 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8914 with `*'.
8915 (grub_cmd_videoinfo): Fetch current video mode.
8916
1e3d9b86
VS
89172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8920 because of underlying system restrictions.
8921
efff4b1c
VS
89222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8925 necessary.
8926
9fc9ce37
VS
89272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 Coreboot video support.
8930
8931 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8932 (vbe): Likewise.
8933 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8934 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8935 here ...
8936 * grub-core/kern/i386/int.S: ... here.
8937 * grub-core/video/i386/pc/vbe.c: Updated includes.
8938 * grub-core/video/i386/pc/vga.c: Likewise.
8939 * include/grub/i386/coreboot/memory.h
8940 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8941 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8942 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8943 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8944 Disable interrupts.
8945 * include/grub/i386/pc/vga.h: Removed. All users updated.
8946
41bec7fe
VS
89472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8950 definitions for dprintf.
8951 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8952
ca80309d
VS
89532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8956 prototype.
8957 (get_card_packet): Likewise.
8958
9e322ce8
YB
89592011-06-26 Yves Blusseau <blusseau@zetam.org>
8960
8961 Display the path of the file when file is not found
8962
8963 * grub-core/fs/fat.c: Display the filename when file is not found.
8964 * grub-core/fs/fshelp.c: Likewise.
8965 * grub-core/fs/hfs.c: Likewise.
8966 * grub-core/fs/jfs.c: Likewise.
8967 * grub-core/fs/minix.c: Likewise.
8968 * grub-core/fs/ufs.c: Likewise.
8969 * grub-core/fs/btrfs.c: Likewise.
8970 * grub-core/commands/i386/pc/play.c: Likewise.
8971
cbf597af
SJ
89722011-06-26 Szymon Janc <szymon@janc.net.pl>
8973
8974 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8975 pointer checks before calling grub_free().
8976 * grub-core/commands/wildcard.c (match_devices): Likewise.
8977 * grub-core/commands/wildcard.c (match_files): Likewise.
8978 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8979 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8980 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8981 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8982 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8983 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8984 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8985 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8986 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8987
6295b32f
P
89882011-06-25 Patrick <p55@mailinator.com>
8989
8990 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8991
77c0840b
VS
89922011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8995 (grub_pxe_send): Likewise.
8996 (GRUB_MOD_INIT): Fix types.
8997
40ea05de
SJ
89982011-06-24 Szymon Janc <szymon@janc.net.pl>
8999
9000 * grub-core/io/xzio.c: Fix code style issues
9001
90162423
MRA
90022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
90032011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9004
9005 Network infrastructure.
9006 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9007
9008 * include/grub/net/arp.h: New file.
90162423
MRA
9009 * include/grub/net/device.h: Likewise.
9010 * include/grub/net/ethernet.h: Likewise.
9011 * include/grub/net/ip.h: Likewise.
9012 * include/grub/net/netbuff.h: Likewise.
9013 * include/grub/net/tftp.h: Likewise.
9014 * include/grub/net/udp.h: Likewise.
9015 * include/grub/ieee1275/ofnet.h: Likewise.
9016 * include/grub/emu/export.h: Likewise.
9017 * include/grub/net.h: Likewise.
9018 * grub-core/net/arp.c: Likewise.
9019 * grub-core/net/ethernet.c: Likewise.
9020 * grub-core/net/ip.c: Likewise.
9021 * grub-core/net/udp.c: Likewise.
9022 * grub-core/net/tftp.c: Likewise.
9023 * grub-core/net/netbuff.c: Likewise.
9024 * grub-core/net/net.c: Likewise.
9025 * grub-core/net/drivers/emu/emunet.c: Likewise.
9026 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9027 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9028 export.h.
9029 * grub-core/Makefile.core.def (net): New module.
9030 (tftp): Likewise.
9031 (ofnet): Likewise.
9032 (emunet): Likewise.
9033 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9034 network protocols.
9035 * grub-core/kern/device.c (grub_net_open) : New variable.
9036 (grub_device_open): Handle network device.
9037 (grub_device_close): Likewise.
9038 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9039 (grub_grubnet_fini): Likewise.
9040 (grub_file_seek): Seek in network device.
9041 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9042 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9043 network root.
9044 (grub_machine_fini): Call grub_grubnet_fini.
9045 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9046 network.
9047 (grub_ieee1275_get_aliasdevname): New function.
9048 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9049 Add unofficial Solaris network info.
9050 (grub_multiboot_make_mbi): Likewise.
9051 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9052 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9053 * include/grub/device.h (grub_fs): Removed.
9054 * include/grub/err.h (grub_err_t): Add network-related values.
9055 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9056 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9057 (grub_ieee1275_get_aliasdevname): New proto.
9058 * include/grub/net.h: Rewritten.
423a1849 9059
031f22a0
VS
90602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9063 names.
9064
4388ca72
VS
90652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9068 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9069 it truncates the output.
9070 Reported by: Ximin Luo.
9071
98e2f506
VS
90722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9075
2a5e94d8
VS
90762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9079 partmap before abstraction.
9080
535c1910
AK
90812011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9082
9083 * util/grub-mkconfig_lib.in: Add missing quotes.
9084
bc09e1a2
VS
90852011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9088 old method if mountinfo would return /dev/root and /dev/root doesn't
9089 exist.
9090
290766fb
VS
90912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 ZFS zlib support
9094
9095 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9096 (decomp_table): Add zlib entries.
9097 (zio_read): USe 8 bits for compression function rather than 3.
9098 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9099
91002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/disk/ahci.c: Add missing license statements.
9103 * grub-core/fs/romfs.c: Likewise.
9104 * grub-core/lib/ia64/setjmp.S: Likewise.
9105 * grub-core/loader/i386/pc/freedos.c: Likewise.
9106 * grub-core/loader/ia64/efi/linux.c: Likewise.
9107 * grub-core/video/colors.c: Likewise.
9108 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9109
5ab3f48a
VS
91102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 AHCI support.
9113
9114 * grub-core/Makefile.core.def (ata_pthru): Removed.
9115 (ahci): New module.
9116 (pata): Likewise.
9117 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9118 on unload.
9119 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9120 readwrite.
9121 (grub_hdparm_do_check_powermode_cmd): Likewise.
9122 (grub_hdparm_do_smart_cmd): Likewise.
9123 (grub_hdparm_set_val_cmd): Likewise.
9124 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9125 * grub-core/disk/ahci.c: New file.
9126 * grub-core/disk/ata.c: Factor out the low-level part into ...
9127 * grub-core/disk/pata.c: ... here.
9128 * grub-core/disk/ata_pthru.c: Contents moved to ...
9129 * grub-core/disk/pata.c: ... here.
9130 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9131 (grub_scsi_iterate): Use grub_scsi_names.
9132 (grub_scsi_open): Likewise.
9133 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9134 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9135 (grub_ata_regs_t): New struct.
9136 (grub_disk_ata_pass_through_parms): Likewise.
9137 (grub_ata_device): Renamed to ...
9138 (grub_ata): ... this.
9139 (grub_ata_dev): New struct.
9140 Removed all low-level inline functions.
9141 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9142 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9143 iterate hooks and open. All users updated.
9144 * util/grub-install.in: Handle AHCI disk module.
9145
c31dc5f5
SJ
91462011-06-23 Szymon Janc <szymon@janc.net.pl>
9147
9148 Add support for DRI and RSTn markers in JPEG files.
9149
9150 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9151 (JPEG_MARKER_RST0): Likewise.
9152 (JPEG_MARKER_RST1): Likewise.
9153 (JPEG_MARKER_RST2): Likewise.
9154 (JPEG_MARKER_RST3): Likewise.
9155 (JPEG_MARKER_RST4): Likewise.
9156 (JPEG_MARKER_RST5): Likewise.
9157 (JPEG_MARKER_RST6): Likewise.
9158 (JPEG_MARKER_RST7): Likewise.
9159 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9160 (grub_jpeg_decode_dri): New function.
9161 (grub_jpeg_decode_sos): Move image data related part into
9162 grub_jpeg_decode_data function.
9163 (grub_jpeg_decode_data): New function.
9164 (grub_jpeg_reset): New function.
9165 (grub_jpeg_decode_jpeg): Handle new markers.
9166
fe12fd5b
VS
91672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * util/ieee1275/ofpath.c (check_sas): Close fd.
9170 (main): Free of_path.
9171 Reported by: David Volgyes <dvolgyes>.
9172
03147f46
VS
91732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9176 Reported by: David Volgyes <dvolgyes>.
9177
cad3237f
VS
91782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9181 file after stat.
9182 Reported by: David Volgyes <dvolgyes>.
9183
13548d26
VS
91842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9187
9188 Reported by: David Volgyes <dvolgyes>.
9189
e061a1b5
VS
91902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9193 Prevent memory leak.
9194
1abe47dc
VS
91952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9198 (main): Close file.
e061a1b5 9199 Reported by: David Volgyes <dvolgyes>.
1abe47dc 9200
fbc62666
VS
92012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9204 to continue if allocation is failed.
9205
9206 Reported by: David Volgyes <dvolgyes>.
9207
e98c83e9
DV
92082011-06-23 David Volgyes <dvolgyes>
9209
9210 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9211 dereference.
9212
a199a8cd
VS
92132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 Fix spurious warning.
9216
9217 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9218 (acorn_partition_map_find): Use .bin member.
9219
e2d1dba0
VS
92202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9223 /dev/root as a valid device.
9224
8a5d6919
JM
92252011-06-23 Jim Meyering <meyering@redhat.com>
9226
e2d1dba0
VS
9227 Avoid NULL deref in grub_device_open.
9228
8a5d6919
JM
9229 * grub-core/kern/device.c (grub_device_open): Don't dereference
9230 a NULL pointer upon failed grub_env_get.
9231
f7db6f4a
VS
92322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Support non-512B sectors and agglomerate reads.
9235
9236 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
9237 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
9238 (disk_io_guid): Removed.
9239 (make_devices): Locate solely by BlockIO.
9240 (grub_efidisk_open): Fill log_sector_size and total_sectors.
9241 (grub_efidisk_read): Use read_blocks.
9242 (grub_efidisk_write): Use write_blocks.
9243 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
9244 log_sector_size.
9245 (get_safe_sectors): Handle non-512B sectors.
9246 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
9247 sectors.
9248 (grub_biosdisk_write): Handle non-512B sectors.
9249 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
9250 (grub_scsi_read): Remove special non-512B block handling (now handled
9251 one level up).
9252 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
9253 and do sanity checks.
9254 (grub_disk_adjust_range): Handle non-512B sectors.
9255 (transform_sector): New function.
9256 (grub_disk_read_small): Likewise.
9257 (grub_disk_read): Rewritten.
9258 (grub_disk_write): Handle non-512B sectors.
9259 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
9260 log_sector_size.
9261 (open_device): Use log_sector_size.
9262 (grub_util_biosdisk_read): Likewise.
9263 (grub_util_biosdisk_write): Likewise.
9264 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
9265 non-512B sectors.
9266 (pc_partition_map_embed): Likewise.
9267 * include/grub/disk.h (grub_disk): New field log_sector_size.
9268 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
9269 (GRUB_DISK_CACHE_BITS): Increased to 6.
9270 * util/grub-fstest.c (fstest): New command testload.
9271 (argp_parser): Likewise.
9272
881ac815
RM
92732011-06-16 Robert Millan <rmh@gnu.org>
9274
9275 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
9276 `ata' driver on kernel of FreeBSD 9.
9277
9278 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
9279 (get_ataraid_disk_name): New functions.
9280 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
9281 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
9282 get_ataraid_disk_name() and get_ada_disk_name().
9283
1e9aef7d
CW
92842011-06-13 Colin Watson <cjwatson@ubuntu.com>
9285
9286 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
9287 input format.
9288
351c7c8a
CW
92892011-05-29 Colin Watson <cjwatson@ubuntu.com>
9290
9291 * docs/grub.texi (Obtaining and Building GRUB): Substitute
9292 `ftp.gnu.org' for `alpha.gnu.org'.
9293
6b4e6430
CW
92942011-05-27 Colin Watson <cjwatson@ubuntu.com>
9295
9296 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
9297 partitions under /dev/disk/by-id/.
9298
c64db050
CW
92992011-05-27 Colin Watson <cjwatson@ubuntu.com>
9300
9301 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
9302 after ten consecutive open failures. Scanning all the way up to
9303 10000 is excessive and can cause serious performance problems in
9304 some configurations.
9305 Fixes Ubuntu bug #787461.
9306
245f4aba
VS
93072011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
9310 opening new one.
9311
f767c929
VS
93122011-05-21 Colin Watson <cjwatson@ubuntu.com>
93132011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 Don't stat devices unless we have to.
9316
9317 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
9318 dir == /dev/mapper.
9319 (grub_guess_root_device): Use already known os_dev if possible.
9320 * grub-core/kern/emu/hostdisk.c
9321 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
9322 if device is known to be a dm one.
9323
f35fa3a6
CW
93242011-05-20 Colin Watson <cjwatson@ubuntu.com>
9325
9326 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
9327 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
9328 Reported by: Pawel Tecza.
9329
9a79fcf2
VS
93302011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
9333 (lsefisystab): Likewise.
9334 (lssal): Likewise.
9335 (lsefimmap): Likewise.
9336 (hdparm): Enable on qemu-mips.
9337 (setjmp): Add ia64 nodist.
9338 (serial): Simplify tags.
9339
63e3eea9
CW
93402011-05-18 Colin Watson <cjwatson@ubuntu.com>
9341
9342 * Makefile.util.def (grub-ofpathname): Install manual page.
9343
09728256
CW
93442011-05-18 Colin Watson <cjwatson@ubuntu.com>
9345
9346 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
9347
8b63a142
CW
93482011-05-18 Colin Watson <cjwatson@ubuntu.com>
9349
9350 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
9351
e775d8ed
VS
93522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
9355 into dprintf.
9356
bf947d36
VS
93572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 Use full 64-bit division.
9360
9361 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
9362 (grub_divmod64): ... this.
9363 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
9364 version.
9365
b84f26c5
CW
93662011-05-18 Colin Watson <cjwatson@ubuntu.com>
9367
9368 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
9369 `source'.
9370
5626056f
CW
93712011-05-18 Colin Watson <cjwatson@ubuntu.com>
9372
9373 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
9374 to avoid accidents when debugging with 'sh -x'.
9375 * grub-core/gensyminfo.sh.in: Likewise.
9376 * tests/example_scripted_test.in: Likewise.
9377 * tests/grub_cmd_regexp.in: Likewise.
9378 * tests/grub_script_blanklines.in: Likewise.
9379 * tests/grub_script_dollar.in: Likewise.
9380 * tests/grub_script_expansion.in: Likewise.
9381 * tests/grub_script_final_semicolon.in: Likewise.
9382 * tests/partmap_test.in: Likewise.
9383 * tests/util/grub-shell-tester.in: Likewise.
9384 * tests/util/grub-shell.in: Likewise.
9385
e2965f4a
CW
93862011-05-18 Colin Watson <cjwatson@ubuntu.com>
9387
9388 Move gfxmenu color handling to video, so that gfxterm can use it
9389 too.
9390
9391 * grub-core/gfxmenu/named_colors.c: Move to ...
9392 * grub-core/video/colors.c: ... here. Rename
9393 grub_gui_get_named_color to grub_video_get_named_color.
9394 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
9395 * grub-core/video/colors.c (my_isxdigit): ... here.
9396 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
9397 Move to ...
9398 * grub-core/video/colors.c (parse_hex_color_component): ... here.
9399 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
9400 to ...
9401 * grub-core/video/colors.c (grub_video_parse_color): ... here.
9402
9403 * include/grub/gui.h (grub_gui_color_t): Move to ...
9404 * include/grub/video.h (grub_video_rgba_color_t): ... here.
9405 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
9406 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
9407 * include/grub/gui.h (grub_gui_map_color): Move to ...
9408 * include/grub/video.h (grub_video_map_rgba_color): ... here.
9409 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
9410 to ...
9411 * include/grub/video.h (grub_video_get_named_color): ... here.
9412 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
9413 * include/grub/video.h (grub_video_parse_color): ... here.
9414
9415 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
9416 video/colors.c.
9417 (gfxmenu): Remove gfxmenu/named_colors.c.
9418 (video) [videomodules]: Add video/colors.c.
9419
9420 Add a background_color command.
9421
9422 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
9423 function.
9424 (GRUB_MOD_INIT): Register background_color command.
9425 (GRUB_MOD_FINI): Unregister background_color command.
9426 (redraw_screen_rect): Allow blend/replace of text layer to be
9427 controlled independently from whether there is a background bitmap.
9428 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
9429 changing bitmap.
9430
1e4b4390
VS
94312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9432
26618ff0
VS
9433 Patch BPB in ntldr and chainloader --bpb.
9434
1e4b4390
VS
9435 * grub-core/fs/fat.c: Include grub/fat.h.
9436 (grub_fat_bpb): Moved to ...
9437 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
9438 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
9439 grub/ntfs.h.
9440 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
9441 Moved from here...
9442 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
9443 here.
9444 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
9445 New function.
9446 (grub_chainloader_cmd): Patch BPB if --bpb is given.
9447 (GRUB_MOD_INIT): Show --bpb.
9448 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
9449 * grub-core/normal/main.c (features): New variable.
9450 (GRUB_MOD_INIT): Set feature_* variables.
9451 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
9452 proto.
9453 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
9454
cf02731e
VS
94552011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
9458 for cleanness.
9459
e3a1073f
VS
94602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 FreeDOS direct loading support.
9463
9464 * docs/grub.texi (Supported OS): Add FreeDOS.
9465 * grub-core/Makefile.core.def (freedos): New module.
9466 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
9467 variable.
9468 (grub_relocator16_boot): Handle %ebx.
9469 * grub-core/lib/i386/relocator16.S: Likewise.
9470 * grub-core/loader/i386/pc/freedos.c: New file.
9471
05caa461
VS
94722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 Long Linux command line support.
9475
9476 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9477 (maximal_cmdline_size): New variable.
9478 (allocate_pages): Use maximal_cmdline_size.
9479 (grub_cmd_linux): Set and use maximal_cmdline_size.
9480 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9481 (allocate_pages): Use maximal_cmdline_size.
9482 (grub_cmd_linux): Set and use maximal_cmdline_size.
9483 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
9484 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
9485 and cmdline_size.
9486
a2491e23
VS
94872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
94882011-05-18 Colin Watson <cjwatson@ubuntu.com>
9489
9490 Improve devmapper support
9491
9492 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
9493 (grub_util_is_lvm): New function.
9494 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
9495 than lvm if not dmraid.
9496 Handle mapped md nodes.
9497 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
9498 (grub_util_device_is_mapped): ... this. Make always available. All users
9499 updated.
9500 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
9501 (convert_system_partition_to_system_disk): Handle lvm, mpath and
9502 dmraid nodes.
9503 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
9504
6ad6223e
VS
95052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
9508
9509 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
9510 * grub-core/modinfo.sh.in: New file.
9511 * grub-core/Makefile.core.def (modinfo.sh): New script.
9512 * util/grub-mknetdir.in: Use modinfo.sh.
9513 * util/grub-mkrescue.in: Likewise.
9514
543a8f6e
VS
95152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9518 Fix potential usage of Elf32 instead of Elf64 when compiling on
9519 32-bit architecture. Add endianness macros while on it.
9520
4959e111
VS
95212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 Use mipsel- rather than mips- in directories involving mipsel ports to
9524 allow both endiannesses coexist.
9525
9526 * configure.ac: proparate target_cpu=mipsel rather than resetting to
9527 mips. All conditions adjusted.
9528 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
9529 variable.
9530 * util/grub-install.in: Adjust conditions to take renaming into account.
9531 * util/grub-mkimage.c (image_targets): Likewise. New target
9532 mips-qemu_mips-elf for bigendian mips.
9533
35341bbc
VS
95342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 Avoid unnecessary copying on MIPS.
9537
9538 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
9539 early if src == dest.
9540 * util/grub-mkimage.c (generate_image): Arange for src == dest if
9541 compression is none.
9542
b772baed
VS
95432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 Reduce memory footprint on SGI by putting modules before the kernel
9546 as opposed to after.
9547
9548 * grub-core/Makefile.core.def (kernel): Increase linking address.
9549 (none_decompress): Likewise.
9550 (xz_decompress): Likewise.
9551 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
9552 address.
9553 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
9554 layout change.
9555 (grub_arch_modules_addr): New function.
9556 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
9557 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
9558 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
9559 here.
9560 * grub-core/kern/mips/startup.S (total_size): Rename to ...
9561 (grub_total_modules_size): ... this. Make global.
9562 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
9563 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
9564 New definition.
9565 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
9566 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
9567 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
9568 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
9569 * util/grub-mkimage.c (image_target_desc): New flag
9570 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
9571 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
9572 (generate_image): Handle images with modules before kernel.
9573
566a1917
VS
95742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 Prevent potential loss of memory map by overwrite on qemu-mips.
9577
9578 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9579 Save ram size in $s4.
9580 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
9581 All users changed to grub_arch_memsize.
9582 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
9583 Loongson.
9584 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
9585 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
9586 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
9587 external variable.
9588
5d420cd9
CW
95892011-05-17 Colin Watson <cjwatson@ubuntu.com>
9590
9591 * .bzrignore: Remove grub-dumpbios.
9592
d064b830
CW
95932011-05-17 Colin Watson <cjwatson@ubuntu.com>
9594
9595 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9596 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9597 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9598 existing options which append).
9599 * docs/grub.texi (Simple configuration): Document new options.
9600 Reported by: Ian Jackson. Fixes Debian bug #617538.
9601
3ca2b466
CW
96022011-05-17 Colin Watson <cjwatson@ubuntu.com>
9603
9604 * util/grub-fstest.c (cmd_cat): New function.
9605 (fstest): Handle CMD_CAT.
9606 (options): Add cat.
9607 (argp_parser): Handle cat.
9608
24c9143a
CW
96092011-05-17 Colin Watson <cjwatson@ubuntu.com>
9610
9611 * Makefile.util.def (grub-bin2h): Don't install.
9612 * docs/man/grub-bin2h.h2m: Remove.
9613
90f7ac19
VS
96142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9617 place.
9618
8d4a5178
VS
96192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 Reenable qemu-mips port.
9622
9623 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9624 Fix small arc bug while on it.
9625 * gentpl.py: Handle qemu_mips.
9626 * grub-core/Makefile.am: Likewise.
9627 * grub-core/Makefile.core.def: Likewise.
9628 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9629 inappropriate includes.
9630 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9631 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9632 * grub-core/kern/main.c (grub_modules_get_end)
9633 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9634 * grub-core/kern/mips/qemu-mips: Moved to ..
9635 * grub-core/kern/mips/qemu_mips: ... this.
9636 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9637 (grub_machine_init): Call terminfo_init and serial_init.
9638 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9639 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9640 New variable.
9641 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9642 parameter passing.
9643 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9644 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9645 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9646 * include/grub/mips/qemu_mips/cmos.h: New file.
9647 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9648 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9649 Removed.
9650 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9651 Use correct mips-style address.
9652 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9653 (GRUB_TICKS_PER_SECOND): Removed.
9654 (grub_get_rtc): Likewise.
9655 (grub_cpu_idle): Likewise.
9656 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9657 New definition.
9658 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9659 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9660 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9661 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9662 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9663 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9664 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9665 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9666
400b9371
VS
96672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 SGI ARCS port.
9670
9671 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9672 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9673 platforms.
9674 * configure.ac: New target mips-arc.
9675 * gentpl.py: Likewise.
9676 * grub-core/Makefile.am: Likewise.
9677 * grub-core/Makefile.core.def: Likewise.
9678 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9679 (none_decompress): Likewise.
9680 (lsdev): New module.
9681 (datetime): Use lib/arc/datetime.c on ARC.
9682 (part_dvh): New module.
9683 * grub-core/commands/arc/lsdev.c: New file.
9684 * grub-core/disk/arc/arcdisk.c: Likewise.
9685 * grub-core/kern/mips/arc/init.c: Likewise.
9686 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9687 aligned addresses.
9688 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9689 support.
9690 (grub_arch_dl_relocate_symbols): Likewise.
9691 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9692 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9693 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9694 platforms.
9695 * grub-core/lib/arc/datetime.c: New file.
9696 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9697 pci.h on non-loongson.
9698 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9699 (grub_linux_boot): Set unused registers to 0.
9700 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9701 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9702 * grub-core/mmap/mips/uppermem.c: ...here.
9703 * grub-core/partmap/dvh.c: New file.
9704 * grub-core/term/arc/console.c: Likewise.
9705 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9706 (grub_terminfo_set_current): Add terminal "arc".
9707 (grub_terminfo_readkey): Support ARC sequences.
9708 * include/grub/arc/arc.h: New file.
9709 * include/grub/arc/console.h: Likewise.
9710 * include/grub/disk.h (grub_disk_dev_id): Add
9711 GRUB_DISK_DEVICE_ARCDISK_ID.
9712 * include/grub/mips/arc/kernel.h: New file.
9713 * include/grub/mips/arc/memory.h: Likewise.
9714 * include/grub/mips/arc/time.h: Likewise.
9715 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9716 * include/grub/mips/kernel.h (grub_halt): ... here.
9717 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9718 here...
9719 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9720 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9721 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9722 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9723 proto.
9724 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9725 from here ...
9726 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9727 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9728 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9729 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9730 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9731 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9732 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9733 (grub_phys_addr_t): Moved from here ...
9734 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9735 (grub_vtop): Moved from here ...
9736 * include/grub/mips/memory.h (grub_vtop): ... here.
9737 (grub_map_memory): Moved from here ...
9738 * include/grub/mips/memory.h (grub_map_memory): ... here.
9739 (grub_unmap_memory): Moved from here ...
9740 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9741 (grub_machine_mmap_iterate): Moved from here ...
9742 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9743 (grub_mmap_get_lower): Moved from here ...
9744 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9745 (grub_mmap_get_upper): Moved from here ...
9746 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9747 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9748 here ...
9749 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9750 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9751 here ...
9752 * include/grub/mips/time.h (grub_get_rtc): ... here.
9753 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9754 here ...
9755 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9756 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9757 here ...
9758 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9759 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9760 definition.
9761 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9762 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9763 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9764 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9765 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9766 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9767 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9768 (GRUB_MACHINE_LINK_ADDR): Likewise.
9769 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9770 to 6.
9771 * util/grub-install.in: Run dvhtool on ARC.
9772 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9773 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9774
c8ecc840
VS
97752011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9778 blocks.
9779
153a4b55
VS
97802011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9783 after enabling port.
9784
ff44d107
VS
97852011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 Skip incorrect USB devices.
9788
9789 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9790 configcnt == 0.
9791 * include/grub/usb.h (grub_usb_err_t): New enum value
9792 GRUB_USB_ERR_BADDEVICE.
9793
638dbe4f
VS
97942011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 Fuloong video init support.
9797
9798 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9799 well.
9800 (grub_vga_read_arx): New function.
9801 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9802 definition.
9803 (framebuffer): New members io, mmioptr and mmiobase.
9804 (read_sis_cmd): New function.
9805 (write_sis_cmd): Likewise.
9806 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9807 rather than 640x400.
9808 * grub-core/video/sis315_init.c: New file.
9809
c3fc520c
VS
98102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9813 non-loongson.
9814 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9815 to grub_dl_register_symbol.
9816
67b1e5c9
VS
98172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 Fix compilation errors.
9820
9821 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9822 potentially unused.
9823 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9824 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9825 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9826 to loongson machines.
9827
b756f75f
VS
98282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 Several FS mtime support.
9831
9832 * grub-core/fs/affs.c (grub_affs_time): New struct.
9833 (grub_affs_file): New field mtime.
9834 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9835 type. Removed 'size'. New field 'di'. All users updated.
9836 (grub_affs_mount): Simplify checsum checking.
9837 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9838 (grub_affs_dir): Handle mtime.
9839 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9840 (grub_cpio_dir): Likewise.
9841 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9842 (grub_hfs_filerec): New field mtime.
9843 (grub_hfs_dir): Handle mtime.
9844 (grub_hfs_mtime): New function.
9845 (grub_hfs_fs): Register grub_hfs_mtime.
9846 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9847 (grub_iso9660_dir): New field mtime.
9848 (grub_fshelp_node): New field dirent.
9849 (iso9660_to_unixtime): New function.
9850 (iso9660_to_unixtime2): Likewise.
9851 (grub_iso9660_read_symlink): Use node->dirent.
9852 (grub_iso9660_iterate_dir): Likewise.
9853 (grub_iso9660_dir): Set mtime.
9854 (grub_iso9660_mtime): New function.
9855 (grub_iso9660_fs): Register grub_iso9660_mtime.
9856 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9857 (grub_jfs_inode): New fields atime, ctime and mtime.
9858 (grub_jfs_dir): Set mtime.
9859 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9860 * grub-core/fs/ntfs.c (list_file): Set mtime.
9861 (grub_ntfs_dir): Likewise.
9862 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9863 (grub_reiserfs_iterate_dir): Set mtime.
9864 (grub_reiserfs_dir): Likewise.
9865 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9866 (grub_fshelp_node): Likewise.
9867 (grub_sfs_iterate_dir): Set mtime.
9868 (grub_sfs_dir): Likewise.
9869 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9870 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9871 (grub_xfs_inode): New fields atime, mtime, ctime.
9872 (grub_xfs_dir): Set mtime.
9873 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9874 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9875 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9876
9877 Support UDF symlinks.
9878
9879 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9880 (grub_ufs_read_symlink): New function. All users updated.
9881
9882 Check amiga partmap checksum.
9883
9884 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9885 (grub_amiga_partition): Likewise.
9886 (amiga_partition_map_checksum): New function.
9887 (amiga_partition_map_iterate): Check checksum.
9888
5470225d
VS
98892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 ROMFS support.
9892
9893 * Makefile.util.def (libgrubmods.a): Add romfs.
9894 * grub-core/Makefile.core.def (romfs): New module.
9895 * grub-core/fs/romfs.c: New file.
9896
d4680a35
VS
98972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 Squashfs v4 support.
9900
9901 * Makefile.util.def (libgrubmods.a): Add squash4.
9902 * grub-core/Makefile.core.def (squash4): New module.
9903 * grub-core/fs/squash4.c: New file.
9904 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9905 disk_input_start, disk_input.
9906 (get_byte): Handle disk_input.
9907 (grub_zlib_disk_read): New function.
9908 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9909
bcb18e74
FZ
99102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
99112011-05-15 Feiran Zheng <famcool@gmail.com>
9912
9913 * Makefile.util.def (libgrubmods.a): Add minix3.
9914 * grub-core/Makefile.core.def (minix3): New module.
9915 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9916 (GRUB_MINIX_BSIZE): Removed.
9917 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9918 (grub_minix_ino_t): New type.
9919 (grub_minix_le_to_cpu_ino): New macro.
9920 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9921 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9922 (grub_minix_data): New field block_size.
9923 (grub_minix_read_file): Handle 64-bit correctly.
9924 * grub-core/fs/minix3.c: New file.
9925
32297d5f
TG
99262011-05-15 Tristan Gingold <gingold@free.fr>
99272011-05-15 Robert Millan <rmh.grub@aybabtu.com>
99282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 IA64 support.
9931
9932 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9933 * configure.ac: Add ia64-efi target.
9934 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9935 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9936 * gentpl.py: Add ia64_efi platform.
9937 Rename x86_efi to efi and Add ia64-efi. All users updated.
9938 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9939 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9940 Remove kern/generic/rtc_get_time_ms.c on EFI.
9941 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9942 kern/ia64/dl_helper.c on ia64-efi.
9943 Add kern/emu/cache.c on emu.
9944 (linux): Use on loader/ia64/efi/linux.c on ia64.
9945 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9946 whether symbol is a function.
9947 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9948 (grub_symbol): New field 'isfunc'.
9949 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9950 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9951 (grub_dl_load_segments): Place all sections into the same region.
9952 [__ia64__]: Create trampolines and got.
9953 [GRUB_MACHINE_EMU]: Call mprotect.
9954 (grub_dl_resolve_symbols): Resolve symbol type as well.
9955 [__ia64__]: Create function descriptors.
9956 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9957 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9958 (grub_get_rtc): New function.
9959 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9960 * grub-core/kern/emu/cache.S: Renamed to ...
9961 * grub-core/kern/emu/cache_s.S: ... this.
9962 [__ia64__]: Add a nop.
9963 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9964 [__ia64__]: New function.
9965 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9966 * grub-core/kern/ia64/dl.c: New file.
9967 * grub-core/kern/ia64/dl_helper.c: Likewise.
9968 * grub-core/kern/ia64/efi/init.c: New file.
9969 * grub-core/kern/ia64/efi/startup.S: Likewise.
9970 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9971 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9972 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9973 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9974 * grub-core/loader/ia64/efi/linux.c: New file.
9975 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9976 (GRUB_MOD_DEP): Likewise.
9977 (grub_dl) [__ia64__]: New fields got and tramp.
9978 (grub_dl): New field 'base'.
9979 (grub_dl_register_symbol): New argument isfunc. All users updated.
9980 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9981 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9982 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9983 (grub_ia64_dl_get_tramp_got_size): New proto.
9984 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9985 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9986 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9987 * include/grub/efi/api.h: Skip call wrappers on ia64.
9988 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9989 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9990 * include/grub/elf.h (ELF_ST_INFO): New definition.
9991 * include/grub/ia64/efi/kernel.h: New file.
9992 * include/grub/ia64/efi/memory.h: Likewise.
9993 * include/grub/ia64/efi/time.h: Likewise.
9994 * include/grub/ia64/kernel.h: Likewise.
9995 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9996 * include/grub/ia64/time.h: New file.
9997 * include/grub/ia64/types.h: Likewise.
9998 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9999 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10000 New protos.
10001 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10002 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10003 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10004 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10005 All users updated.
10006 (EFI64_HEADER_SIZE): New definition. All users updated.
10007 (image_targets): Add ia64-efi.
10008 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10009 jumpers_addr. All users updated.
10010 Create function descriptors.
10011 (count_funcs): New function.
10012 (unaligned_uint32): New struct.
10013 (MASK20): New definition.
10014 (MASK19): Likewise.
10015 (MASKF21): Likewise.
10016 (add_value_to_slot_20b): New function.
10017 (add_value_to_slot_21_real): Likewise.
10018 (add_value_to_slot_21): Likewise.
10019 (ia64_kernel_trampoline): New struct.
10020 (nopm): New variable.
10021 (jump): Likewise.
10022 (make_trampoline): New function.
10023 (relocate_addresses): Handle ia64.
10024 (make_reloc_section): Likewise.
10025 (load_image): Likewise.
10026
983b414d
VS
100272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10030 warning. Move variables before code while on it.
10031
5d063cdc
VS
100322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 Fuloong support.
10035
10036 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10037 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10038 * grub-core/boot/mips/loongson/fuloong.S: New file.
10039 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10040 Explicitly init CS5536.
10041 [FULOONG]: Don't use serial until CS5536 is available.
10042 Set GPIO based on dumps.
10043 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10044 [FULOONG]: Handle GPIO and memory controller differences.
10045 Parse machine type in $a2.
10046 * grub-core/boot/mips/startup_raw.S: Determine and save the
10047 architecture.
10048 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10049 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10050 init on architecture type.
10051 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10052 SIS315E. Don't init at_keyboard on fuloong.
10053 (grub_halt): Support Fuloong.
10054 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10055 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10056 (loongson_machtypes): New array.
10057 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10058 type.
10059 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10060 config. All users updated. Handle CS5536 serial.
10061 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10062 default port on machine type. Register serial as inactive.
10063 * grub-core/video/sis315pro.c: New file.
10064 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10065 definition.
10066 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10067 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10068 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10069 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10070 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10071 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10072 to ...
10073 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10074 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10075 definition.
10076 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10077 (grub_arch_machine): New extern var.
10078 * include/grub/mips/loongson/serial.h
10079 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10080 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10081 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10082 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10083 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10084 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10085 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10086 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10087 * include/grub/term.h (grub_term_register_input_inactive): New inline
10088 function.
10089 (grub_term_register_output_inactive): Likewise.
10090 * include/grub/video.h (grub_video_driver_id): New value
10091 GRUB_VIDEO_DRIVER_SIS315PRO.
10092 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10093 New field "names". All users updated.
10094 New field value IMAGE_FULOONG_FLASH.
10095 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10096
6ada82d1
JU
100972011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10098
10099 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10100 and add some clarification.
10101
90c571a4
VS
101022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10105 platforms if kernel is compressed.
10106
de04eecf
VS
101072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10110 unused modules since currently referrence counter isn't reliable and
10111 there isn't much memory to recover there anyway.
10112
57688121
VS
101132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10116 rather than resetting it to allow modules to reference themselves
10117 in init.
10118
3d2c7e35
VS
101192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10122 counter on dependencies since grub_dl_unref already handles this.
10123
b25db218
VS
101242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10127 on error if not already done.
10128
25a45338
VS
101292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 Fix few potential memory misusage.
10132
10133 * grub-core/font/font.c (load_font_index): Don't free char_index to
10134 avoid double free.
b25db218
VS
10135 (grub_font_load): Zero-fill font at alloc for safety.
10136 Close file on error.
10137 (free_font): Free bmp_idx.
25a45338 10138
0cac83df
VS
101392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * docs/grub.texi (Installation): Fix several outdated claims.
10142
2217a143
VS
101432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 Handle module_license on windows.
10146
10147 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10148 sections shifted.
10149 (insert_string): Make argument const char * instead of char *.
10150 (write_section_data): Handle long section names.
10151 Handle module_license.
10152
d4de6b01
VS
101532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10156 handle class-free menuentries.
10157 (grub_normal_add_menu_entry): Add a check to be sure.
10158
4c2a3b43
VS
101592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10162 PgUp and PgDown.
10163
85c6210f
VS
101642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * configure.ac: Bump version to 1.99.
10167
36084912
VS
101682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 Give ATA device a bit more time on first try in order to allow disks
10171 to spin up.
10172
10173 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10174 if dev->present is 1. Reset dev->present on failure.
10175 (grub_ata_device_initialize): Set dev->present to 1.
10176 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10177 (grub_ata_device): New member 'present'.
10178
bda0e219
VS
101792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * util/grub-mkimage.c (generate_image): Update hash.
10182
19e1c41b
VS
101832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 Flush caches on DMA memory.
10186
10187 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10188 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10189 (grub_dma_free): Likewise.
10190 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10191
91bbcc0c
VS
101922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10195 to avoid asm treating ld and sd as macros.
10196
60ddfad3
VS
101972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10200 decompressor.
10201
a298aa04
VS
102022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10205 grub_decompress_core since later would fail if grub_decompress_core
10206 is too far.
10207
9b44feca
VS
102082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10211 R_MIPS_JALR since it's used by newer compiler.
10212
56dbe7b4
VS
102132011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10216
52856af2
VS
102172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10220 file_path to 0 for surety.
10221 (grub_chainloader_boot): Set exit_data to NULL.
10222 Unset the loader once done.
10223 (grub_cmd_chainloader): Fix confusing error message if file is empty.
10224
9c9bfc6d
VS
102252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
10228 unknown key into a dprintf.
10229
dd94a3df
VS
102302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
10233 on first non-existant partition.
10234
fa68d99c
VS
102352011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
10238 openning fails.
10239 Reported by: Mark Korenberg.
10240
157effb7
VS
102412011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
10244 overflow.
10245
ea75312f
VS
102462011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * util/grub-mkimage.c (main): Explicitely flush and sync the output
10249 before closing to ensure that it will be readable by grub-setup.
10250
072b5d31
VS
102512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
10254 (devpath_1): Use MAKE_PIWG_PATH.
10255 (devpath_2): Likewise.
10256 (devpath_3): Likewise.
10257 (devpath_4): Likewise.
10258 (devpath_5): Likewise.
10259 (devpath_6): Likewise.
10260
10261 The appleldr.mod was checked that to be binary identical to previous
10262 version.
10263
7fae0051
Z
102642011-05-05 Zach <mikezackles>
10265
10266 Support 2010 Macbooks.
10267
10268 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
10269 (devs): Add devpath_6.
10270
7c515bee
VS
102712011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
10274 /dev/random. /dev/urandom is good enough for our purposes (salting).
10275
ed660bd8
VS
102762011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
10279
ee5614b7
VS
102802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
10283 hexadecimal.
10284
664889a6
VS
102852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
10288 and not 0 on failure.
10289
bd405bbc
CW
102902011-05-03 Colin Watson <cjwatson@ubuntu.com>
10291
10292 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
10293 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
10294 disk; otherwise grub_fs_probe will not fall back to the next
10295 filesystem.
10296 (grub_pxefs_open): Likewise, for consistency.
10297 Reported and tested by: Ezekiel Grave.
10298
4ebff753
CW
102992011-05-03 Colin Watson <cjwatson@ubuntu.com>
10300
10301 * tests/partmap_test.in: Don't hardcode path to parted.
10302 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
10303
8f942553
CW
103042011-05-01 Colin Watson <cjwatson@ubuntu.com>
10305
10306 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
10307 of `ls' to find out which devices are available.
10308
3c62402d
VS
103092011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
10312 than source address for efi mmap buffer.
10313
723f63f2
VS
103142011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
10317 wrong action on non-detecting the magic.
10318
68797f92
VS
103192011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
10322 already supplied by another part of the module (fixes compilation on
10323 FreeBSD).
10324
6be8715d
VS
103252011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
10328 match the one used by mdadm.
10329
e91dba5b
CW
103302011-04-21 Colin Watson <cjwatson@ubuntu.com>
10331
10332 * po/README: Add instructions for creating po/LINGUAS.
10333
c85140b3
CW
103342011-04-21 Colin Watson <cjwatson@ubuntu.com>
10335
10336 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
10337 #551428.
10338
10339 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
10340 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
10341 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
10342 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
10343 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
10344 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
10345 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
10346 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
10347 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
10348 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
10349 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
10350 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
10351 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
10352 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
10353 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
10354 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
10355 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
10356 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
10357 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
10358 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
10359 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
10360 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
10361
92051871
CW
103622011-04-21 Colin Watson <cjwatson@ubuntu.com>
10363
10364 * grub-core/kern/emu/getroot.c
10365 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
10366 test that was incorrectly reintroduced in r3214.
10367 Reported by: Ian Dall. Fixes Savannah bug #33133.
10368
b13f79a4
CW
103692011-04-21 Colin Watson <cjwatson@ubuntu.com>
10370
10371 Fix stack pointer handling in 16-bit relocator.
10372
10373 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
10374 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
10375 Fixes Ubuntu bug #683904.
10376
9b710a88
VS
103772011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * configure.ac: Bump version to 1.99~rc2.
10380
d97e7b59
VS
103812011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
10384 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
10385 * grub-core/lib/x86_64/setjmp.S: Likewise.
10386 * grub-core/lib/mips/setjmp.S: Likewise.
10387 * grub-core/lib/powerpc/setjmp.S: Likewise.
10388 * grub-core/lib/sparc64/setjmp.S: Likewise.
10389
0624551c
VS
103902011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
10393 * grub-core/lib/efi/datetime.c: Likewise.
10394
e8f28d4c
VS
103952011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
10398 New function.
10399 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
10400 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
10401 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
10402
bba79a15
VS
104032011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
10406 bitmap.
10407 (grub_gfxterm_term_init): Likewise.
10408
abc474ef
VS
104092011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 Take into account the decorations the computing menu entry width.
10412
10413 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
10414 (grub_gfxmenu_create_box): Register get_border_width.
10415 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
10416 if available.
10417 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
10418 get_border_width.
10419
e74b3947
EP
104202011-04-18 Endres Puschner <code@e7p.de>
10421
10422 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
10423 Don't skip first class.
10424
34faa595
VS
104252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
10428 chunks.
10429 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
10430
93a777e3
VS
104312011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 Complete 64-bit division support.
10434
10435 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
10436 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
10437 * include/grub/misc.h (grub_divmod64): Rename to ...
10438 (grub_divmod64_full): ... this.
10439 (grub_divmod64): New inline function.
10440
a5102d94
VS
104412011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * util/grub-mkimage.c (generate_image): Add forgotten comma.
10444
f3fb7b36
VS
104452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
10448 performing the necessary test.
10449
9ac718b0
VS
104502011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
10453 (kfreebsd.elf): Likewise.
10454 (pc-chainloader.elf): Likewise.
10455 (ntldr.elf): Likewise.
10456
50d2cc5a
VS
104572011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 Identify RAID by its UUID rather than (guessed) name.
10460
10461 * grub-core/disk/raid.c (ascii2hex): New function.
10462 (grub_raid_open): Accept mduuid/%s specification.
10463 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
10464 (get_mdadm_uuid): ... this.
10465 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
10466
e03f7bea
VS
104672011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
10470 to negative size.
10471
e74c3112
CW
104722011-04-13 Colin Watson <cjwatson@ubuntu.com>
10473
10474 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
10475 btrfs subvolume.
10476 * util/grub.d/20_linux_xen.in: Likewise.
10477
78fa584f
CW
104782011-04-13 Colin Watson <cjwatson@ubuntu.com>
10479
10480 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
10481 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
10482
10483 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10484 Build a list of relevant visible mounts using the mnt_id and
10485 parent_mnt_id fields, and then scan that list at the end.
10486
9d5f8162
CW
104872011-04-12 Colin Watson <cjwatson@ubuntu.com>
10488
10489 * docs/grub.texi (normal): New section.
10490 (normal_exit): New section.
10491 (Embedded configuration): Add reference to normal.
10492 (GRUB only offers a rescue shell): Likewise.
10493 * docs/grub-dev.texi (Error Handling): Fix typo.
10494
09a9d66f
CW
104952011-04-12 Colin Watson <cjwatson@ubuntu.com>
10496
10497 * NEWS: Drop obsolete entry about probe-only btrfs support.
10498
0c676933
CW
104992011-04-12 Colin Watson <cjwatson@ubuntu.com>
10500
10501 * util/import_gcry.py: Fix typo.
10502
ec9f5e0d
VS
105032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 * NEWS: Add btrfs support.
10506
fe6b2cba
VS
105072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
105082011-04-11 Colin Watson <cjwatson@ubuntu.com>
10509
10510 BtrFS support. Written by me (Vladimir) with important bugfixes and
10511 even more important testing by Colin.
10512
10513 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
10514 * grub-core/Makefile.core.def (btrfs): Add crc.c.
10515 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
10516 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
10517 mem_input_off and mem_input. All users updated to accept in-RAM input.
10518 (gzio_seek): New function.
10519 (test_zlib_header): Likewise.
10520 (grub_gzio_read): Likewise.
10521 (grub_zlib_decompress): Likewise.
10522 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
10523 Accept partial and non-virtual mounts.
10524 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
10525 avoid receiving /dev/dm-X as device.
10526 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
10527 Handle bind and partial mounts.
10528 * grub-core/lib/crc.c: New file.
10529 * include/grub/deflate.h: Likewise.
10530 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
10531 proto.
10532 * include/grub/lib/crc.h: New file.
10533
e745cf0c
VS
105342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 Implement automatic module license checking according to new GNU
10537 guidelines.
10538
10539 * grub-core/kern/dl.c (grub_dl_check_license): New function.
10540 (grub_dl_load_core): Use grub_dl_check_license.
10541 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
10542 (GRUB_MOD_LICENSE): Likewise.
10543 (GRUB_MOD_DUAL_LICENSE): Likewise.
10544 All modules updated.
10545
2a9bc016
CW
105462011-04-11 Colin Watson <cjwatson@ubuntu.com>
10547
10548 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
10549 reserved_first_sector to 1. btrfs reserves plenty of space for boot
10550 loaders.
10551 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
10552
8a3bc88e
VS
105532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
10556
af869a4a
VS
105572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * util/grub-fstest.c (read_file): Report GRUB error if file opening
10560 failed.
10561
9ee8d94f
VS
105622011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * grub-core/kern/file.c (grub_file_open): Don't take into account the
10565 parenthesis in the middle of the filename.
10566
b01abe3e
VS
105672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
10570 rather than trying to put initrd way too high.
10571 Reported by: Ryan Lortie <desrt@desrt.ca>
10572
335bda1e
VS
105732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
10576 improperly removed string.
10577
5ca1a64d
VS
105782011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
10581 is_disk.
10582 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
10583 (open_device) Likewise.
10584 (grub_util_biosdisk_close): Likewise.
d8ce9995 10585 Reported by: Mark Korenberg.
5ca1a64d 10586
cbac5b1e
AK
105872011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
10588
10589 * util/grub-mkconfig_lib.in: Add missing quotes.
10590
088cdb65
CW
105912011-04-10 Colin Watson <cjwatson@ubuntu.com>
10592
10593 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10594 is NULL.
10595
8b8a81fa
VS
105962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 Dynamically count the number of lines for the lower banner.
10599
10600 * grub-core/normal/menu_entry.c (per_term_screen): New member
10601 num_entries.
10602 (print_down): Use num_entries.
10603 (update_screen): Likewise.
10604 (grub_menu_entry_run): Set num_entries.
10605 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10606 num_entries.
10607 (grub_print_message_indented): Move real part to ...
10608 (grub_print_message_indented_real): ... here. Additional argument
10609 dry_run.
10610 (draw_border): Additional argument num_entries.
10611 (print_message): Additional argument dry_run.
10612 (print_entries): Receive menu viewer data.
10613 (grub_menu_init_page): New argment num_entries.
10614 (menu_text_set_chosen_entry): Use num_entries.
10615 (grub_menu_try_text): Likewise.
10616 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10617 All users updated.
10618 (grub_ucs4_count_lines): New function.
10619 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10620 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10621 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10622 (grub_term_border_height): Likewise.
10623 (grub_term_num_entries): Likewise.
10624
277f955b
VS
106252011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10628 Remove now unused string.
10629
536ce85a
CW
106302011-04-09 Colin Watson <cjwatson@ubuntu.com>
10631
10632 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10633 build system.
10634 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10635
10636 (Comment): Fix typo.
10637 (Getting started): General copy-editing.
10638 (Typical Development Experience): Likewise.
10639 (Error Handling): Likewise.
10640 (Video API): Likewise.
10641
2cf09e32
CW
106422011-04-09 Colin Watson <cjwatson@ubuntu.com>
10643
10644 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10645 throughout.
10646
1ec652f4
VS
106472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10650 directory.
10651
2c583728
CW
106522011-04-08 Colin Watson <cjwatson@ubuntu.com>
10653
10654 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10655 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10656 "development".
10657
d7a565e9
VS
106582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10661 grub_strcpy since the lines aren't necessarily 0-terminated.
10662
7c2e4909
VS
106632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10666 root on legacy.
10667
34c09785
VS
106682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10671 (GRUB_MOD_INIT): DEVICE isn't optional.
10672
6a6f8058
VS
106732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10676 word on new line if it's too long anyway. Fixes a hang.
10677
2e335e90
VS
106782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10681 const.
10682 * util/grub-setup.c (main): Reuse md device name if available.
10683 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10684 not GRUB name as argument.
10685 Based on patch by: Florian Wagner <fwagner>.
10686
10a7a867
VS
106872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10690 Place mbi on low memory for better compatibility.
10691
7a3d6cd9
VS
106922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10695
18dd6b47
VS
106962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
106972011-04-08 Colin Watson <cjwatson@ubuntu.com>
10698
10699 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10700 * conf/Makefile.common: Likewise.
18dd6b47 10701
3c0e3f14
VS
107022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10703
f7148863
VS
10704 * grub-core/normal/menu.c: Add missing include.
10705
107062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10709
6d1fa41f
MZ
107102011-04-08 Martin Zuther <mzuther@mzuther.de>
10711
10712 * util/grub-mkconfig.in: Ignore emacsen backup.
10713
478182a8
VS
107142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10717 on open.
10718 (grub_util_biosdisk_close): Likewise.
10719
72a89a54
VS
107202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10723 const attribute and use grub_isdigit.
10724
b5ebecfa
A
107252011-04-06 Andrey <dev_null@ukr.net>
10726
10727 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10728 gcc warning.
10729
7755f66e
VS
107302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10733 useful grub_dprintf's.
10734
461121ff
VS
107352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10738
2a961775
VS
107392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10742
adf594cc
VS
107432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 Output errors if theme loading failed.
10746
10747 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10748 grub_gfxterm_fullscreen on error paths to ...
10749 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10750 theme loading error.
10751
665900a3
VS
107522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10755 space for older compilers.
10756 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10757
a562b479
VS
107582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10761 and report them as not RAID members since they are useless for GRUB.
10762 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10763
850e9373
VS
107642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 Increase LVM implementation robustness in order not to crash on
10767 configurations like pvmove. Previously code assumed that in some places
10768 only lvs or only pvs are used whereas it seems that they are used
10769 interchangeably.
10770
10771 * grub-core/disk/lvm.c (read_node): New function.
10772 (read_lv): Use read_node.
10773 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10774 Match volumes only at the end when all lvs are found. Take both
10775 pvs (first) and lvs (second) into account.
10776 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10777 mirror_* into node_*. All users updated.
10778 (grub_lvm_stripe): Merge this ...
10779 (grub_lvm_mirror): ... and this ...
10780 (grub_lvm_node): ... into this. All users updated.
10781
6f332153
VS
107822011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10785 of function to allow further scanning for LVMs.
10786
829ea451
VS
107872011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10790 on failed seek as it breaks open fd reusage.
10791
09ceb9a5
VS
107922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * util/grub-install.in: Add a recommendation to use --recheck before
10795 reporting bugs.
10796
67e11623
VS
107972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10800 are obtained.
10801
caee5efd
VS
108022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 GRUB developper manual based on existing Internals section and
10805 contributions by the various authors with active copyright assignment.
10806
10807 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10808 * docs/font_char_metrics.png: New file.
10809 * docs/font_char_metrics.txt: Likewise.
10810 * docs/grub-dev.texi: Likewise.
10811 * docs/grub.texi (Internals): Move from here ...
10812 * docs/grub-dev.texi: ... here.
10813
2cccc747
CW
108142011-04-01 Colin Watson <cjwatson@ubuntu.com>
10815
10816 Store the loopback device as data on loopback grub_disk structures,
10817 rather than the file it points to. This fixes use of freed memory
10818 if an existing loopback device is replaced.
10819
10820 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10821 disk->data, not dev->file.
10822 (grub_loopback_read): Adjust file assignment to match.
10823 Fixes Ubuntu bug #742967.
10824
186ae367
CW
108252011-04-01 Colin Watson <cjwatson@ubuntu.com>
10826
10827 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10828 when replacing an existing device.
10829
cfed2ad0
VS
108302011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10833 memory corruptions.
10834
10835 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10836 unsigned.
10837 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10838 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10839 (grub_jfs_read_inode): Likewise.
10840 (grub_jfs_opendir): Likewise. Remove now useless casts.
10841 (grub_jfs_getent): Likewise.
10842 Make ino a grub_uint32_t rather than int.
10843 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10844 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10845 division and module with bit operations.
10846 (grub_jfs_find_file): Make ino a grub_uint32_t.
10847 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10848
05d2ed32
CW
108492011-04-01 Colin Watson <cjwatson@ubuntu.com>
10850
10851 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10852 warning. (This was in fact always initialised before use, but GCC
10853 wasn't smart enough to prove that.)
10854 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10855
91dc6073
VS
108562011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10859 stack alignment.
10860 (efi_wrap_1): Likewise.
10861 (efi_wrap_2): Likewise.
10862 (efi_wrap_3): Likewise.
10863 (efi_wrap_4): Likewise.
10864 (efi_wrap_5): Likewise.
10865 (efi_wrap_6): Likewise.
10866 (efi_wrap_10): Likewise.
10867 Based on information by: Red Hat/Peter Jones.
10868
a8afc1d1
CW
108692011-03-31 Colin Watson <cjwatson@ubuntu.com>
10870
10871 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10872 set-but-not-used variable.
10873
a826cc7d
CW
108742011-03-31 Colin Watson <cjwatson@ubuntu.com>
10875
10876 * docs/grub.texi (Simple configuration): Be more explicit about
10877 GRUB_DEFAULT, and add an example.
10878 Reported by: Leslie Rhorer.
10879
875b67ba
CW
108802011-03-30 Colin Watson <cjwatson@ubuntu.com>
10881
10882 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10883 shell".
10884
fd7cd914
AS
108852011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10886
10887 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10888 * util/grub.d/20_linux_xen.in: Likewise.
10889
090b1b6a
VS
108902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * util/grub.d/10_linux.in: Try alternative config filenames where
10893 we parse config file.
10894 * util/grub.d/20_linux_xen.in: Likewise.
10895
baad885c
AS
108962011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10897
10898 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10899 * util/grub.d/20_linux_xen.in: Likewise.
10900
241e41f5
VS
109012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/disk/raid.c (insert_array): Add few potentially
10904 useful grub_util_info.
10905 (grub_raid_register): Likewise.
10906
56445fb2
VS
109072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10910 Preserve partition number in mdadm code path.
10911
c871b1c6
VS
109122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10915 few potentially useful grub_util_info.
10916
5e631b4f
CW
109172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10920
2d5d0333
CW
109212011-03-30 Colin Watson <cjwatson@ubuntu.com>
10922
10923 * docs/grub.texi (default): Use @example rather than nested
10924 itemized lists to avoid breaking gendocs.
10925
3d7ed04e
CW
109262011-03-30 Colin Watson <cjwatson@ubuntu.com>
10927
10928 * docs/grub.texi (Future): Update.
10929
abf04200 109302011-03-30 Colin Watson <cjwatson@ubuntu.com>
10931
10932 * docs/grub.texi (Environment): New chapter.
10933 (Changes from GRUB Legacy): Link to "Environment block" section for
10934 details of limitations.
10935 (Simple configuration): Likewise. Link to documentation of gfxmode
10936 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10937 respectively.
10938 (Shell-like scripting): Note that normal variables are stored in the
10939 environment.
10940 (gettext): Link to documentation of lang and locale_dir.
10941 (list_env): New section.
10942 (load_env): New section.
10943 (save_env): New section.
10944
10945 (Reporting bugs): Fix typo.
10946
e1ad0edd
VS
109472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10950 the example.
10951
5d803174
VS
109522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 * grub-core/term/at_keyboard.c (set_scancodes)
10955 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10956
2a2da1d0
CW
109572011-03-30 Colin Watson <cjwatson@ubuntu.com>
10958
10959 * docs/grub.texi (Menu-specific commands): Remove some semantics
10960 that were true in GRUB Legacy but not in GRUB 2.
10961 (submenu): New section.
10962 (false): New section.
10963 (read): New section.
10964 (true): New section.
10965
a7527639
CW
109662011-03-30 Colin Watson <cjwatson@ubuntu.com>
10967
10968 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10969
109702011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10971
10972 * docs/grub.texi (Simple configuration): Explain some of the
10973 current limitations of grub-mkconfig.
8a748df2 10974 Reported by: Leslie Rhorer.
e30af029 10975
fc858482
VS
109762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 Old macs search for boot.efi rather than for bootia32.efi.
10979
10980 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10981 * util/grub-mkrescue.in: Likewise.
10982 Suggested by: Peter Jones.
10983
e1eb511d
VS
109842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10987
70e75364
VS
109882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10991 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10992 (grub_lvm_mirror): New struct.
10993 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10994 (grub_lvm_iterate): Iterate only visible volumes.
10995 (grub_lvm_read): Factor out to ..
10996 (read_lv): ... this. Support mirrors.
10997 (grub_lvm_read): New wrapper function.
10998 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10999 stripped or mirrored.
11000
fc18f6a3
VS
110012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11004
5c650f4c
CW
110052011-03-29 Colin Watson <cjwatson@ubuntu.com>
11006
11007 * docs/grub.texi (loopback): New section.
11008
61d7156b
CW
110092011-03-29 Colin Watson <cjwatson@ubuntu.com>
11010
11011 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11012 removed -p option.
11013
994b8264
CW
110142011-03-29 Colin Watson <cjwatson@ubuntu.com>
11015
11016 * docs/grub.texi (BIOS installation): New section, partly based on
11017 previous text in other sections.
11018 (Installing GRUB using grub-install): Replace BIOS discussion with a
11019 cross-reference.
11020 (Images): Likewise.
11021
9e4d19e0
VS
110222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11025 [HAVE_DIOCGDINFO]: Add safety checks.
11026
a307c0b2
VS
110272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11030 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11031
b4db4f39
CW
110322011-03-29 Colin Watson <cjwatson@ubuntu.com>
11033
11034 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11035 real_sb->size is zero (e.g. RAID-0), get the disk size from
11036 real_sb->data_size instead.
11037 Fixes Ubuntu bug #743136.
11038
35e5f84c
VS
110392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11042 printf clauses for printing size and start.
11043
d2e29d81
VS
110442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11047 Reported and tested by: Timothy Nikkel.
11048
ed5587af
VS
110492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11052 (dirty_region_add_real): ... this.
11053 (dirty_region_add): Don't discard margin refresh when performing
11054 scheduled repaint.
11055
a1dc717c
VS
110562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/lib/relocator.c (allocate_regstart)
11059 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11060 terminals are capabple of malloc-free operation.
11061 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11062 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11063
9f3677d3
VS
110642011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11065
11066 * util/grub-setup.c: Copy the partition table zone if floppy support
11067 is disabled, even if no partition table is found.
11068
11069 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11070 during POST if an invalid partition table is contained in the PBR
11071 of the active partition when GRUB is installed to a partition.
11072
24148725
CW
110732011-03-28 Colin Watson <cjwatson@debian.org>
11074
11075 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11076 comment.
11077
f329eda7
CW
110782011-03-28 Colin Watson <cjwatson@debian.org>
11079
11080 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11081 to be specific about what kind of RAID device we're scanning for.
11082
c482ad98
SG
110832011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11084
11085 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11086 return freed string.
11087
5ee04984
VS
110882011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11091
f4727da9
VS
110922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 Use libgeom on FreeBSD to detect partitions.
11095
11096 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11097 (grub-mkrelpath): Likewise.
11098 (grub-script-check): Likewise.
11099 (grub-editenv): Likewise.
11100 (grub-mkpasswd-pbkdf2): Likewise.
11101 (grub-fstest): Likewise.
11102 (grub-mkfont): Likewise.
11103 (grub-mkdevicemap): Likewise.
11104 (grub-probe): Likewise.
11105 (grub-setup): Likewise.
11106 (grub-ofpathname): Likewise.
11107 (grub-mklayout): Likewise.
11108 (example_unit_test): Likewise.
11109 (grub-menulst2cfg): Likewise.
11110 * grub-core/Makefile.core.def (grub-emu): Likewise.
11111 (grub-emu-lite): Likewise.
11112 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11113 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11114 define HAVE_DIOCGDINFO.
11115 (follow_geom_up) [FreeBSD]: New function.
11116 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11117 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11118 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11119 unconditionally of HAVE_DIOCGDINFO.
11120
82fe6c75
VS
111212011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 Fix FreeBSD compilation problem.
11124
11125 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11126 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11127
4c6c9431
CW
111282011-03-24 Colin Watson <cjwatson@ubuntu.com>
11129
11130 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11131 Switch back to page zero before loading a kernel, since some kernel
11132 drivers expect that.
11133 Thanks to: Felix Kuehling.
11134
c7064d94
VS
111352011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11138 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11139 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11140
3f71cded
VS
111412011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11144 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
11145
ef6de21a
VS
111462011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11149 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11150 malloc is disabled.
11151
8bc66a2c
VS
111522011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11155 for modules headers when counting the needed allocation size.
11156
5657722c
VS
111572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11160 if no ASCII character is found to prevent crash.
11161
41a85f55
AK
111622011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11163
11164 * grub-core/video/bitmap.c (match_extension): Ignore case.
11165
59e1e5f1
VS
111662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11169
bd4d051a
VS
111702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * grub-core/script/parser.y: Declare "time" as valid argument.
11173
bae7fcc1
PJ
111742011-03-23 Peter Jones <pjones@redhat.com>
11175
11176 Fix incorrect assert failure reporting.
11177
11178 * grub-core/tests/example_functional_test.c (example_test): Add
11179 a failure comment.
11180 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11181 (failure_start): ...this. Check that malloc succeeded.
11182 Don't call xvasprintf. Return failure struct.
11183 (failure_append_vtext): New function.
11184 (failure_append_text): Likewise.
11185 (add_failure): Likewise.
11186 (grub_test_assert_helper): Likewise.
11187 * include/grub/test.h (grub_test_assert_helper): New declaration.
11188 (grub_test_assert): Macro rewritten.
11189
537dc9be
VS
111902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11193
fa3e01bf
VS
111942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11197
b1d28404
VS
111982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11201 into GRUB-style one.
11202
2e3e2e09
VS
112032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11206 error and not grub_errno.
11207 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11208
ed57e557
VS
112092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11212 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11213
d1611f01
VS
112142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * grub-core/efiemu/i386/pc/cfgtables.c
11217 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11218 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11219 (grub_xnu_unlock): Likewise.
11220 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11221
7d4e39d6
VS
112222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
11225 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
11226 * grub-core/commands/hashsum.c (aliases): Likewise.
11227 * grub-core/commands/setpci.c (pci_registers): Likewise.
11228 * grub-core/disk/usbms.c (attach_hook): Likewise.
11229 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
11230 (zio_checksum_table): Likewise.
11231 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
11232 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
11233 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
11234 * grub-core/lib/relocator.c (leftovers): Likewise.
11235 (extra_blocks): Likewise.
11236 * grub-core/loader/i386/bsd.c (relocator): Likewise.
11237 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
11238 (modules_last): Likewise.
11239 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
11240 (devices): Likewise.
11241 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
11242 (modules_last): Likewise.
11243 * grub-core/normal/auth.c (users): Likewise.
11244 * grub-core/normal/context.c (initial_menu): Likewise.
11245 (current_menu): Likewise.
11246 * grub-core/normal/crypto.c (crypto_specs): Likewise.
11247 * grub-core/term/serial.c (grub_serial_ports): Likewise.
11248 (grub_serial_terminfo_input_template): Likewise.
11249 (grub_serial_terminfo_output_template): Likewise.
11250 (grub_serial_terminfo_input): Likewise.
11251 (grub_serial_terminfo_output): Likewise.
11252 (registered): Likewise.
11253 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
11254
40fc4659
VS
112552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
11258 grub_video_mode_type_t.
11259 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
11260 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
11261 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
11262
2da48d28
VS
112632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * util/grub-install.in: Correct the x86-64 name as x86_64.
11266
9b43bf39
CW
112672011-03-11 Colin Watson <cjwatson@ubuntu.com>
11268
11269 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
11270 initial chunk read from the kernel always includes GRUB's multiboot
11271 header, which is now outside the first sector.
11272
be1a7ce0
CW
112732011-03-09 Colin Watson <cjwatson@ubuntu.com>
11274
11275 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
11276 cached mmap_size, so that this works correctly when called multiple
11277 times.
11278 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
11279
83a3c48d
CW
112802011-03-09 Colin Watson <cjwatson@ubuntu.com>
11281
11282 * docs/grub.texi (Simple configuration): Tidy up formatting.
11283
57d75699
SJ
112842011-03-07 Szymon Janc <szymon@janc.net.pl>
11285
11286 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
11287 Set-but-not-used variable removed.
11288
028501a0
VS
112892011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 Workaround yet another IEEE1275 bug.
11292
11293 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
11294 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
11295 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
11296 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
11297 is set.
11298 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11299 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
11300
d998657d
VS
113012011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
11304 error.
11305
fee7cdd4
CW
113062011-02-11 Colin Watson <cjwatson@ubuntu.com>
11307
11308 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
11309 empty, since in that case we can only generate either nothing or a
11310 syntactically invalid configuration file.
11311 Reported by: Michal Suchanek. Fixes Debian bug #612898.
11312
97286eb5
CW
113132011-02-09 Colin Watson <cjwatson@ubuntu.com>
11314
11315 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
11316 (Making a GRUB bootable CD-ROM): Likewise.
11317 (Invoking grub-mkrescue): New section.
11318 Reported by: Yann Dirson. Fixes Debian bug #612585.
11319
22b28eb3
CW
113202011-02-09 Colin Watson <cjwatson@ubuntu.com>
11321
11322 * util/grub-install.in: Remove unnecessary brackets from tr
11323 arguments.
11324 * util/grub.d/10_hurd.in: Likewise.
11325 * util/grub.d/10_kfreebsd.in: Likewise.
11326 * util/grub.d/10_linux.in: Likewise.
11327 * util/grub.d/20_linux_xen.in: Likewise.
11328 Reported by: Jamie Heilman. Fixes Debian bug #612564.
11329
7e735e43
CW
113302011-02-08 Colin Watson <cjwatson@ubuntu.com>
11331
11332 * include/grub/file.h (not_easly_seekable): Rename to ...
11333 (not_easily_seekable): ... this. Update all users.
11334
800f1881
CW
113352011-01-28 Colin Watson <cjwatson@ubuntu.com>
11336
11337 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
11338 grub-mkrescue.
11339
3281d3d6
VS
113402011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 * util/grub-mkimage.c (generate_image): Refuse to create the images
11343 bigger than the actual flash (512K) in Loongson machines. 512K is also
11344 the biggest chip supported by them.
11345
3533413c
VS
113462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
11349
73ae4f4f
VS
113502011-01-22 Anthony DeRobertis <anthony@derobert.net>
11351
11352 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
11353 super_offset field.
11354
37f4f608
VS
113552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * util/grub-install.in: Ignore install device on platforms
11358 where it doesn't make sense. Always use UUIDs except on pc, efi and
11359 sparc64.
11360 Reported by: Daniel Kahn Gillmor.
11361
03a4ccb5
VS
113622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
11365
ffc8f4d8
VS
113662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
11369 (iterate_real): Don't rely on partition being non-NULL.
11370
80f23be7
VS
113712011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
11374 supported platforms. Put a compile time assert for this rather than
11375 generate a warning with 32-bit shift.
11376
5d4f4dd5
VS
113772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
11380 logical expression more readable.
11381
e489601a
VS
113822011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
11385 even if some elements have a name.
11386 Reported by: Alexander GQ Gerasiov.
11387
96e0a6ea
CW
113882011-01-22 Colin Watson <cjwatson@ubuntu.com>
11389
11390 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
11391 path unreadable if `grub-probe -t abstraction' fails, for example if
11392 memberlist fails on an LVM volume group.
11393 Reported by: Darius Jahandarie.
11394
81431e2b
CW
113952011-01-22 Colin Watson <cjwatson@ubuntu.com>
11396
11397 * docs/grub.texi (Simple configuration): Document
11398 GRUB_PRELOAD_MODULES.
11399
5e79d66a
CW
114002011-01-17 Colin Watson <cjwatson@ubuntu.com>
11401
11402 * .bzrignore: Remove nonexistent grub-pbkdf2.
11403
646ada34
VS
114042011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * configure.ac: Bump version to 1.99~rc1.
11407
04360337
VS
114082011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
11411 for safety.
11412
46c9db88
VS
114132011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
11416 module.
11417
114182011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
11419
11420 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
11421
4fbf1852
VS
114222011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
11425 diskdevid.
11426
f1632d4d
VS
114272011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 Fix compilation on cygwin.
11430
11431 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
11432 -R .drectve on cygwin.
11433 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
11434 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
11435 (COND_CYGWIN): New condition.
11436 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
11437 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
11438 not @TARGET_OBJ2ELF@.
11439 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
11440 type to determine whether aux is to be used.
11441
0b5e127b
VS
114422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
11445 realpath'ed device string.
11446 Handle floppy (somewhat).
11447 Issue error in unknown case rather than garbage.
11448 Reported by: Axel Beckert.
11449
173b71e9
VS
114502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * util/grub.d/00_header.in (load_video): Handle the case when no video
11453 drivers available.
11454 Thanks to: Axel Beckert.
11455
f8f479db
VS
114562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
11459 variable. Fixes problem on big endian platforms.
11460
8fc0a245
VS
114612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
11464 It doesn't work well there.
11465
b8494fbe
VS
114662011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
11469 warning.
11470 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
11471 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
11472 counter.
11473
b44a558c
VS
114742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Use alias->path rather than buggy "canon".
11477
11478 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
11479 (ofdisk_hash_add): New argument curcan. All users updated.
11480
51fa856c
CW
114812011-01-11 Colin Watson <cjwatson@ubuntu.com>
11482
11483 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
11484
9da068a5
VS
114852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
11488 loadmask before doing any calculations. Use correct type for offset.
11489 (grub_linux_load64): Likewise.
11490
86205c94
CW
114912011-01-11 Colin Watson <cjwatson@ubuntu.com>
11492
11493 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
11494 with NULL.
11495 (console_grub_equivalences_unshift): Likewise.
11496 Reported by: Daniel Dehennin.
11497
4531a206
VS
114982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
11501 (set_env_limn_ro): Likewise.
11502 (GRUB_MOD_INIT): Likewise.
11503 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
11504 ARRAY_SIZE while on it.
11505 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
11506 * grub-core/normal/context.c (grub_env_export): Move from here ...
11507 * grub-core/kern/env.c (grub_env_export): ... here.
11508 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
11509 prefix.
11510 * grub-core/kern/main.c (grub_main): Export root and prefix.
11511 * include/grub/env.h (grub_env_export): Export.
11512 Reported by: Seth Goldberg.
11513
45146057
VS
115142011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11517 Take into account space used by ELF sections and multiboot palette.
11518 Reported by: Grégoire Sutre.
11519
f093110b
VS
115202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * BUGS: New file.
11523
3395fe52
VS
115242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 Pass more appropriate video id to Linux.
11527
11528 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
11529 grub_video_get_driver_id and variable gfxpayloadforcelfb to
11530 fill have_vga.
11531 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
11532 shift params->lfb_size.
11533 * include/grub/i386/linux.h: Make an enume out of have_vga values.
11534
c2fa6cbb
VS
115352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * util/grub-menulst2cfg.c: Add missing include of misc.h.
11538
b3ff6ff0
VS
115392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
11542 separator and pass bootpath/devid even if only one of them is available.
11543 Reported by: Seth Goldberg.
11544
ae67942e
VS
115452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
11548 implementations bug on them.
11549
11550 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
11551 memory.
11552 (filter_memory_map): Likewise.
11553
d570097a
VS
115542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
11557 Reported by: nebuchadnezzar.
11558
a508e776
VS
115592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
11562 Reported by: nebuchadnezzar.
11563
dcb883b1
VS
115642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 Submenu default support.
11567
11568 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
11569 auto_boot. All users updated.
11570 Declared static.
11571 Handle chosen and default with submenus.
11572 (grub_menu_execute_with_fallback): Declared static.
11573 Don't notify failure if autobooted. Upper level does it.
11574 (menuentry_eq): New function.
11575 (get_entry_number): Use menuentry_eq.
11576 (show_menu): New parameter "autobooted". All users updated.
11577 (grub_show_menu): Likewise.
11578 * include/grub/normal.h (grub_show_menu): Likewise.
11579 * include/grub/menu.h (grub_menu_execute_entry): Removed.
11580 (grub_menu_execute_with_fallback): Likewise.
11581
6fef99b4
VS
115822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * util/grub-mklayout.c (usage): Update help text.
11585
47a77af5
VS
115862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
11589
ce6bb3ee
VS
115902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * util/grub-menulst2cfg.c (main): Trim the line.
11593
db87be2a
VS
115942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11597 (grub_machine_init): Don't check amount of low memory as reportedly
11598 INT 12h can be broken and if low memory is too low we wouldn't have
11599 gotten into grub_machine_init anyway.
11600
c49849cc
VS
116012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11604 (grub_machine_mmap_iterate): Take low memory into account
11605
b1969b30
VS
116062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11609 badfs.
11610 Reported by: TiCPU.
11611
cf0eaf13
VS
116122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11615 members errors.
11616
1f060f39
GS
116172011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11618
11619 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11620 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11621
a21e5672
GS
116222011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11623
11624 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11625 openbsd and netbsd types being in part_bsd module.
11626
c88172fa
VS
116272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11630 (_FILE_OFFSET_BITS): Likewise.
11631 Reported by: Seth Goldberg.
11632
53798c4b
GS
116332011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11634
11635 * configure.ac: Check for libdevmapper header.
11636
e7121b69
VS
116372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11640 avoid aliasing.
11641 (fzap_lookup): Likewise.
11642 (dnode_get): Likewise.
11643 (make_mdn): Likewise.
11644 (zfs_mount): Likewise.
11645 (fzap_iterate): Use temporary pointer to avoid aliasing.
11646 (grub_zfs_read): Likewise.
11647 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11648 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11649 pointers to avoid aliasing.
11650 (grub_cmd_xnu_kernel64): Likewise.
11651 (grub_xnu_load_driver): Likewise.
11652
fc836af9
VS
116532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11656 aliasing warning.
11657 (grub_cmd_terminal_output): Likewise.
11658 Reported and tested by: Grégoire Sutre.
11659
f9f37648
VS
116602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11663 warning.
11664 Reported and tested by: Grégoire Sutre.
11665
ec1dfd63
VS
116662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * configure.ac: Do CPU substitution even if it's specified explicitly.
11669 Reported and tested by: Alain Greppin.
11670
9462775a
VS
116712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11674 Reported and tested by: Alain Greppin.
11675
0fd48e35
VS
116762011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Satisfy some bison versions need for inttypes.h.
11679
11680 * grub-core/lib/posix_wrap/inttypes.h: New file.
11681 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11682 (int16_t): Likewise.
11683 (int32_t): Likewise.
11684 (int64_t): Likewise.
11685 Reported and tested by: Alain Greppin.
11686
43f1bc83
VS
116872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11690 Silence spurious warning.
11691 Reported and tested by: Alain Greppin.
11692
64d1f041
SJ
116932011-01-07 Szymon Janc <szymon@janc.net.pl>
11694
11695 * docs/grub.texi (Support automatic decompression): Update with xz
11696 decompression support.
11697
25953e10
SJ
116982011-01-07 Szymon Janc <szymon@janc.net.pl>
11699
11700 Improve loaders' kernel command line handling.
11701
11702 * grub-core/lib/cmdline.c: New file.
11703 * include/grub/lib/cmdline.h: Likewise.
11704 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11705 grub_create_loader_cmdline to create kernel command line.
11706 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11707 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11708 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11709 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11710 (linux): Add lib/cmdline.c on common.
11711
e72d259f
VS
117122011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11715 inopos might be unaligned.
11716
c0cf26da
VS
117172011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11720 endian transformations.
11721 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11722 Based on report by: Doug Nazar.
11723
0ca09e6c
DN
117242011-01-07 Doug Nazar <nazard.michi@gmail.com>
11725
11726 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11727 array->members[i].start_sector.
11728 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11729
014b6806
VS
117302011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11733 Reported and tested by: Grégoire Sutre.
11734
415502c2
CW
117352011-01-06 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11738 avoid causing test failures by clearing the screen.
11739
71b6a2b7
CW
117402011-01-06 Colin Watson <cjwatson@ubuntu.com>
11741
11742 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11743 Fix prefix check to handle the case where dir ends with a slash
11744 (most significantly, "/" itself).
11745 Reported by: Michael Vogt.
11746
b3f8d28a
VS
117472011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 Run terminfo_cls on initing terminfo output to clear the screen and
11750 move the cursor to (0,0).
11751
11752 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11753 Call grub_terminfo_output_init.
11754 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11755 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11756 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11757
4c3e4f37
VS
117582011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11761 only when needed.
11762
488f71f1
VS
117632011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11766 CTRL.
11767
18a38098
VS
117682011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 The E820 type 5 is BADRAM, not EXEC_CODE.
11771
11772 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11773 (GRUB_E820_BADRAM): New define.
11774 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11775 into reserved. Propagate BADRAM.
11776 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11777 (GRUB_E820_BADRAM): New define.
11778
9eae2084
VS
117792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11782 Ignore the memory post-4G.
11783 (grub_relocator_firmware_alloc_region): Additional debug statement.
11784
ebc71d28
VS
117852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11788 names.
11789 Reported by: David Pravec.
11790
446fa400
VS
117912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11794 BIOSes.
11795
a0159f37
VS
117962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11799 Prevent overflow.
11800 (grub_reed_solomon_recover): Likewise.
11801
e5146ca1
VS
118022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11805
118062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11807
11808 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11809 variable.
11810
5b1bdf12
CW
118112011-01-04 Colin Watson <cjwatson@ubuntu.com>
11812
11813 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11814 descriptions of extract_legacy_entries_source and
11815 extract_legacy_entries_configfile.
11816 Reported by: Seung Soo, Ha.
11817
99d925aa
CW
118182011-01-03 Colin Watson <cjwatson@ubuntu.com>
11819
11820 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11821 on devices that do not implement function 0.
11822
4af0504b
DV
118232011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11824
11825 * grub-core/fs/hfsplus.c: Make parent unsigned.
11826 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11827 overflows.
11828 (grub_hfsplus_cmp_extkey): Likewise
11829
469ee10a
VS
118302011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * util/grub-install.in: Correctly use bootloader_id and not
11833 GRUB_DISTRIBUTOR on efibootmgr line.
11834
323a8e9c
VS
118352011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11836
11837 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11838
1b394975
IC
118392010-12-31 Ian Campbell <ijc@hellion.org.uk>
11840
11841 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11842 Xen and reorder menu item wording to make it clearer that this entry
11843 will launch Xen. Print separate messages when loading Xen and
11844 Linux.
11845
275bff5f
VS
118462010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11849 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11850 loop in case of incorrect amiga partmap.
11851
307806cb
VS
118522010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11855 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11856 Reported by:EHeM.
11857
b12b923e
VS
118582010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11861 spurious warning.
11862 Reported by: crocket
11863
14b48a19
VS
118642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11867 Preload EFIemu.
11868 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11869
693db2df
VS
118702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11873 is loaded
11874 (grub_cmd_xnu_kextdir): Likewise.
11875 (grub_cmd_xnu_splash): Likewise.
11876
c7638645
VS
118772010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 Avoid using Reed-Solomon with 0 redundancy.
11880
11881 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11882 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11883 or 0 redundancy.
11884 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11885 (grub_reed_solomon_recover): Likewise.
11886
25dd4780
VS
118872010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 Don't use disk subsystem in freebsd_boot.
11890
11891 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11892 (freebsd_biosdev): Likewise.
11893 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11894 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11895
0b2db943
VS
118962010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 Handling of files of unknown size is currently limited. They can't be
11899 used e.g. for initrd or modules. Moreover gzip handling of not
11900 easily seekable files is buggy. Disable unknown file size for now. May
11901 be inefficient but works.
11902
11903 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11904 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11905
5c408d0f
MP
119062010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11907
11908 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11909 floppy probe.
11910
190a011a
JD
119112010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11912
11913 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11914
022d01b8
SL
119152010-12-25 Shea Levy <shlevy>
11916
11917 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11918
c4855fdc
VS
119192010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11922 Windows Server 2008.
11923 Reported by: Devin Giddings.
11924
0354b867
VS
119252010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11928 writing an error message because of async power management.
11929 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11930 (grub_reboot): Likewise.
11931
ab66c69f
JU
119322010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11933
11934 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11935 keep unit tests from failing when they shouldn't.
11936
1426ef35
CW
119372010-12-21 Colin Watson <cjwatson@ubuntu.com>
11938
11939 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11940 previous patch increased the size of the RS code by 20 bytes (at
11941 least with gcc-4.4), so increase this by 20 bytes to match.
11942 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11943
20641b6b
CW
119442010-12-21 Colin Watson <cjwatson@ubuntu.com>
11945
11946 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11947 scratch area. Make sure to initialise chosen in standalone mode as
11948 well as non-standalone.
11949 Reported by: Robert Hooker and Andy Whitcroft.
11950 Tested by: Andy Whitcroft.
11951
d060ad60
CW
119522010-12-21 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11955 constructing a new unescaped string and passing it to grub_xputs in
11956 one go, rather than passing characters to grub_printf one at a time.
11957
b889cfad
CW
119582010-12-21 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11961 initialising utf16.
11962
4e01b6c8
CW
119632010-12-21 Colin Watson <cjwatson@ubuntu.com>
11964
11965 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11966 comment. Add an extra layer of quotation, requiring the output of
11967 this function to be used in a printf format string.
11968 (gettext_printf): New function.
11969 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11970 Extract translatable strings from here-documents and use a temporary
11971 variable instead, so that xgettext can find them.
11972 * util/grub.d/10_kfreebsd.in: Likewise.
11973 * util/grub.d/10_linux.in: Likewise.
11974 * util/grub.d/20_linux_xen.in: Likewise.
11975
11976 * po/grub.d.sed: New file.
11977 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11978 arguments. Set c-format flags on all strings extracted from
11979 util/grub.d/ (xgettext refuses to include these itself for strings
11980 it extracted from a shell file, but these really are c-format).
11981
5318fe98
VS
119822010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11985 Avoid next pointing to nowhere.
11986
6c85b743
VS
119872010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11990 rather than assuming than rootblock is exactly in the middle.
11991 (grub_affs_label): Likewise.
11992
a2a08a35
VS
119932010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11996 reserved_first_sector to 0.
11997 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11998 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11999 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12000
7059d1ec
VS
120012010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Fix handling of UTF-16 UDF labels.
12004
12005 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12006 (read_string): .. here.
12007 (grub_udf_label): Use read_string.
12008
30aff4cb
BC
120092010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12010
12011 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12012 editor under argument scope.
12013 Reported by: Jordan Uggla
12014
5cf86f4b
VS
120152010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12018
32570200
CW
120192010-12-18 Colin Watson <cjwatson@ubuntu.com>
12020
12021 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12022 line, and other keys scroll an entire page (previous handling was
12023 for \r and \n to scroll a page and other keys to scroll two lines).
12024
e1dffcf2
VS
120252010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12028 Set ptrdest to correct get_physical_target_address rather than
12029 incorrect get_virtual_current_address.
12030
b04298cf 120312010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12032
12033 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12034 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12035
5367ecd3
CW
120362010-12-10 Colin Watson <cjwatson@ubuntu.com>
12037
12038 * .bzrignore: Ignore grub-core/rs_decoder.S.
12039
1fb430f8
CW
120402010-12-10 Colin Watson <cjwatson@ubuntu.com>
12041
12042 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12043 .mo/.mo.gz opening sequence to ...
12044 (grub_mofile_open_lang): ... here.
12045 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12046 * util/grub.d/00_header.in (grub_lang): Include country part of
12047 locale.
12048 Reported by: Mario Limonciello.
12049
a94a6671
RM
120502010-12-09 Robert Millan <rmh@gnu.org>
12051
12052 * NEWS: Document addition of ZFS support.
12053
24b7938b
CW
120542010-12-04 Colin Watson <cjwatson@ubuntu.com>
12055
12056 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12057 rather than `/ 2', as the latter requires -Wa,--divide which would
12058 require bumping our minimum binutils version.
12059
bddc3ef6
BC
120602010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12061
12062 * util/grub-script-check.c (main): Print script line number on
12063 error.
12064
bf78d5b2
RM
120652010-12-01 Robert Millan <rmh@gnu.org>
12066
12067 * grub-core/fs/zfs/zfs.c: New file.
12068 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12069 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12070 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12071 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12072
12073 * include/grub/zfs/dmu.h: Likewise.
12074 * include/grub/zfs/dmu_objset.h: Likewise.
12075 * include/grub/zfs/dnode.h: Likewise.
12076 * include/grub/zfs/dsl_dataset.h: Likewise.
12077 * include/grub/zfs/dsl_dir.h: Likewise.
12078 * include/grub/zfs/sa_impl.h: Likewise.
12079 * include/grub/zfs/spa.h: Likewise.
12080 * include/grub/zfs/uberblock_impl.h: Likewise.
12081 * include/grub/zfs/vdev_impl.h: Likewise.
12082 * include/grub/zfs/zap_impl.h: Likewise.
12083 * include/grub/zfs/zap_leaf.h: Likewise.
12084 * include/grub/zfs/zfs.h: Likewise.
12085 * include/grub/zfs/zfs_acl.h: Likewise.
12086 * include/grub/zfs/zfs_znode.h: Likewise.
12087 * include/grub/zfs/zil.h: Likewise.
12088 * include/grub/zfs/zio.h: Likewise.
12089 * include/grub/zfs/zio_checksum.h: Likewise.
12090
12091 * Makefile.util.def: Build ZFS into libgrubmods.
12092 * grub-core/Makefile.core.def: Build zfs.mod.
12093
3f0f3831
SJ
120942010-11-30 Szymon Janc <szymon@janc.net.pl>
12095
12096 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12097 variable.
12098 * grub-core/commands/wildcard.c (match_files): Likewise.
12099
3a4253b2
RM
121002010-11-30 Robert Millan <rmh@gnu.org>
12101
12102 * grub-core/loader/i386/bsd.c
12103 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12104 whether kernel is loaded using grub_loader_is_loaded(), rather
12105 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12106 certain error conditions.
12107
8c317b27
RM
121082010-11-30 Robert Millan <rmh@gnu.org>
12109
c5c9cd3e
RM
12110 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12111 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 12112
49d3ab46
VS
121132010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 Avoid using tricks for initialising endian variables.
12116
12117 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12118 Make const.
12119 (GRUB_MOD_INIT): Don't byte-swap.
12120 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12121 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12122 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12123 (grub_swap_bytes32_compile_time): Likewise.
12124 (grub_cpu_to_le32_compile_time): Likewise.
12125 (grub_cpu_to_le16_compile_time): Likewise.
12126
f420a804
VS
121272010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * util/grub-setup.c (setup): Stop recommending --force. People who
12130 understand the dangers of blocklists are able to find this option
12131 anyway and the ones who don't shouldn't use it anyway.
12132
4e7db17b
RM
121332010-11-26 Robert Millan <rmh@gnu.org>
12134
12135 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12136 Update all users.
12137
9be57a0d
CW
121382010-11-26 Colin Watson <cjwatson@ubuntu.com>
12139
12140 Fix LVM-on-RAID probing.
12141
12142 * util/grub-probe.c (probe): Remember which disk was detected as
12143 RAID (perhaps an LVM physical volume). Use that disk's raidname
12144 rather than that of the top-level disk.
12145
2c7859b3 121462010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 12147
d7647bb6
BC
12148 Fix cmdline argument quotes for setparams command of menuentry
12149 definitions.
7e623b0d
BC
12150
12151 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12152 quotes for arguments.
f866fe80 12153 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 12154 grub_strchrsub function instead.
f866fe80 12155
7955bea0 12156 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 12157
74f72a64
CW
121582010-11-24 Colin Watson <cjwatson@ubuntu.com>
12159
12160 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12161 effort by skipping "." and ".." entries up-front.
12162 Suggested by: Michael Lazarev.
12163
5a407278
CW
121642010-11-24 Colin Watson <cjwatson@ubuntu.com>
12165
12166 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12167 ldflags to ldadd, to fix link line ordering.
12168 (none_decompress): Likewise.
12169
3030d8ec
CW
121702010-11-24 Colin Watson <cjwatson@ubuntu.com>
12171
12172 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12173 platforms.
12174 (grub-emu-lite): Remove kern/emu/cache.S.
12175
b7fbac12
CW
121762010-11-23 Colin Watson <cjwatson@ubuntu.com>
12177
12178 * util/deviceiter.c (compare_devices): If the by-id link for a
12179 device couldn't be resolved, fall back to sorting by the by-id link
12180 rather than segfaulting.
12181 Reported and tested by: Daniel Mierswa.
12182
5225f328
CW
121832010-11-23 Colin Watson <cjwatson@ubuntu.com>
12184
12185 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12186 ldflags, to fix link line ordering.
12187
038b3ce8
CW
121882010-11-23 Colin Watson <cjwatson@ubuntu.com>
12189
12190 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12191 linkers are picky about this.
12192
bf16e98e
CW
121932010-11-23 Colin Watson <cjwatson@ubuntu.com>
12194
12195 * grub-core/Makefile.am (command.lst): Adjust sed expression
12196 ordering so that extended and priority commands aren't treated as
12197 ordinary commands.
12198
7242bab6
CW
121992010-11-23 Colin Watson <cjwatson@ubuntu.com>
12200
12201 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12202 Remove byte-swapping function calls, which are not valid in
12203 structure initialisers.
12204 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12205 non-const.
12206 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12207 grub_gpt_partition_type_bios_boot.
12208
14e8b279
CW
122092010-11-22 Colin Watson <cjwatson@ubuntu.com>
12210
12211 Fix test program build on GNU/kFreeBSD.
12212
12213 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12214 $(LIBNVPAIR)' library dependencies.
12215
e6f63338 122162010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
12217
12218 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12219
cf8ffc38
CW
122202010-11-22 Colin Watson <cjwatson@ubuntu.com>
12221
12222 * util/grub-install.in: Remove excessive quoting that broke
12223 installations to RAID devices.
12224
7f8b0fd7
VS
122252010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
12228 bootloader version instead of 0.
12229
dfd240b1
VS
122302010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
12233 warning.
12234
7b61e609
VS
122352010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
12238 retrieve the metadat sector if size isn't known.
12239 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12240
9dfe92d0
RM
122412010-11-18 Robert Millan <rmh@gnu.org>
12242
12243 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
12244 with grub_memcmp().
12245
41cc919e
VS
122462010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
12249 arrow.
12250 Reported by: Jordan Uggla.
12251
1afcc914
VS
122522010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Make better UTF compliant.
12255
12256 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
12257 sequences as incorrect.
12258 (grub_is_valid_utf8): Likewise.
12259 (grub_utf8_to_ucs4): Likewise.
12260 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
12261 (grub_ucs4_to_utf8_alloc): Likewise.
12262 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
12263
f1808884
VS
122642010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 Make legacy_source behave like source.
12267
12268 * grub-core/commands/legacycfg.c (legacy_file): Don't call
12269 grub_show_menu.
12270 (grub_cmd_legacy_source): Call grub_show_menu if needed.
12271
24ec575b
CW
122722010-11-16 Colin Watson <cjwatson@debian.org>
12273
12274 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
12275 (-Wunused implies -Wunused-parameter, but not vice versa).
12276
72b7c7aa
CW
122772010-11-16 Colin Watson <cjwatson@ubuntu.com>
12278
12279 * configure.ac: Make error messages less confusing by testing for
12280 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
12281 accepted, but produces a diagnostic if something else is wrong).
12282
e98937aa
VS
122832010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
12286 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
12287 (now unused).
12288 (grub_keyboard_controller_init)
12289 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
12290 read the initial state since controller isn't inited yet.
12291
f6bbabc3
VS
122922010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
12295 allocate_regbeg may need to create new chunk header.
12296
22e7dbb2
VS
122972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 Fix quoting in legacy parser.
12300
12301 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
12302 single quotes.
12303 (grub_legacy_parse): Likewise.
12304 Reported by: Jordan Uggla.
12305 Tested by: Jordan Uggla.
12306
03f80960
VS
123072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 Don't add -lgcc on i386 and x86_64.
12310
12311 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
12312 * conf/Makefile.common (LDADD_KERNEL): Likewise.
12313 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
12314
779dc15b
VS
123152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * configure.ac: Add -Wno-trampolines when supported.
12318
d20a3b37
MV
123192010-11-14 Modestas Vainius <modax@debian.org>
12320
12321 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
12322 fakeraid.
12323
e5360933
GC
123242010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12325
12326 Add generic logical block size support for UDF.
12327
12328 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
12329 (GRUB_UDF_BLKSZ): Removed.
12330 (struct grub_udf_data): New field "lbshift" to hold the logical block
12331 size of the file system in log2 format. All users updated.
12332 (sblocklist): Change type to unsigned.
12333 (grub_udf_mount): Change type of "sblklist" to unsigned.
12334 Move AVDP search before VRS recognition, because the latter requires
12335 knowledge of the logical block size, which is detected during the
12336 former.
12337 Detect and validate logical block size during AVDP search, adding
12338 support for block sizes 512, 1024 and 4096.
12339 Make VRS recognition independent of block size.
12340
cb0229c5
GC
123412010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12342
12343 Properly handle deleted files on UDF.
12344
12345 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
12346 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
12347 set.
12348
406858a8
GC
123492010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12350
12351 Support reading files larger than 2 GiB.
12352
12353 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
12354 "offset" to grub_off_t.
12355 (grub_udf_read_file): Likewise for parameter "pos".
12356
130da6a7
VS
123572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
12360 unavailable.
12361 (Simple configuration): Refer to Changes from GRUB Legacy about
12362 save_env availability.
12363
65e93f6b
VS
123642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * util/grub-install.in: Ignore empty partition table detection
12367 instead of trying to include part_ module.
12368
1fd08bf1
VS
123692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
12372 LVM on RAID support.
12373
de1a024f
VS
123742010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Properly define WORDS_BIGENDIAN in wrapped environments.
12377
12378 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
12379 definition.
12380 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
12381
12382 Reported by: Manoel Rebelo Abranches.
12383 Tested by: Manoel Rebelo Abranches.
12384
bc5dd0b9
VS
123852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 * util/grub-mkconfig.in: Fix quoting.
12388
58c184be
VS
123892010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 Support big ext2 files.
12392
12393 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
12394 (grub_ext2_read_block): Support triple indirect blocks.
12395 (grub_ext2_read_file): Use 64-bit types and read size_high.
12396 (grub_ext2_open): Read size_high.
12397 Reported by: Ximin Luo.
12398 Tested by: Manoel Rebelo Abranches.
12399
5f0c02b3
VS
124002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * util/grub-install.in: Handle filenames containing spaces.
12403 Reported by: Jordan Uggla.
12404 Tested by: Jordan Uggla.
12405
4417aae6
VS
124062010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * util/grub-mkconfig.in (grub_script_check): New variable.
12409 Use grub_script_check instead of grub-script-check.
12410 Reported by: Barry Jackson.
12411
7625a68e
VS
124122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * docs/grub.texi (menu): Correct the order.
12415 Reported by: D. Hugh Redelmeier.
12416
10001ac5
VS
124172010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
12420 jump.
12421
9c4cf53b
MRA
124222010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12423
10001ac5
VS
12424 * include/grub/elfload.h (grub_elf32_size): New parameter.
12425 All users updated.
9c4cf53b
MRA
12426 Return maximum segments alignment.
12427 (grub_elf64_size): Likewise.
12428 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
12429 Return maximum segments alignment.
12430 (grub_elf64_size): Likewise.
12431 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
12432 (grub_linux_claimmap_iterate): New function. Uses the
12433 "available" property in the "memory" node for memory allocation
12434 for kernel in the PowerPC loader.
9c4cf53b
MRA
12435 (grub_linux_load32): Correctly find linux entry point offset.
12436 (grub_linux_load64): Likewise.
12437
d2bf06bf
RM
124382010-11-07 Robert Millan <rmh@gnu.org>
12439
12440 On mips-yeeloong, build with -march=loongson2f when this flag is
12441 available (GCC >= 4.4).
12442 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
12443 `-march=mips3'.
12444 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
12445 or otherwise add -march=mips3.
12446
898c99a2
BC
124472010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
12448
87220a68
BC
12449 Suppress shell expansion on echo '*' and echo "*" like cases.
12450 Reported by: Jordan Uggla.
898c99a2
BC
12451
12452 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
12453 string arguments before shell expansion.
12454 * tests/grub_cmd_echo.in: New testcases.
12455
4f9b406a
RM
124562010-11-07 Robert Millan <rmh@gnu.org>
12457
12458 * conf/mips-qemu-mips.rmk: Remove stale file from previous
12459 transition.
12460
80c6d25e
VS
124612010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * grub-core/kern/emu/hostdisk.c
12464 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
12465
4a1a0153
VS
124662010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
12469 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
12470 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
12471
34706ddc
VS
124722010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
12475
6972dea9
VS
124762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * util/grub-install.in: Replace useless recomendation to pass
12479 --modules with a recomendation to report a bug.
12480
9c693bd6
VS
124812010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 Properly register serial terminfo.
12484 Reported by: Jordan Uggla
12485
12486 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
12487 const.
12488 (grub_serial_terminfo_output_template): Likewise.
12489 (grub_cmd_serial): Register "serial" with terminfo.
12490 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
12491 grub_serial_terminfo_output.
12492
6c9e4c0c
RM
124932010-11-05 Robert Millan <rmh@gnu.org>
12494
12495 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
12496 needed).
12497
b9b3839f
RM
124982010-11-05 Robert Millan <rmh@gnu.org>
12499
12500 On Yeeloong, pass machine type information to Linux.
12501
12502 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
12503 (LOONGSON_MACHTYPE): New macro, set to
12504 "machtype=lemote-yeeloong-2f-8.9inches".
12505 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
12506 additional argument to Linux.
12507
1a3aaff4
RM
125082010-11-04 Robert Millan <rmh@gnu.org>
12509
12510 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
12511 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
12512 (its SATA disks are detected as slaveless IDE master drives on
12513 kFreeBSD).
12514 Reported by Carsten Aulbert.
12515
a75f4f62
CW
125162010-11-02 Colin Watson <cjwatson@ubuntu.com>
12517
12518 * util/bin2h.c (main): Fix spelling error in generated output.
12519
33b4b0c6
GS
125202010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
12521
12522 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
12523
2b36fbf4
VS
125242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
12527 vga= option is supplied.
12528
74aaf558
VS
125292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
12532 * util/grub.d/10_kfreebsd.in: Likewise.
12533 * util/grub.d/10_linux.in: Likewise.
12534 * util/grub.d/20_linux_xen.in: Likewise.
12535
6428dec3
VS
125362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
12539 argument as an argument to no-argument option.
12540
f8729d98
VS
125412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * util/grub.d/10_linux.in: Add missing load_video with explicit
12544 GRUB_GFXPAYLOAD_LINUX.
12545
89d68fa6
VS
125462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
12549
3a1197cd
VS
125502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
12553 elements with invlid index.
12554 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12555 * grub-core/disk/raid.c (insert_array): Automatically reallocate
12556 members.
12557 * include/grub/raid.h (grub_raid_member): New struct.
12558 (grub_raid_array): Transform devices and start_sector into usage of
12559 grub_raid_member. All users updated
12560 (allocated_devs): New member.
12561
71574288
VS
125622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
12565 is modified
12566
8d40ec65
BC
125672010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
12568
12569 NetBSD build fix for getline function conflict from gnulib.
12570
12571 * Makefile.util.def (libgrubkern.a): New library for grub kernel
12572 components that depend on gnulib headers.
12573 (libgrubmods.a): Renamed from earlier libgrub.a.
12574 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
12575
95b9257e
VS
125762010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
12579 install rather than creating a broken install.
12580
26c53dc6
VS
125812010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 * util/grub-setup.c (argp): Remove misleading example of installing to
12584 a partition.
12585
4171b3c5
VS
125862010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 * util/grub-setup.c (setup): Clarify the error message.
12589
18568d18
VS
125902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12593
4f6a2e21
VS
125942010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/kern/emu/misc.c
12597 (grub_make_system_path_relative_to_its_root)
12598 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12599
126002010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12601
12602 * grub-core/kern/emu/misc.c
12603 (grub_make_system_path_relative_to_its_root): Revert r2882.
12604
e138c458
VS
126052010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12608 useless field head. All users updated.
12609 (free_subchunk): Correct handling of IN_REGION subchunk.
12610
0cbcdf0e
CW
126112010-10-22 Colin Watson <cjwatson@ubuntu.com>
12612
12613 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12614 (Supported kernels): Likewise.
12615
b65ea155
GS
126162010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12617
12618 Make mktemp invocations portable.
12619
12620 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12621 exit if mktemp fails.
12622 * tests/grub_script_blockarg.in: Likewise.
12623 * tests/partmap_test.in: Likewise.
12624 * tests/util/grub-shell-tester.in: Likewise.
12625 * tests/util/grub-shell.in: Likewise.
12626 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12627 * Makefile.am: Likewise, and chain shell commands with `&&'
12628 instead of ';'.
12629 * util/grub-mkrescue.in: Use the same explicit template as above, and
12630 exit if mktemp fails.
12631
05f43cdd
BC
126322010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12633
12634 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12635 Linux kernel, reported by Dennis Schridde.
12636
800e6a9b
SJ
126372010-10-17 Szymon Janc <szymon@janc.net.pl>
12638
12639 * grub-core/normal/auth.c (grub_auth_check_authentication):
12640 Set-but-not-used variable removed.
12641
d82df574
VS
126422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12645 32-bit linux protocol.
12646
7bced458
VS
126472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12650 cursor shape for sanity.
12651
5b027690
VS
126522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * docs/grub.texi (Installation): Document buggy BIOS install.
12655
ba5f65cf
VS
126562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * docs/grub.texi (Installation): Indent.
12659
fdf2ec9c
VS
126602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * util/grub-setup.c (setup): New parameter allow_floppy.
12663 (arguments): New member allow_floppy.
12664 (argp_parser): Handle --allow-floppy.
12665 (main): Pass allow_floppy.
12666 * util/grub-install.in: New option --allow-floppy passed though to
12667 grub-setup.
12668
861dfd4c
VS
126692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12670
12671 * util/grub-install.in: Handle partitionless disks.
12672
f77a8c24
VS
126732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * util/grub-setup.c (setup): Don't clean blocklists before readability
12676 verfification.
12677
27d9ee32
VS
126782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * docs/grub.texi (Installation): Document embedding zone. Remove
12681 obsolete grub-install example.
12682
6bdda8f8
SJ
126832010-10-16 Szymon Janc <szymon@janc.net.pl>
12684
12685 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12686 Set-but-not-used variable ifdef'ed.
12687 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12688 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12689 variable removed.
12690 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12691 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12692 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12693 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12694 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12695 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12696 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12697 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12698 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12699 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12700 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12701 Likewise.
12702
e19b016b
VS
127032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12706 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12707 enum value.
12708
6c8d3002
VS
127092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12712 synonym to _S5_. Needed for some DSDTs.
12713
c32b51c9
VS
127142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Userspace ACPI parser debugging.
12717
12718 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12719 headers and add relevant defines. Don't include standard headers.
12720 (main) [GRUB_DSDT_TEST]: New function.
12721 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12722 Don't declare functions.
12723
fbfbeb39
VS
127242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 Remove dead grub_efi_mm_fini.
12727
12728 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12729 (ALLOCATED_PAGES_SIZE): Likewise.
12730 (MAX_ALLOCATED_PAGES): Likewise.
12731 (allocated_pages): Likewise.
12732 (grub_efi_allocate_pages): Don't record allocated pages.
12733 (grub_efi_free_pages): Likewise.
12734 (grub_efi_mm_init): Likewise.
12735 (grub_efi_mm_fini): Removed.
12736
65f7ed7c
VS
127372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12740 (grub_efi_mm_init): Take into account the memory map size increase.
12741
24977b44
VS
127422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12745 (serial_hw_put): Wait based on real time rather than port reads. Don't
12746 roken ports.
12747 * include/grub/serial.h (grub_serial_port): New field broken.
12748
1eb01cd2
RM
127492010-10-16 Robert Millan <rmh@gnu.org>
12750
12751 * grub-core/kern/emu/misc.c
12752 (grub_make_system_path_relative_to_its_root): Fix premature return
12753 when processing non-root ZFS filesystems.
5f8b440b 12754 Reported by Sergio Talens-Oliag.
1eb01cd2 12755
2d5fed60
RM
127562010-10-15 Robert Millan <rmh@gnu.org>
12757
12758 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12759 guarantee compressed ones are processed first.
12760
d0f4c1ea
VS
127612010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12764 grub_efiemu_autocore.
12765
d87c681f
VS
127662010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12769 rather than 0x1b.
12770 (grub_console_getkey): Use correct jae opcode rather than ja.
12771
219b3564
RM
127722010-10-12 Robert Millan <rmh@gnu.org>
12773
12774 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12775 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12776 variable. All references updated.
12777
12778 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12779
20c6bb7e
VS
127802010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 Correctly distinguish mdraid flavours.
12783
12784 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12785 (insert_array): New argument raid.
12786 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12787 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12788 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12789
74baff84
VS
127902010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12793 handling of special keys.
12794
3ef068df 127952010-10-02 Aleš Nesrsta <starous@volny.cz>
12796
c7980ad9
VS
12797 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12798 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12799
a9455194 128002010-10-02 Aleš Nesrsta <starous@volny.cz>
12801
c7980ad9
VS
12802 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12803 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12804 users updated.
a9455194 12805 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12806 Use right endpoint when querying descriptor.
a9455194 12807
441cfe65
VS
128082010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 Clear out 0x80 color bit on EFI.
12811 Tested by: decoder
12812 Reported by: decoder and meta tech.
12813
12814 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12815 (grub_console_setcolorstate): Clear out 0x80 bit.
12816 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12817 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12818 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12819
bf26bcc4
VS
128202010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12823 Set to "auto".
12824
6e3c515d
VS
128252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12828 mo_file after freeing.
12829
e6d983ba
VS
128302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12833
74ccb5b5
VS
128342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12837 flags.
12838
17821956
VS
128392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12842 usage.
12843
ee74fa48
VS
128442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12847
12848 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12849 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12850 and terminfo.h when needed.
12851 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12852 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12853 (terminfo): Enable only on terminfokernel.
12854 (extcmd): Likewise.
12855 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12856 * include/grub/lib/arg.h: Likewise.
12857 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12858 incorrect usage of ->.
12859
aa438e68
VS
128602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12863 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12864
57994012
VS
128652010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 Fix coreboot compilation.
12868
12869 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12870 Take VBE info into account even if only text is supported.
12871 (fill_vbe_info): Take into account the case when only VGA text
12872 is supported.
12873 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12874 on coreboot, multiboot and qemu.
12875
2a406611
VS
128762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12879 debug messages.
12880 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12881
d33613fc
VS
128822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12885 parameters.
12886
44a1b432
VS
128872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12890 if they were BSD-style.
12891
edde54e6
VS
128922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/boot/i386/pc/lnxboot.S: Replace
12895 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12896 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12897
b65830fa
VS
128982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 Write embedding zone using Reed-Solomon.
12901
12902 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12903 * grub-core/Makefile.am (rs_decoder.S): New target.
12904 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12905 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12906 (multiboot): Move to RS part.
12907 (post_reed_solomon): New label.
12908 (grub_boot_drive): Move to non-RS part since it's modified in memory
12909 on boot.
12910 Include rs_decoder.S.
12911 * grub-core/lib/reed_solomon.c: New file.
12912 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12913 New definition.
12914 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12915 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12916 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12917 * include/grub/partition.h (grub_partition_map): Change prototype of
12918 embed to allow returning additional sectors.
12919 * include/grub/reed_solomon.h: New file.
12920 * util/grub-setup.c (setup): Handle Reed-Solomon.
12921
0b4b227f
CW
129222010-09-28 Colin Watson <cjwatson@ubuntu.com>
12923
12924 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12925 i386 and x86-64 definedness tests.
12926
f772623b
YB
129272010-09-27 Yves Blusseau <blusseau@zetam.org>
12928
12929 Fix generation of kernel_syms.lst
12930
12931 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12932 ASM_PREFIX
12933
8e57a6ca
RM
129342010-09-26 Robert Millan <rmh@gnu.org>
12935
12936 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12937
12938 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12939 the pool is an array of devices, iterate through it and return the
12940 first device that passes a stat() test (instead of blindly returning
12941 the first one).
12942
f9130836
RM
129432010-09-26 Robert Millan <rmh@gnu.org>
12944
12945 Build fixes for GNU/kFreeBSD.
12946
12947 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12948 to programs that require ZFS conversion.
12949 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12950 kernels that don't have FLOPPY_MAJOR.
12951
96510faf
BC
129522010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12953
12954 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12955
449333eb
BC
129562010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12957
12958 Fix grub-emu build.
12959
12960 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12961 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12962 mdraid09 and mdraid1x.
12963
e1fd1939
CW
129642010-09-24 Colin Watson <cjwatson@ubuntu.com>
12965
12966 Re-enable grub-extras.
12967
12968 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12969 avoid confusing Automake. Run autogen only twice, once for the top
12970 level and once for grub-core. Add Makefile.util.def and
12971 Makefile.core.def from extra modules to the appropriate autogen
12972 invocations. If Makefile.common exists in an extra module, include
12973 it in both Makefile.util.am and grub-core/Makefile.core.am;
12974 similarly, include any Makefile.util.common file in Makefile.util.am
12975 and any Makefile.core.common file in grub-core/Makefile.core.am.
12976 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12977 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12978 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12979 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12980
12981 * gentpl.py (gvar_add): Turn GVARS into a set.
12982 (global_variable_initializers): Sort global variables on output.
12983 (vars_init): New function.
12984 (first_time): Likewise.
12985 (library): Ensure that non-global variable initialisations are
12986 emitted before the first time we emit code for a library block.
12987 Append to variables rather than setting them. Only emit
12988 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12989 each conditional path.
12990 (program): installdir() emits an Autogen macro, so must be passed to
12991 var_add rather than gvar_add.
12992 (data): Likewise.
12993 (script): Likewise.
12994 (rules): New function, centralising handling for different target
12995 types. Set up Guile association lists for first_time and vars_init,
12996 and send most output to a diversion so that variable initialisations
12997 can be emitted first.
12998 (module_rules): Use new rules function.
12999 (kernel_rules): Likewise.
13000 (image_rules): Likewise.
13001 (library_rules): Likewise.
13002 (program_rules): Likewise.
13003 (script_rules): Likewise.
13004 (data_rules): Likewise.
13005
13006 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13007
13008 * .bzrignore: Add contrib and grub-core/contrib. Remove
13009 grub-core/Makefile.gcry.am.
13010
1d12cf29
YB
130112010-09-24 Yves Blusseau <blusseau@zetam.org>
13012
13013 * grub-core/lib/LzFind.c: Add missing include.
13014 * grub-core/lib/LzmaEnc.c: Likewise.
13015 * grub-core/script/lexer.c: Likewise.
13016 * grub-core/script/yylex.l: Likewise.
13017 * util/grub-macho2img.c: Likewise.
13018 * util/grub-menulst2cfg.c: Likewise.
13019 * util/grub-mklayout.c: Likewise.
13020 * util/grub-mkpasswd-pbkdf2.c
13021 * util/grub-mkrelpath.c: Likewise.
13022 * util/resolve.c: Likewise.
13023
dd363028
BC
130242010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13025
13026 * Makefile.util.def (example_unit_test): Add
13027 grub-core/gnulib/libgnu.a.
13028
f5a109e2
GS
130292010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13030
13031 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13032
6d0fa83c
VS
130332010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Support xz compression on yeeloong.
13036
13037 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13038 * configure.ac: Check for LZMA.
13039 * grub-core/Makefile.core.def (xz_decompress): New target.
13040 (none_decompress): Likewise.
13041 * grub-core/boot/decompressor/minilib.c: New file.
13042 * grub-core/boot/decompressor/none.c: Likewise.
13043 * grub-core/boot/decompressor/xz.c: Likewise.
13044 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13045 * grub-core/kern/mips/cache_flush.S: Likewise.
13046 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13047 * grub-core/kern/mips/startup.S: Move first stage to ...
13048 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13049 nomacro.
13050 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13051 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13052 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13053 Allocate statically.
13054 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13055 Allocate statically or use scratch. Don't check CRC32.
13056 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13057 Allocate statically. Don't check CRC32.
13058 * include/grub/decompressor.h: New file.
13059 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13060 Removed.
13061 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13062 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13063 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13064 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13065 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13066 * util/grub-mkimage.c (grub_compression_t): New type.
13067 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13068 (image_target_desc): New field default_compression.
13069 (image_targets): Adjust yeeloong targets.
13070 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13071 (compress_kernel): New parameter comp.
13072 (generate_image): Likewise. Handle new compression case.
13073 (options): New option --compression
13074 (help): Likewise.
13075 (main): Handle new option.
13076
1b655af6
GS
130772010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13078
13079 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13080
8f03f0b5
CW
130812010-09-22 Colin Watson <cjwatson@ubuntu.com>
13082
13083 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13084 typo in __i386__ conditional.
13085
7835dfd3
VS
130862010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13089 include.
13090
e255597e
VS
130912010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13092
6d0fa83c 13093 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
13094
13095 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13096 new tags as supported.
13097 (acpiv2_size): New function.
13098 (grub_multiboot_get_mbi_size): Take new tags into account.
13099 (grub_multiboot_make_mbi): Add new tags.
13100 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 13101
6cc14051 131022010-09-21 Aleš Nesrsta <starous@volny.cz>
13103
13104 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13105 Added missing configuration of USB device.
13106
df7769d8
CW
131072010-09-21 Colin Watson <cjwatson@ubuntu.com>
13108
13109 * grub-core/normal/menu_entry.c (run): Make sure we always return
13110 a value.
13111
b031012d
CW
131122010-09-21 Colin Watson <cjwatson@ubuntu.com>
13113
13114 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13115 NumberOfPages is UINT64 according to the UEFI specification, not
13116 UINTN. Fix printf format.
13117
174de8f3
CW
131182010-09-21 Colin Watson <cjwatson@ubuntu.com>
13119
13120 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13121 `err' to grub_usb_err_t.
13122 Reported and tested by: KESHAV P.R.
13123
d7dbe923
CW
131242010-09-21 Colin Watson <cjwatson@ubuntu.com>
13125
13126 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13127 tpart non-const, so that we can assign to it. (Since this is a
13128 typedef, the constness refers to the pointer rather than what it
13129 points to.)
13130
8d5e2af3
CW
131312010-09-21 Colin Watson <cjwatson@ubuntu.com>
13132
13133 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13134 $(top_srcdir)/grub-core/gnulib as well as
13135 $(top_builddir)/grub-core/gnulib.
13136 Reported by: KESHAV P.R.
13137
5c527783
CW
131382010-09-21 Colin Watson <cjwatson@ubuntu.com>
13139
13140 * util/grub-install.in: Fix the bootloader ID option to be
13141 consistently --bootloader-id, not --bootloader_id.
13142 Reported by: KESHAV P.R.
13143
d309a16e
CW
131442010-09-21 Colin Watson <cjwatson@ubuntu.com>
13145
13146 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
13147 check hash checksum." consistently translatable.
13148
b830cd16
YB
131492010-09-21 Yves Blusseau <blusseau@zetam.org>
13150
13151 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13152 $(top_builddir).
13153
c4fe27a8
CW
131542010-09-21 Colin Watson <cjwatson@ubuntu.com>
13155
13156 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13157 (GRUB_MOD_INIT): Register sha1sum command.
13158 (GRUB_MOD_FINI): Unregister sha1sum command.
13159
a4c1d277
YB
131602010-09-21 Yves Blusseau <blusseau@zetam.org>
13161
13162 Keep boot and grub directory names in sync with utils scripts
13163
13164 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13165 * config.h.in: Add previous macros.
13166 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13167 * util/grub-install.in: Use $bootdir and $grubdir variables.
13168
4eff79d2
CW
131692010-09-21 Colin Watson <cjwatson@ubuntu.com>
13170
13171 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13172 convert partition names to disk names if the new `convert' parameter
13173 is set.
13174 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13175 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13176 disk in its own right. This can happen with Xen disk images.
13177
934d7e44
YB
131782010-09-21 Yves Blusseau <blusseau@zetam.org>
13179
13180 * util/grub-editenv.c: Update strings to avoid warnings when generating
13181 grub.pot file.
13182 * util/grub-setup.c: Likewise.
934d7e44 13183
df3367cc
VS
131842010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 * configure.ac: Change version to 1.99~beta0.
13187
77a94e98
VS
131882010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13191 Add BADRAM.
13192 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13193 Likewise.
13194 * include/multiboot.h: Resynced with specification.
13195 * include/multiboot2.h: Likewise.
13196
269004c1
CW
131972010-09-21 Colin Watson <cjwatson@ubuntu.com>
13198
13199 Fix po directory handling.
13200
13201 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13202 * grub-core/gnulib/Makefile.am: Import gettext module.
13203 * m4/gnulib-cache.m4: Likewise.
13204 * m4/gnulib-comp.m4: Likewise.
13205 * m4/gettext.m4: New file, from gnulib.
13206 * m4/glibc2.m4: Likewise.
13207 * m4/iconv.m4: Likewise.
13208 * m4/intdiv0.m4: Likewise.
13209 * m4/intl.m4: Likewise.
13210 * m4/intldir.m4: Likewise.
13211 * m4/intlmacosx.m4: Likewise.
13212 * m4/intmax.m4: Likewise.
13213 * m4/inttypes-pri.m4: Likewise.
13214 * m4/lcmessage.m4: Likewise.
13215 * m4/lib-ld.m4: Likewise.
13216 * m4/lib-link.m4: Likewise.
13217 * m4/lib-prefix.m4: Likewise.
13218 * m4/lock.m4: Likewise.
13219 * m4/nls.m4: Likewise.
13220 * m4/po.m4: Likewise.
13221 * m4/printf-posix.m4: Likewise.
13222 * m4/progtest.m4: Likewise.
13223 * m4/threadlib.m4: Likewise.
13224 * m4/uintmax_t.m4: Likewise.
13225 * m4/visibility.m4: Likewise.
13226 * po/Makefile.am: Remove.
13227 * po/Makefile.in.in: New file, from gettext.
13228 ($(DOMAIN).pot-update): Support POTFILES-shell.
13229 * po/Makevars: New file.
13230 * po/POTFILES-shell: Rename to ...
13231 * po/POTFILES-shell.in: ... this. Update.
13232 * po/POTFILES: Rename to ...
13233 * po/POTFILES.in: ... this. Update.
13234 * po/Rules-quot: New file, from gettext.
13235 * po/boldquot.sed: Likewise.
13236 * po/en@boldquot.header: Likewise.
13237 * po/en@quot.header: Likewise.
13238 * po/insert-header.sin: Likewise.
13239 * po/quot.sed: Likewise.
13240 * po/remove-potcdate.sin: Likewise.
13241
3e0fa5d0
VS
132422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
13245
ade9bd66
VS
132462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 * util/grub.d/20_linux_xen.in: Use submenus.
13249
fc55cc4c
VS
132502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 Support submenus.
13253
13254 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
13255 parameter submenu. All users updated.
13256 * grub-core/normal/main.c (free_menu): Rename to ...
13257 (grub_normal_free_menu): ... this. Made global.
13258 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
13259 if requested.
13260 * grub-core/normal/menu_entry.c (screen): New field submenu.
13261 (make_screen): Set submenu.
13262 (run): Open new context if requested.
13263 * include/grub/menu.h (grub_menu_entry): New field submenu.
13264 * include/grub/normal.h (grub_normal_free_menu): New proto.
13265
600cedf7
VS
132662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 Menu entries extractor.
13269
13270 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
13271 variants.
13272 (GRUB_MOD_INIT): Register new variants.
13273 (GRUB_MOD_FINI): Unregister new variants.
13274 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
13275 into grub_cmd_legacy_source.
13276 (grub_cmd_legacy_source): Implement extractor variants.
13277 (GRUB_MOD_INIT): Register new variants.
13278 (GRUB_MOD_FINI): Unregister new variants.
13279 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
13280 as an extractor.
13281 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
13282 search as an extractor.
13283 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
13284 test as an extractor.
13285 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
13286 as an extractor.
13287 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
13288 (grub_env_new_context): New function.
13289 (grub_env_context_open): Likewise.
13290 (grub_env_extractor_open): Likewise.
13291 (grub_env_extractor_close): Likewise.
13292 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13293 grub_extractor_level.
13294 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
13295 * include/grub/env.h (grub_env_extractor_open): New proto.
13296 (grub_env_extractor_close): Likewise.
13297 * include/grub/normal.h (grub_extractor_level): New external variable.
13298
7bda3a87
VS
132992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 Make cutmem accept a region specification.
13302 Suggested by: Samuel Thibault
13303
13304 * grub-core/mmap/mmap.c (parsemem): New function.
13305 (grub_cmd_cutmem): Handle new arguments.
13306
2ea57f88
VS
133072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 New command cutmem.
13310
13311 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
13312 (GRUB_MOD_INIT): Register new command.
13313 (GRUB_MOD_FINI): Unregister new command.
13314
74342e31
VS
133152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 Support some annoying BSD and Minix subpartitions.
13318
13319 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
13320 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
13321 Properly handle concatenation.
13322 * grub-core/kern/device.c (grub_device_iterate): Likewise.
13323 * grub-core/normal/completion.c (iterate_partition): Likewise.
13324 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
13325 contain partition. All users updated.
13326 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
13327 struct.
13328 (grub_openbsdlabel_partition_map): Likewise.
13329 (bsdlabel_partition_map_iterate): Rename to ..
13330 (iterate_real): ... this. New arguments sector, freebsd and pmap.
13331 (bsdlabel_partition_map_iterate): New function.
13332 (netopenbsdlabel_partition_map_iterate): Likewise.
13333 (netbsdlabel_partition_map_iterate): Likewise.
13334 (openbsdlabel_partition_map_iterate): Likewise.
13335 (GRUB_MOD_INIT): Register new partmaps.
13336 (GRUB_MOD_FINI): Unregister new partmaps.
13337 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
13338 (grub_partition_msdos_iterate): ... this. All users updated.
13339 Don't support embedding other than in a minix partition.
13340 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
13341 proto.
13342 * include/grub/partition.h (grub_partition): New field msdostype.
13343 * util/grub-install.in: Handle openbsd and netbsd types being in
13344 part_bsd module.
13345
1e8d555b
VS
133462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
13349
13350 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
13351 * grub-core/Makefile.core.def (mdraid): Renamed to ...
13352 (mdraid09): ... this.
13353 (mdraid1x): New module.
13354 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
13355 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
13356
899d8af4
VS
133572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
13360 vsprintf.
13361
40901acd
CW
133622010-09-20 Colin Watson <cjwatson@ubuntu.com>
13363
13364 * grub-core/commands/efi/lsefimmap.c: Correct header.
13365 * NEWS: Update.
13366
dfe3b247
CW
133672010-09-20 Colin Watson <cjwatson@ubuntu.com>
13368
13369 * util/grub-editenv.c (argp_parser): Don't pass translated strings
13370 as printf format strings; the translations might contain '%' which
13371 could cause a crash.
13372 (main): Likewise.
13373 * util/grub-fstest.c (argp_parser): Likewise.
13374 * util/grub-setup.c (argp_parser): Likewise.
13375 (main): Likewise.
13376
3286a4b4
VS
133772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 Use argp in grub-fstest.
13380
13381 * util/grub-fstest.c: Don't include getopt.h.
13382 Include argp.h.
13383 (root): New variable.
13384 (args_count): Likewise.
13385 (nparm): Likewise.
13386 (num_disks): Likewise.
13387 (images): Likewise.
13388 (cmd): Likewise.
13389 (debug_str): Likewise.
13390 (args): Likewise.
13391 (options): Transformed to argp.
13392 (usage): Removed.
13393 (main): Split argument parsing into ...
13394 (argp_parser): ... this. Changed to argp format.
13395 (argp): New variable.
13396 (main): Use argp_parse.
13397
3dccbe4b
TG
133982010-09-20 Tristan Gingold <gingold@free.fr>
133992010-09-20 Robert Millan <rmh.grub@aybabtu.com>
134002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 * grub-core/commands/efi/lsefimmap.c: New file.
13403 * grub-core/Makefile.core.def (lsefimmap): New module.
13404 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
13405
38c259a7
VS
134062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 Pause the execution (10s max) if any errors are displayed so the user
13409 has a chance to see them.
13410
13411 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
13412 (grub_print_error): Increment grub_err_printed_errors.
13413 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
13414 execution if any errors were displayed.
13415 (show_menu): Remove old code for pause.
13416 * grub-core/normal/menu_entry.c (run): Likewise.
13417 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
13418 users updated.
13419 (grub_normal_get_char_counter): Likewise.
13420 * include/grub/err.h (grub_err_printed_errors): New external variable.
13421 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
13422
f218b09c
VS
134232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 Support multiboot VBE info.
13426
13427 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13428 Take VBE info into account.
13429 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
13430 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13431 Call fill_vbe_info when appropriate.
13432 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
13433 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
13434 as supported.
13435 (grub_multiboot_get_mbi_size): Take new tags into account.
13436 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
13437 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13438 Call fill_vbe_tag when appropriate.
13439 (grub_multiboot_make_mbi): Properly align tags.
13440 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
13441 function.
13442 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
13443 proto.
13444 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
13445
a9cc5438
VS
134462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Suport manual terminal geometry specification.
13449
13450 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
13451 Save state in grub_ofconsole_terminfo_output.
13452 (grub_ofconsole_term): Use grub_terminfo_getwh.
13453 (grub_ofconsole_getwh): Removed.
13454 * grub-core/term/serial.c (grub_serial_getwh): Removed.
13455 (grub_serial_term): Use grub_terminfo_getwh.
13456 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
13457 (options): New struct.
13458 (OPTION_*): New enum.
13459 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
13460 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
13461 width and height.
13462 (grub_terminfo_getwh): New proto.
13463 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
13464
1a8fed20
VS
134652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 Handle legacy "terminal" command.
13468
13469 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
13470 and FLAG_TERMINAL.
13471 (legacy_commands): Add terminal and title.
13472 (grub_legacy_parse): Handle terminal. Simplify title handling.
13473
41e9c57d
VS
134742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
13477 parameters overflow.
13478
61c874c5
CW
134792010-09-20 Colin Watson <cjwatson@ubuntu.com>
13480
13481 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
13482 widthspec.h.
13483
13484 * docs/grub.texi (Shell-like scripting): Document `!'.
13485 (Network): Simplify using new i386-pc-pxe format. Mention
13486 grub-mknetdir.
13487
13488 * NEWS: Update.
13489
943682b4
CW
134902010-09-20 Colin Watson <cjwatson@ubuntu.com>
13491
13492 * Makefile.am (SUBDIRS): Restore "."; it's important to force
13493 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
13494 when needed.
13495
6d3d698d
CW
134962010-09-20 Colin Watson <cjwatson@ubuntu.com>
13497
13498 * grub-core/commands/efi/lsefisystab.c: Correct header.
13499 * grub-core/commands/efi/lssal.c: Likewise.
13500 * grub-core/commands/testload.c: Likewise.
13501
c982589f
CW
135022010-09-20 Colin Watson <cjwatson@ubuntu.com>
13503
13504 * util/grub-mkrescue.in: Add explicit root argument to --set to
13505 prevent the UUID being interpreted as an argument to --set (matches
13506 previous change to prepare_grub_to_access_device).
13507
a63c31b6
CW
135082010-09-20 Colin Watson <cjwatson@ubuntu.com>
13509
13510 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
13511 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
13512 the verbosity of later #ifs.
13513 (find_partition_start): Define this function on FreeBSD too.
13514 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
13515 function.
13516 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
13517 on FreeBSD.
13518
6439b8ee
YB
135192010-09-20 Yves Blusseau <blusseau@zetam.org>
13520
13521 * util/grub-editenv.c: Use argp instead of getopt.
13522
c5930ec8
YB
135232010-09-20 Yves Blusseau <blusseau@zetam.org>
13524
13525 * util/grub-setup.c: Use argp instead of getopt.
13526
15c69261
YB
135272010-09-20 Yves Blusseau <blusseau@zetam.org>
13528
13529 Use gnulib-tool to create gnulib source files.
13530
13531 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
13532 grub-core/gnulib directories
13533 * .bzignore: Add **/.deps and autogenerated gnulib files
13534 * configure.ac: Assign auxiliary directory to build-aux, add invocation
13535 of gnulib macros, add grub-core/gnulib/Makefile
13536 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
13537 include m4 directory to aclocal.
13538 * Makefile.util.def: Remove direct compilation of gnulib source files
13539 and use the new grub-core/gnulib/libgnu.a.
13540 * build-aux/config.rpath: move config.rpath from top directory to
13541 build-aux
13542 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
13543 in gnulib headers
13544 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
13545 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
13546 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
13547 header.
13548 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
13549 string.
13550
e511c9f5
YB
135512010-09-20 Yves Blusseau <blusseau@zetam.org>
13552
13553 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
13554 grub-core/genmod.sh and grub-core/gensyminfo.sh
13555
c2dede05
BC
135562010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
13557
13558 Add a test for echo command options.
13559
13560 * tests/grub_cmd_echo.in: New test.
13561 * Makefile.util.def: Rules for new test.
13562
c55f5018
SJ
135632010-09-20 Szymon Janc <szymon@janc.net.pl>
13564
13565 Remove crc.mod and move crc command to hashsum.mod.
13566 Remove lib/crc.c - users updated to use gcrypt implementation.
13567
13568 * grub-core/commands/crc.c: Removed.
13569 * grub-core/Makefile.core.def (crc): Module removed.
13570 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
13571 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
13572 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
13573 * grub-core/lib/crc.c: Removed.
13574 * include/grub/lib/crc.h: Removed.
13575 * Makefile.util.def (crc): Remove lib/crc.c
13576 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
13577 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
13578 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
13579 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
13580 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
13581 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
13582
e0337366
VS
135832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
13586
742f9232
VS
135872010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 Split config.h for util and core.
13590
13591 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13592 (ADDR32): Likewise.
13593 (DATA32): Likewise.
13594 (BSS_START_SYMBOL): Likewise.
13595 (END_SYMBOL): Likewise.
13596 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13597 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13598 * config.h.in: New file.
13599 * configure.ac: Use config-util.h as config define file.
13600 Rename MACHINE into GRUB_MACHINE. All users updated.
13601 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13602 updated.
13603 (NESTED_FUNC_ATTR): Likewise.
13604 Substitue new variables.
13605 (COND_HAVE_ASM_USCORE): New conditional.
13606 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13607 (kernel_syms.lst): Use ASM_PREFIX.
13608 * grub-core/kern/emu/console.c: Include config-util.h.
13609 * grub-core/kern/emu/misc.c: Likewise.
13610 * grub-core/kern/emu/mm.c: Likewise.
13611 * include/grub/emu/misc.h: Likewise.
13612 * include/grub/libgcc.h: Likewise.
13613
39feb0e8
VS
136142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13617 constants usage.
13618 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13619 Fix GRUB_TERM_KEY_* constants usage.
13620 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13621
9af6dac3
VS
136222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13625 print pointer.
13626 * grub-core/bus/usb/uhci.c: Remove empty define.
13627 (grub_uhci_check_transfer): Add missing cast.
13628 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13629 print pointer.
13630 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13631 PRIuGRUB_SIZE.
13632 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13633
d6d94820
VS
136342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * grub-core/Makefile.core.def (legacycfg): Add
13637 lib/i386/pc/vesa_modes_table.c on emu.
13638
3572f2b6
BC
136392010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13640
13641 Reduce number of temporary files generated by build system.
13642
13643 * grub-core/gencmdlist.sh: Removed.
13644 * grub-core/genfslist.sh: Removed.
13645 * grub-core/genhandlerlist.sh: Removed.
13646 * grub-core/genmodsrc.sh: Removed.
13647 * grub-core/genpartmaplist.sh: Removed.
13648 * grub-core/genparttoollist.sh: Removed.
13649 * grub-core/gentermiinallist.sh: Removed.
13650 * grub-core/genvideolist.sh: Removed.
13651
13652 * grub-core/genmod.sh.in: New file.
13653 * grub-core/gensyminfo.sh.in: New file.
13654
13655 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13656 * conf/Makefile.extra-dist: Update with new files.
13657 * gentpl.py: Remove rules related to unnecessary temporary files.
13658 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13659 and und-* files.
13660 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13661 genmod.sh scripts.
13662 * grub-core/bus/usb/uhci.c: Remove empty #define.
13663 * grub-core/genmoddep.awk: Updated with new syminfo format.
13664 * util/bash-completion.d/Makefile.am: Add config.log to
13665 CLEANFILES.
13666
c836b030
YB
136672010-09-19 Yves Blusseau <blusseau@zetam.org>
13668
13669 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13670
2f4e8053
BC
136712010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13672
13673 * util/grub-mkconfig.in: Check the config script for syntax errors
13674 before saving.
13675
75831c34
CW
136762010-09-19 Colin Watson <cjwatson@ubuntu.com>
136772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13680 platforms.
13681 * util/grub-install.in: Add EFI and IEEE1275 support.
13682 * util/i386/efi/grub-install.in: Removed.
13683 * util/ieee1275/grub-install.in: Likewise.
13684
eaf41b25
VS
136852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13688 (grub_cmd_cmosclean): Likewise.
13689 (GRUB_MOD_INIT): Register command cmosclean.
13690 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13691 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13692
1a9130dd
CPE
136932010-09-18 Carles Pina i Estany <carles@pina.cat>
136942010-09-18 Aleš Nesrsta <starous@volny.cz>
136952010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 Add keyboard layouts support.
13698
13699 * Makefile.util.def (grub-mklayout): New file.
13700 (grub-kbdcomp): New script.
13701 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13702 Add keyboard_layouts.h.
13703 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13704 commands/boot.c on yeeloong.
13705 (keylayouts): New module.
13706 * grub-core/bus/usb/ohci.c
13707 * grub-core/bus/usb/uhci.c
13708 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13709 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13710 (attach_root_port): Likewise.
13711 (poll_nonroot_hub): Likewise.
13712 (grub_usb_poll_devices): Likewise.
13713 (detach_device): Close transfer.
13714 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13715 function.
13716 (grub_usb_bulk_setup_readwrite): Likewise.
13717 (grub_usb_bulk_finish_readwrite): Likewise.
13718 * grub-core/commands/keylayouts.c: New file.
13719 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13720 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13721 aliases.
13722 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13723 support scancode 2.
13724 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13725 * include/grub/keyboard_layouts.h: New file.
13726 * util/grub-mklayout.c: New file.
13727 * util/grub-kbdcomp.in: Likewise.
13728
a1d84a5e
VS
137292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 Unify memory types.
13732
13733 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13734 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13735 types.
13736 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13737 (grub_upper_mem): Likewise.
13738 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13739 * include/grub/memory.h (grub_memory_type_t): New enum.
13740 All users updated.
13741
9696382e
VS
137422010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * grub-core/Makefile.core.def (lsapm): New module.
13745 * grub-core/commands/i386/pc/lsapm.c: New file.
13746 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13747 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13748 Likewise.
13749 * include/grub/i386/pc/apm.h: New file.
13750 * include/multiboot.h (multiboot_apm_info): New struct.
13751
137522010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 GRUB-legacy configuration file support.
13755
13756 * Makefile.util.def (grub-menulst2cfg): New util.
13757 * docs/man/grub-menulst2cfg.h2m: New file.
13758 * grub-core/Makefile.core.def (legacycfg): New module.
13759 * grub-core/commands/legacycfg.c: New file.
13760 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13761 (grub_normal_add_menu_entry): ... this.
13762 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13763 (grub_normal_set_password): ...this.
13764 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13765 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13766 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13767 * grub-core/lib/legacy_parse.c: New file.
13768 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13769 * include/grub/i386/pc/vesa_modes_table.h: New file.
13770 * include/grub/legacy_parse.h: Likewise.
13771 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13772 * util/grub-menulst2cfg.c: New file.
13773
bf8d1338
CW
137742010-09-17 Colin Watson <cjwatson@ubuntu.com>
13775
13776 * grub-core/kern/emu/hostdisk.c
13777 (convert_system_partition_to_system_disk): Initialise node.
13778
9c0bad2e
CW
137792010-09-17 Colin Watson <cjwatson@ubuntu.com>
13780
13781 * grub-core/kern/emu/hostdisk.c
13782 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13783 leak.
13784 Reported and based on patch by: Modestas Vainius.
13785
a939d135
CW
137862010-09-17 Colin Watson <cjwatson@ubuntu.com>
13787
13788 Fix DM-RAID probing with recent versions of device-mapper udev
13789 rules.
13790
13791 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13792 canonicalise device paths under /dev/mapper/.
13793 (convert_system_partition_to_system_disk): Compare the
13794 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13795 path, since device nodes under /dev/mapper/ are often symlinks.
13796
0f7ee3c9
YB
137972010-09-17 Yves Blusseau <blusseau@zetam.org>
13798
13799 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13800
10854d0d
YB
138012010-09-16 Yves Blusseau <blusseau@zetam.org>
13802
13803 * configure.ac: Avoid some annoying error messages if freetype-config
13804 program is not found.
13805
108538d8
CW
138062010-09-16 Colin Watson <cjwatson@ubuntu.com>
13807
13808 Support RAID on virtio devices, and others.
13809
13810 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13811 Rename to ...
13812 [__MINGW32__] (grub_find_device): ... this.
13813 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13814 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13815 reasonable default if dir is NULL.
13816 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13817 ...
13818 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13819 (grub_guess_root_device): Update callers.
13820 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13821
13822 * util/raid.c (grub_util_getdiskname): Remove.
13823 (grub_util_raid_getmembers): Use grub_find_device rather than
13824 grub_util_getdiskname.
13825
e5bfc130
CW
138262010-09-16 Colin Watson <cjwatson@ubuntu.com>
13827
13828 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13829 needing to be compiled with serial support.
13830 (ls): Indicate that multiple files are accepted.
13831 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13832 indicate that multiple files are accepted.
13833
be458ae2
CW
138342010-09-16 Colin Watson <cjwatson@ubuntu.com>
13835
13836 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13837 libgrub_a_init.c, and util/bash-completion.d/grub.
13838
cb731b5e
VS
138392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * util/grub-setup.c (setup): Fix incorrect container semantics.
13842
35139e8a
VS
138432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13846 misusage.
13847 Reported by: J. Nick Terry
13848
e50fca4a
VS
138492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 Move embedding routines to partmap sources files.
13852
13853 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13854 [GRUB_UTIL]: New variable.
13855 (gpt_partition_map_iterate): Set part.parent.
13856 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13857 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13858 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13859 New function.
13860 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13861 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13862 (grub_partition_map) [GRUB_UTIL]: New field embed.
13863 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13864 (setup): Use ->embed.
13865
f00478b7
VS
138662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13869 function.
13870 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13871 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13872
2b94e3ff
YB
138732010-09-15 Yves Blusseau <blusseau@zetam.org>
13874
13875 Add function to get completions from usage.
13876
13877 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13878 completions from usage. Use LC_ALL=C to get options properly.
13879
2e04a006
VS
138802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * grub-core/gnulib/basename-lgpl.c: Imported.
13883 * grub-core/gnulib/basename.c: Likewise.
13884 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13885 * grub-core/gnulib/dirname.c: Likewise.
13886 * grub-core/gnulib/dirname.h: Likewise.
13887 * grub-core/gnulib/stripslash.c: Likewise.
13888
5dcdf93a
VS
138892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 * grub-core/gnulib/error.c: Resynced.
13892 * grub-core/gnulib/getopt.c: Likewise.
13893 * grub-core/gnulib/getopt_int.h: Likewise.
13894 * grub-core/gnulib/regex.h: Likewise.
13895 * grub-core/gnulib/regex_internal.c: Likewise.
13896 * grub-core/gnulib/regex_internal.h: Likewise.
13897
014f47b7
SJ
138982010-09-15 Szymon Janc <szymon@janc.net.pl>
13899
13900 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13901 CRC calculations and validity checks.
13902 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13903 calculations.
13904
dd521a4a
SJ
139052010-09-15 Szymon Janc <szymon@janc.net.pl>
13906
13907 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13908
79c4eeb9
VS
139092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 Fix incorrect echo options handling.
13912 Reported by: Yves Blusseau.
13913
13914 * include/grub/command.h (grub_command_flags_t): New flags
13915 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13916 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13917 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13918
ed80f7d5
VS
139192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13922 users updated.
13923 (GRUB_COMMAND_FLAG_MENU): Likewise.
13924 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13925 (GRUB_COMMAND_FLAG_TITLE): Removed.
13926 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13927 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13928 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13929 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13930 (grub_command_flags_t): New enum. All users updated.
13931
5fe7620a
SG
139322010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13933
13934 Fix solaris compilation.
13935
13936 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13937 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13938 (grub-emu-list): Likewise.
13939
545b752f
VS
139402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 Remove deprecated root command.
13943
13944 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13945 updated.
13946
6c1a338c
VS
139472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * util/i386/pc/grub-setup.c: Merge this ...
13950 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13951 * util/grub-setup.c: ... into this.
13952 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13953 New struct.
13954
139552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13956
13957 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13958 possible.
13959
d2ea4551
VS
139602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13963 allocate p.
13964
3c3b5040
VS
139652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13968 explicit root argument to set to prevent UUID to be interpreted as
13969 argument to set.
13970
b71c3fae
VS
139712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13974
275433e6
VS
139752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 Don't export grub_gate_a20.
13978
13979 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13980 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13981 to ...
13982 (grub_gate_a20): ... this. All users updated.
13983 * include/grub/i386/pc/init.h: Removed. All users updated.
13984
a5dbb1f1
VS
139852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 Create euro.pf2 which supports most European languages.
13988
13989 * Makefile.am (grubdata_DATA): Add euro.pf2.
13990 (euro.pf2): New target.
13991 (CLEANFILES): Add euro.pf2.
13992
62a747cb
VS
139932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * configure.ac: Disable emu-usb by default to prevent inadvertent
13996 device takeover.
13997
608e43b1
VS
139982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 Disable usbserial on grub-emu since our libusb code isn't good enough
14001 yet.
14002
14003 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14004 (usbserial_pl2303): Likewise.
14005 (usbserial_ftdi): Likewise.
14006
94564f81
VS
140072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14008
14009 * include/grub/disk.h (grub_disk): Remove has_partitions.
14010 All users updated.
14011 * disk/loopback.c (grub_loopback): Remove has_partitions.
14012 All users updated.
14013 (options): Remove partitions. All users updated.
14014 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14015 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14016 actual partition table is found.
14017
3352800b
VS
140182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 Remove readability checks (too many false negatives).
14021
14022 * util/grub-install.in: Remove readability checks.
14023 * util/grub-mkconfig.in: Likewise.
14024 * util/grub.d/10_hurd.in: Likewise.
14025 * util/grub.d/10_kfreebsd.in: Likewise.
14026 * util/grub.d/10_linux.in: Likewise.
14027 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14028 way.
14029
2419f17a
VS
140302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14031
14032 Enable acpi shutdown on all ACPI platforms.
14033
14034 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14035 on coreboo, multiboot and EFI.
14036 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14037 (grub_acpi_halt): Likewise.
14038 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14039 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14040 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14041 * grub-core/lib/i386/halt.c (grub_halt)
14042 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14043
0575c7c3
VS
140442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14047 context.
14048
54ac3cd1
VS
140492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14052 * grub-core/video/efi_uga.c: Likewise.
14053
b2a30ac5
VS
140542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 Filter devaliases and never open same device twice.
14057
14058 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14059 (last_ihandle): Likewise.
14060 (ofdisk_hash_ent): New member shortest.
14061 (ofdisk_hash_add): Add canonical path too.
14062 (scan): New function.
14063 (grub_ofdisk_iterate): Iterate over hashed entries.
14064 (compute_dev_path): Don't add :0.
14065 (grub_ofdisk_open): Don't really open the disk.
14066 (grub_ofdisk_close): Avoid closing unrelated disk.
14067 (grub_ofdisk_read): Implement reopen logic.
14068 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14069 New function.
14070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14071 New proto.
14072
fb53b340
VS
140732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 Fix sparc64.
14076
14077 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14078 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14079 right address. Add sparc64_ieee1275_ldflags.
14080 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14081 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14082 to grub_host_to_target_addr
14083 (load_image): Likewise.
14084
f452b040
VS
140852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 * grub-core/normal/completion.c (complete_file): Handle device
14088 containing slash.
14089 Fix based on patch by Doug Nazar.
14090
9b5b2541
VS
140912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 grub-mknetdir script.
14094
14095 * Makefile.util.def (grub-mknetdir): New module.
14096 * tests/util/grub-shell.in: Support boot=net
14097 * util/grub-mknetdir.in: New file.
14098
9d2be652
VS
140992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 videoinfo on non-vbe.
14102
14103 * grub-core/Makefile.core.def (vbeinfo): Removed.
14104 (vbetest): Removed.
14105 (videoinfo): New module.
14106 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14107 * grub-core/commands/i386/pc/vbetest.c: Removed.
14108 * grub-core/commands/videoinfo.c: New file.
14109 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14110 specification.
14111 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14112 as vbetest.
14113 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14114 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14115 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14116 mode_number. New parameter mode. All users updated.
14117 (grub_video_gop_iterate): New function.
14118 (grub_video_efi_gop): New member iterate.
14119 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14120 (grub_vbe_set_video_mode): Remove setting useless fields.
14121 (vbe2videoinfo): New function.
14122 (grub_video_vbe_iterate): Likewise.
14123 (grub_video_vbe_setup): Use vbe2videoinfo.
14124 (grub_video_vbe_print_adapter_specific_info): New function.
14125 (grub_video_vbe_adapter): New fields iterate and
14126 print_adapter_specific_info.
14127 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14128 All users updated.
14129 (grub_video_mode_info): New field mode_number.
14130 (grub_video_adapter): New fields iterate and
14131 print_adapter_specific_info.
14132
179503f5
TG
141332010-09-13 Tristan Gingold <gingold@free.fr>
141342010-09-13 Robert Millan <rmh.grub@aybabtu.com>
141352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 * grub-core/commands/efi/lsefisystab.c: New file.
14138 * grub-core/commands/efi/lssal.c: Likewise.
14139 * grub-core/Makefile.core.def (lsacpi): New module.
14140 (lsefisystab): Likewise.
14141 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14142 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14143 (grub_efi_sal_system_table): New struct.
14144 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
14145 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14146 (grub_efi_sal_system_table_platform_features): Likewise.
14147 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14148 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14149 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14150 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14151
cf9827de
VS
141522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 Support explicit user claim that a device is BIOS-visible.
14155
14156 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14157 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14158 * grub-core/kern/emu/hostdisk.c
14159 (convert_system_partition_to_system_disk): Support mdX.
14160 (find_system_device): New parameter add. All users updated.
14161 (grub_util_biosdisk_is_present): New function.
14162 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14163 proto.
14164
53f0eb1f
VS
141652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 Search hints support.
14168
14169 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14170 All users updated.
14171
b23ffd70
YB
141722010-09-13 Yves Blusseau <blusseau@zetam.org>
14173
14174 Bash completion script for util commands
14175
14176 * Makefile.am: Add util/bash-completion.d directory
14177 * configure.ac: Likewise.
14178 * util/bash-completion.d/Makefile.am: New file.
14179 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14180
d547dc28
VS
141812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14184 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14185 Reported by: Yves Blusseau.
14186
2fc8ccb9
VS
141872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14190 partition size and offset.
14191
d8a84076
VS
141922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14193
14194 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14195
84fb3b3d
VS
141962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14199
768ec2e2
VS
142002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14203 (grub_xvasprintf): Likewise.
14204
4870900f
VS
142052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14208
faca6bec
VS
142092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14212 args ending with NULL.
14213
142142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
14215
14216 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14217 pointer.
14218
3c70f225
SJ
142192010-09-11 Szymon Janc <szymon@janc.net.pl>
14220
14221 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14222
4df7996d
VS
142232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 Shutdown using ACPI.
14226
14227 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
14228 * grub-core/commands/acpihalt.c: New file.
14229 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
14230 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
14231 (grub_acpi_halt): New proto.
14232 (GRUB_ACPI_SLP_EN): New const.
14233 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
14234 (GRUB_ACPI_OPCODE_*): New enum.
14235 (GRUB_ACPI_EXTOPCODE_*): Likewise.
14236
126b4c32
TG
142372010-09-11 Tristan Gingold <gingold@free.fr>
142382010-09-11 Robert Millan <rmh.grub@aybabtu.com>
142392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * commands/lsacpi.c: New file.
14242 * grub-core/Makefile.core.def (lsacpi): New module.
14243 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
14244 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
14245 (grub_acpi_madt_entry_header): New struct.
14246 (grub_acpi_madt): Likewise.
14247 (grub_acpi_madt_entry_interrupt_override): Likewise.
14248 (grub_acpi_madt_entry_sapic): Likewise.
14249 (grub_acpi_madt_entry_lsapic): Likewise.
14250 (grub_acpi_madt_entry_platform_int_source): Likewise.
14251 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
14252 (PRIuGRUB_UINT32_T): Likewise.
14253 (PRIxGRUB_UINT64_T): Likewise.
14254
1aa4fe88
VS
142552010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 Implement loading palette on ieee1275_fb.
14258
14259 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
14260 (have_setcolors): Likewise.
14261 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
14262 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
14263 (grub_video_ieee1275_set_palette): Implement.
14264
25761e13
VS
142652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
142662010-09-11 Colin Watson <cjwatson@ubuntu.com>
14267
14268 * util/grub-install.in (grub_partition): New variable.
14269 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
14270 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
14271 Fixes a bug reported by Yves Blusseau.
14272
050abaea
VS
142732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 Fix emu on mipsel.
14276
14277 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
14278 =grub_cpu_flush_cache on all mips and not only yeeloong.
14279 * configure.ac (COND_mips): New conditional.
14280 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
14281 platforms.
14282 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
14283 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
14284 [GRUB_LINKER_HAVE_INIT]: New function.
14285 (grub_emu_post_init): Likewise.
14286 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
14287 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
14288 * include/grub/cache.h (_mips): Include mips/cache.h.
14289 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
14290 LVM and RAID prototypes.
14291 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
14292 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
14293 function.
14294
5ed7d816
CW
142952010-09-10 Colin Watson <cjwatson@ubuntu.com>
14296
14297 * util/grub-install.in: Don't try to verify core.img until after
14298 running grub-mkimage to create it.
14299
90367e04
RM
143002010-09-10 Robert Millan <rmh@gnu.org>
14301
14302 * util/grub.d/10_hurd.in: Add misc readability checks.
14303 * util/grub.d/10_kfreebsd.in: Likewise.
14304 * util/grub.d/10_linux.in: Likewise.
14305
c452fa66
CW
143062010-09-10 Colin Watson <cjwatson@ubuntu.com>
14307
14308 * util/grub-install.in: ${imgext} won't be defined here until the
14309 install branch is merged. For the meantime, only verify core.img on
14310 i386-pc and sparc64-ieee1275 platforms.
14311
c38fe9f4
RM
143122010-09-10 Robert Millan <rmh@gnu.org>
14313
14314 Solaris support in grub_find_zpool_from_dir(). Thanks
14315 Seth Goldberg for referring to getextmntent() facility.
14316
14317 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
14318 `sys/mkdev.h'.
14319 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
14320 `<sys/mnttab.h>'.
14321 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
14322 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
14323 method for finding zpool name.
14324
905f7773
CW
143252010-09-10 Colin Watson <cjwatson@ubuntu.com>
14326
14327 grub-fstest needs the host and hostfs modules while other utilities
14328 actively require those modules to be absent, so grub-fstest needs
14329 its own initialisation and finalisation code.
14330
14331 * Makefile.am (grub_fstest.pp): New target.
14332 (grub_fstest_init.lst): Likewise.
14333 (grub_fstest_init.c): Likewise.
14334 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
14335
fb90b546
RM
143362010-09-10 Robert Millan <rmh@gnu.org>
14337
14338 * configure.ac: Check for `struct statfs.f_fstypename' and
14339 `struct statfs.f_mntfromname'.
14340
14341 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
14342 kFreeBSD-specific code.
14343
66d4bea5
RM
143442010-09-10 Robert Millan <rmh@gnu.org>
14345
14346 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
14347 on ZFS. Now non-main filesystems are supported as / too.
14348
b6a690ee
CW
143492010-09-09 Colin Watson <cjwatson@ubuntu.com>
14350
14351 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
14352 and grub-core/disk/host.c to ...
14353 (grub-fstest): ... here. Having the host disk implementation
14354 present confuses grub-probe and other utility programs.
14355
14356 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
14357 when writing to a file, not when writing to stdout.
14358
8901b00c 143592010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
14360
14361 * tests/partmap_test.in: New test for partitions.
14362 * Makefile.util.def: Rules for new test.
14363
7bf45fdd
RM
143642010-09-09 Robert Millan <rmh@gnu.org>
14365
14366 * util/grub-probe.c (probe): Fix a pair of unhandled error
14367 conditions.
14368
4dfbc574
RM
143692010-09-09 Robert Millan <rmh@gnu.org>
14370
14371 Basic Btrfs support (detection and UUID).
14372
14373 * grub-core/fs/btrfs.c: New file.
14374 * Makefile.util.def (library): Register btrfs.c.
14375 * grub-core/Makefile.core.def: Likewise.
14376
6b8e78ae
RM
143772010-09-08 Robert Millan <rmh@gnu.org>
14378
14379 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
14380 with (optional) parameters to specify device and relative path.
14381 * util/grub-install.in: Use is_path_readable_by_grub() to
14382 verify readability of a few critical files.
14383 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
14384 verify readability of grub.cfg.new.
14385
27f21a8b
VS
143862010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Split minix.mod into minix.mod and minix2.mod.
14389
14390 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
14391 * grub-core/Makefile.core.def (minix2): New module.
14392 * grub-core/fs/minix.c: Use definitions instead of runtime version
14393 checking.
14394 * grub-core/fs/minix2.c: New file.
14395
c0e53ea5
YB
143962010-09-08 Yves Blusseau <blusseau@zetam.org>
14397
14398 Add new --boot-directory option to replace --root-directory
14399
14400 * util/grub-install.in: Add new --boot-directory option
14401 * util/grub-reboot.in: Likewise.
14402 * util/grub-set-default.in: Likewise.
14403
b9fe6ea2
YB
144042010-09-08 Yves Blusseau <blusseau@zetam.org>
14405
14406 * util/grub-mkconfig.in: Use new variable.
14407
d87aedff
YB
144082010-09-08 Yves Blusseau <blusseau@zetam.org>
14409
14410 * configure.ac: Define some useful variables.
14411
e55e8495
VS
144122010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14415 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
14416 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
14417 Use terminfo and don't use cursor-on/cursor-off unless it's known
14418 to work.
14419 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
14420 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
14421
6fa6d675
CW
144222010-09-08 Colin Watson <cjwatson@ubuntu.com>
14423
14424 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
14425 starts with "(,", fill the drive containing the loaded image in
14426 between those two characters, but expect that a full partition
14427 specification including partition map names will follow.
14428
92f2aef0
RM
144292010-09-08 Robert Millan <rmh@gnu.org>
14430
14431 * configure.ac: Remove `--enable-grub-fstest' option.
14432 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
14433
14434 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
14435 `grub-fstest' instead of `grub-probe' for readability verification.
14436 * util/grub-probe.c (probe): Remove readability verification kludge.
14437
99fd620d
RM
144382010-09-08 Robert Millan <rmh@gnu.org>
14439
14440 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
14441 initializing `GRUB_FS'.
14442
058e30ac 144432010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
14444
14445 Not command (!) support to GRUB script.
14446
14447 * tests/grub_script_not.in: New test.
14448 * Makefile.util.def: Rules for new test.
14449
14450 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14451 ! command as a special case.
14452 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
14453
b61d05ed 144542010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14455
058e30ac 14456 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
14457 grub_free.
b61d05ed 14458
4d69c786 144592010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14460
14461 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
14462
aa3119c4 144632010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14464
14465 * docs/grub.texi (Shell-like scripting): Documentation for break,
14466 continue, shift and return commands.
14467
db0f7e3d
VS
144682010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 Rename CD-ROM to cd on BIOS.
14471
14472 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
14473 "cd".
14474 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
14475
88b87c93
VS
144762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
14479 * util/grub-probe.c (main): Likewise.
14480 * util/i386/pc/grub-setup.c (main): Likewise.
14481 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14482 Reported and debugged by: alexxy
14483
294f324d
VS
144842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
14487 diagnostic info.
14488
d7ee3441
JS
144892010-09-05 Jo Shields <directhex@apebox.org>
14490
14491 * util/grub.d/30_os-prober.in: Add missing classes.
14492
d7e06c1f
VS
144932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * docs/grub.texi (Theme file format): Document new position format.
14496
fc157e53
VS
144972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
14500 a table. Use @code instead of @verbatim.
14501
506e9a1c
CB
145022010-09-05 Colin D Bennett <colin@gibibit.com>
14503
14504 Gfxmenu documentation.
14505
14506 * docs/grub.texi (Theme file format): New chapter.
14507
f0aff67c
SJ
145082010-09-05 Szymon Janc <szymon@janc.net.pl>
14509
14510 * grub-core/Makefile.core.def (xzio): New module.
14511 * grub-core/io/xzio.c: New file.
14512 * grub-core/lib/xzembed/xz.h: New file (from xembed).
14513 * grub-core/lib/xzembed/xz_config.h: Likewise.
14514 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
14515 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
14516 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
14517 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
14518 * grub-core/lib/xzembed/xz_private.h: Likewise.
14519 * grub-core/lib/xzembed/xz_stream.h: Likewise.
14520 * include/grub/file.h (grub_file_filter_id): New compression filter
14521 GRUB_FILE_FILTER_XZIO.
14522
82a85062
VS
145232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
14526 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
14527 size.
14528
3579415d
VS
145292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
14532 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
14533
5124ae6d
VS
145342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14535
14536 Uncompressed checksum support.
14537
14538 * grub-core/commands/hashsum.c (options): Add option --uncompress.
14539 (check_list): New parameter uncompress.
14540 (grub_cmd_hashsum): Handle --uncompress.
14541
9aadb3d1
VS
145422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 Reintroduce testload.
14545
14546 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
14547 from here ...
14548 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
14549 (GRUB_MOD_INIT): New function.
14550 (GRUB_MOD_FINI): Likewise.
14551 * grub-core/Makefile.core.def (testload): New module.
14552
a17792c3
SJ
145532010-09-05 Szymon Janc <szymon@janc.net.pl>
14554
14555 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
14556 (uint8_t): New type.
14557 (uint16_t): Likewise.
14558 (uint32_t): Likewise.
14559 (uint64_t): Likewise.
14560
b81e40a3
SJ
145612010-09-05 Szymon Janc <szymon@janc.net.pl>
14562
14563 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
14564
fc2ef117
VS
145652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
14568 Made static.
14569 (grub_gzfile_open): Removed. All users updated.
14570 (GRUB_MOD_INIT): New function.
14571 (GRUB_MOD_FINI): Likewise.
14572 * grub-core/kern/file.c (grub_file_filters_all): New variable.
14573 (grub_file_filters_enabled): Likewise.
14574 (grub_file_open): Handle filters.
14575 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
14576 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
14577 * include/grub/file.h (grub_file_filter_id_t): New type.
14578 (grub_file_filter_t): Likewise.
14579 (grub_file_filters_all): New extern variable.
14580 (grub_file_filters_enabled): Likewise.
14581 (grub_file_filter_register): New inline function.
14582 (grub_file_filter_unregister): Likewise.
14583 (grub_file_filter_disable): Likewise.
14584 (grub_file_filter_disable_compression): Likewise.
14585 * include/grub/gzio.h: Removed.
14586
35ee15e0
BC
145872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14588
14589 Filename expansion support for wildcards in GRUB script.
14590
14591 * tests/grub_script_expansion.in: New test.
14592 * Makefile.util.def: Rule for new test.
14593
14594 * grub-core/commands/wildcard.c: New file, implements filename
14595 expansion support for GRUB script.
14596 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14597 * grub-core/script/argv.c: Cosmetic changes.
14598 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14599 Refactored to perform wildcard expansion on arguments.
14600 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14601 struct.
14602
14603 * tests/util/grub-shell.in: Fix quoting for read input.
14604
5f0c4aca
BC
146052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14606
14607 Support for updating environment variables with matched substrings
14608 of regexp.
14609
14610 * tests/grub_cmd_regexp.in: New test.
14611 * Makefile.util.def: Rule for new test.
14612
14613 * grub-core/commands/regexp.c: New option -s to update environment
14614 variables with regexp matches.
14615
3759a35f
SJ
146162010-09-04 Szymon Janc <szymon@janc.net.pl>
14617
14618 * include/grub/file.h (grub_file): New member not_easly_seekable.
14619 (grub_file_seekable): New inline function.
14620 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14621 easily seekable.
14622 (grub_gzio_open): Set not_easly_seekable.
14623 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14624 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14625
ed8c6dec
BC
146262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14627
14628 Support for options to appear multiple times on cmdline.
14629
14630 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14631 * grub-core/commands/extcmd.c: Support for repeatable option.
14632 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14633 repeatable option support.
14634
14635 Refactor menuentry into a regular command.
14636
14637 * grub-core/commands/menuentry.c: New file, menuentry command
14638 implementation.
14639 * grub-core/Makefile.core.def: Rule update for normal.mod.
14640 * grub-core/normal/main.c: Moved menuentry creation to
14641 grub-core/commands/menuentry.c.
14642 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14643 (grub_menu_execute_entry_real): Removed.
14644 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14645 function.
14646 (grub_script_execute_menuentry): Removed.
14647 * grub-core/script/parser.y (menuentry): Removed.
14648 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14649 * grub-core/script/yylex.l (menuentry): Removed.
14650 * include/grub/menu.h (grub_menu_init): New prototype.
14651 (grub_menu_fini): New prototype.
14652 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14653 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14654 (grub_script_execute_sourcecode): New prototype.
14655
dacd0cf0
BC
146562010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14657
14658 "return" command for GRUB script functions.
14659
14660 * tests/grub_script_return.in: New test.
14661 * Makefile.util.def: Rules for new test.
14662
14663 * grub-core/script/execute.c (grub_script_return): New function.
14664 * grub-core/script/main.c: Register/unregister return commaond.
14665 * include/grub/script_sh.h (grub_script_return): New prototype.
14666
52e72f9d
BC
146672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14668
14669 "setparams" command to update positional parameters.
14670
14671 * tests/grub_script_setparams.in: New test.
14672 * Makefile.util.def: Rules for new test.
14673
14674 * grub-core/script/argv.c (grub_script_argv_make): New function.
14675 * grub-core/script/execute.c (replace_scope): New function.
14676 (grub_script_setparams): New function.
14677 * grub-core/script/lexer.c: Remove unused variables.
14678 * grub-core/script/main.c: Register/unregister setparams command.
14679 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14680 (grub_script_setparams): New prototype.
14681
25b60c91
BC
146822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14683
14684 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14685 grub_free order.
14686
37e7bf68
BC
146872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14688
14689 Support for passing block of commands as an argument to extcmds.
14690
14691 * Makefile.util.def: Rules for new test.
14692 * tests/grub_script_blockarg.in: New test.
14693 * grub-core/tests/test_blockarg.c: New file, block argument
14694 command used in the test.
14695
14696 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14697 (grub_register_extcmd_prio): New function prototype.
14698 (grub_extcmd_dispatcher): New function prototype.
14699 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14700 type.
14701 * include/grub/script_sh.h (struct grub_script): New members
14702 `children', `next_siblings' and `refcnt' for block arguments and
14703 reference counting.
14704 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14705 (grub_script_arg): New member `script' for block argument.
14706 (grub_script_argv): New member `script' for block argument.
14707 (grub_parser_param): New member `scripts' for block argument.
14708 (grub_script_mem_free): New extern function prototype.
14709 (grub_script_ref): New function prototype.
14710 (grub_script_unref): New function prototype.
14711
14712 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14713 extcmd form to support block arguments.
14714 * grub-core/script/argv.c: Block arguments support.
14715 * grub-core/script/execute.c: Likewise.
14716 * grub-core/script/lexer.c: Likewise.
14717 * grub-core/script/main.c: Likewise.
14718 * grub-core/script/script.c: Likewise.
14719 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14720 non-terminals.
14721
14722 * grub-core/commands/acpi.c: Update extcmd implementations with
14723 grub_extcmd_context_t.
14724 * grub-core/commands/cat.c: Likewise.
14725 * grub-core/commands/echo.c: Likewise.
14726 * grub-core/commands/extcmd.c: Likewise.
14727 * grub-core/commands/hashsum.c: Likewise.
14728 * grub-core/commands/hdparm.c: Likewise.
14729 * grub-core/commands/help.c: Likewise.
14730 * grub-core/commands/hexdump.c: Likewise.
14731 * grub-core/commands/i386/cpuid.c: Likewise.
14732 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14733 * grub-core/commands/i386/pc/halt.c: Likewise.
14734 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14735 * grub-core/commands/iorw.c: Likewise.
14736 * grub-core/commands/keystatus.c: Likewise.
14737 * grub-core/commands/loadenv.c: Likewise.
14738 * grub-core/commands/ls.c: Likewise.
14739 * grub-core/commands/lspci.c: Likewise.
14740 * grub-core/commands/memrw.c: Likewise.
14741 * grub-core/commands/probe.c: Likewise.
14742 * grub-core/commands/search_wrap.c: Likewise.
14743 * grub-core/commands/setpci.c: Likewise.
14744 * grub-core/commands/sleep.c: Likewise.
14745 * grub-core/disk/loopback.c: Likewise.
14746 * grub-core/hello/hello.c: Likewise.
14747 * grub-core/loader/i386/bsd.c: Likewise.
14748 * grub-core/loader/xnu.c: Likewise.
14749 * grub-core/term/gfxterm.c: Likewise.
14750 * grub-core/term/serial.c: Likewise.
14751 * grub-core/tests/lib/functional_test.c: Likewise.
14752
888d1500
BC
147532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14754
14755 Multi-line quoted strings support.
14756
14757 * grub-core/script/lexer.c (append_newline): Removed.
14758 (grub_script_lexer_yywrap): Refactored.
14759 (grub_script_lexer_init): Refactored.
14760 * grub-core/script/yylex.l (yywrap): New function.
14761 (grub_lexer_resplit): New function.
14762 (grub_lexer_unput): New function.
14763 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14764 and resplit.
14765 * tests/grub_script_echo1.in: Added few more testcases.
14766
dda060dd
VS
147672010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 * grub-core/kern/misc.c: Don't add abort alias in utils.
14770 Reported by: echoline.
14771
6556eba9
BC
147722010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14773
14774 Add missing files into "make dist" tarball for other platforms.
14775
14776 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14777 * conf/Makefile.common (dist_noinst_DATA): New variable.
14778 * conf/Makefile.extra-dist: Added missing make dist files.
14779 * grub-core/Makefile.core.def: Likewise.
14780
c8e7bf5f
VS
147812010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 Compress grub_prefix.
14784
14785 * grub-core/boot/i386/pc/lnxboot.S: Use
14786 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14787 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14788 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14789 GRUB_MACHINE_PREFIX_END. All users updated.
14790 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14791 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14792 + 0x40.
14793 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14794 * util/grub-mkimage.c (image_target_desc): Change data_end to
14795 prefix_end. All users updated.
14796
a7c00cdb
VS
147972010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14800 value.
14801 (grub_openbsd_boot): Likewise.
14802 (grub_netbsd_boot): Likewise.
14803 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14804 (grub_xnu_boot): Likewise.
14805
9f915872
VS
148062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * configure.ac: Clean LIBS variable after tests.
14809
efa1bee7
CW
148102010-09-02 Colin Watson <cjwatson@ubuntu.com>
14811
14812 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14813
61d720e5
VS
148142010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14817 echo if libdevmapper will be used.
14818
ef8e0ec8
IT
148192010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14820
14821 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14822 constant for the same file.
14823
03e261d8
VS
148242010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14827
c2a4eba6
CW
148282010-09-02 Colin Watson <cjwatson@ubuntu.com>
14829
14830 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14831 grub-core/*.pp.
14832
9056cbf3
CW
148332010-09-02 Colin Watson <cjwatson@ubuntu.com>
14834
14835 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14836 required by the boot protocol.
14837
14838 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14839 ebp and edi members.
14840 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14841 state.ebp and state.edi.
14842 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14843 %ebp and %edi according to grub_relocator32_ebp and
14844 grub_relocator32_edi respectively.
14845 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14846 and state.edi.
14847
529cc99a
VS
148482010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 Add i386-pc-pxe image target.
14851
14852 * util/grub-mkimage.c (image_target_desc): New enum value
14853 IMAGE_I386_PC_PXE.
14854 (image_targets): New target i386-pc-pxe.
14855 (generate_image): Handle i386-pc-pxe image.
14856
9a093920
VS
148572010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 Fix grub_pxe_scan.
14860
14861 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14862 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14863 All users updated.
14864 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14865 (grub_pxe_pxenv): Correct type.
14866
f9cefc4e
CW
148672010-09-01 Colin Watson <cjwatson@ubuntu.com>
14868
14869 * NEWS: Document most of the important changes since 1.98.
14870
4066f57f
CW
148712010-09-01 Colin Watson <cjwatson@ubuntu.com>
14872
14873 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14874 generated manual page) a little.
14875
da2891f9
CW
148762010-09-01 Colin Watson <cjwatson@ubuntu.com>
14877
14878 * docs/grub.texi: Add myself as an author.
14879
ad717fae
VS
148802010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 * Makefile.util.def (libgrub.a): Add missing sunpc.
14883 Reported by: Seth Goldberg.
14884
eefe8abd
VS
148852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 Interrupt wrapping and code simplifications.
14888
9494ef9a
VS
14889 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14890 x86_noieee1275 which are functionaly equivalent in this case.
14891 (grub-install): Make source on each platform explicit. Enable on
14892 all noemu.
14893 * gentpl.py (x86_efi_pc): Removed group.
14894 (x86_noefi): Likewise.
14895 (i386_noefi): Likewise.
14896 (x86_noieee1275): Likewise.
14897 (i386_noieee1275): Likewise.
14898 (i386_noefi_noieee1275): Likewise.
14899 (i386_pc_qemu_coreboot): Likewise.
14900 (i386_coreboot_multiboot): Likewise.
14901 (i386_pc_coreboot_multiboot_qemu): Likewise.
14902 (x86_noefi_mips): Likewise.
14903 (noieee1275): Likewise.
14904 (ieee1275_mips): Likewise.
14905 (noemu_noieee1275): Likewise.
14906 (cmos): New group.
14907 (usb): Likewise.
14908 (videoinkernel): Likewise.
14909 (videomodules): Likewise.
eefe8abd 14910 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14911 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14912 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14913 include/grub/loader.h, include/grub/msdos_partition.h,
14914 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14915 include/grub/machine/console.h, include/grub/machine/vga.h,
14916 include/grub/machine/vbe.h, include/grub/machine/init.h,
14917 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14918 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14919 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14920 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14921 * grub-core/Makefile.core.def (kernel): Explicit the source for
14922 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14923 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14924 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14925 Use videoinkernel tag.
14926 (usb): Enable on all usb.
14927 (usbserial_common): Likewise.
14928 (usbserial_pl2303): Likewise.
14929 (usbserial_ftdi): Likewise.
14930 (uhci): Enable on all x86.
14931 (ohci): Enable on all pci.
14932 (cmostest): Enable on all CMOS.
14933 (acpi): Include commands/acpi.c on all platforms.
14934 (halt): Add relevant lib/*/halt.c.
14935 (hdparm): Enable on all pci.
14936 (lspci): Likewise.
14937 (usbtest): Enable on all usb.
14938 (ata): Enable on all pci.
14939 (ata_pthru): Likewise.
14940 (usbms): Enable on all usb.
14941 (usb_keyboard): Likewise.
14942 (font): Use tag videomodules.
14943 (bufio): Likewise.
14944 (datetime): Use tag cmos. Enable on all noemu.
14945 (mmap): Use tags common and x86.
14946 (gfxterm): Use tag videomodules.
14947 (bitmap): Likewise.
14948 (bitmap_scale): Likewise.
14949 (video_fb): Likewise.
14950 (video): Likewise.
14951 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14952 adjust padding accordingly. All users updated.
14953 (grub_ohci_transaction): Fix bad format specification.
14954 (GRUB_MOD_INIT): Add asserts for struct size.
14955 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14956 (grub_alloc_td): Likewise.
14957 (grub_free_queue): Likewise.
14958 (grub_uhci_transfer): Likewise.
14959 (grub_uhci_transaction): Fix bad format specification.
14960 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14961 (grub_usb_bulk_readwrite): Likewise.
14962 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14963 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14964 Made static.
14965 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14966 Made static.
14967 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14968 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14969 Transformed into C.
14970 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14971 Moved from here ...
14972 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14973 ... here. Transformed into C. Made static.
14974 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14975 Moved from here ...
14976 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14977 ... here. Transformed into C. Made static.
14978 * grub-core/kern/i386/pc/startup.S
14979 (grub_biosdisk_check_int13_extensions): Moved from here ...
14980 * grub-core/disk/i386/pc/biosdisk.c
14981 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14982 Made static.
14983 * grub-core/kern/i386/pc/startup.S
14984 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14985 * grub-core/disk/i386/pc/biosdisk.c
14986 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14987 Transformed into C. Made static.
14988 * grub-core/kern/i386/pc/startup.S
14989 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14990 * grub-core/disk/i386/pc/biosdisk.c
14991 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14992 Transformed into C. Made static.
14993 * grub-core/kern/i386/pc/startup.S
14994 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14995 * grub-core/disk/i386/pc/biosdisk.c
14996 (grub_biosdisk_get_diskinfo_standard): ... here.
14997 Transformed into C. Made static.
14998 * grub-core/kern/i386/pc/startup.S
14999 (grub_biosdisk_get_num_floppies): Moved from here ...
15000 * grub-core/disk/i386/pc/biosdisk.c
15001 (grub_biosdisk_get_num_floppies): ... here.
15002 Transformed into C. Made static.
15003 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15004 New function.
15005 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15006 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15007 Transformed into C. Made static.
15008 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15009 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15010 Transformed into C. Made static.
15011 * grub-core/kern/i386/ieee1275/init.c: Removed.
15012 * grub-core/kern/i386/misc.S: Likewise.
15013 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15014 Splitted from here ...
15015 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15016 Transformed into C. Made static. All users updated.
15017 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15018 Transformed into C. Made static. All users updated.
15019 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15020 Moved from here...
15021 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15022 Transformed into C. Made static. All users updated.
15023 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15024 Moved from here...
15025 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15026 Transformed into C. Made static. All users updated.
15027 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15028 Removed (replaced by C version).
15029 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15030 Moved from here...
15031 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15032 Transformed into C. Made static.
15033 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15034 Moved from here...
15035 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15036 ... here. Transformed into C.
15037 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15038 Moved from here...
15039 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15040 ... here. Transformed into C.
15041 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15042 Moved from here...
15043 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15044 ... here. Transformed into C. Made static.
15045 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15046 Moved from here...
15047 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15048 ... here. Transformed into C.
21ed554b
VS
15049 * grub-core/kern/i386/pc/startup.S
15050 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15051 * grub-core/video/i386/pc/vbe.c
15052 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
15053 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15054 Moved from here...
15055 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15056 ... here. Transformed into C.
15057 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15058 Moved from here...
15059 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15060 ... here. Transformed into C.
15061 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15062 Moved from here...
15063 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15064 ... here. Transformed into C.
15065 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15066 Moved from here...
15067 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15068 ... here. Transformed into C.
15069 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15070 Moved from here...
15071 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15072 ... here. Transformed into C. Made static.
15073 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15074 Moved from here...
15075 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15076 ... here. Transformed into C. Made static.
15077 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15078 Moved from here...
15079 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15080 ... here. Transformed into C. Made static.
15081 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15082 pxe_rm_entry as third argument.
15083 (grub_bios_interrupt): New function.
15084 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15085 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15086 of calling grub_stop.
15087 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15088 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15089 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15090 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15091 * grub-core/lib/i386/halt.c: Moved from here ...
15092 * grub-core/lib/i386/halt.c: ... here.
15093 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15094 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15095 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15096 grub_stop_floppy.
15097 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15098 * include/grub/i386/coreboot/init.h: Removed.
15099 * include/grub/i386/multiboot/init.h: Likewise.
15100 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15101 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15102 * include/grub/i386/pc/int.h: New file.
15103 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15104 (grub_pxe_scan): Removed.
15105 (grub_pxe_call): Update prototype.
15106 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15107 prototypes.
15108 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15109 * include/grub/i386/qemu/init.h: Removed.
15110 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15111 noreturn.
15112 (grub_halt): Likewise.
15113 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15114 (grub_reboot): Likewise.
15115 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15116 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
15117 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15118
215dd471
RM
151192010-08-30 Robert Millan <rmh@gnu.org>
15120
15121 * NEWS: Document addition of ZFS support in `grub-install' and
15122 `grub-mkconfig'.
15123
ebd65b82
BC
151242010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15125
15126 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15127 dprintf output.
15128
11721d19
VS
151292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 Remove leftover embedding of font objects.
15132
15133 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15134 * util/grub-install.in (font): Removed.
15135 * util/grub-mkimage.c (generate_image): Remove font support. All users
15136 updated.
15137
37837d4e
VS
151382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 Remove leftover embedding of font objects.
15141
15142 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15143 * util/grub-install.in (font): Removed.
15144 * util/grub-mkimage.c (generate_image): Remove font support. All users
15145 updated.
15146
b4c1aae0
VS
151472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 15150 Reported by: Ian Turner
b4c1aae0 15151
8920a08d
VS
151522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15155 timeout to avoid indefinite boot stalling.
15156
f21db033
VS
151572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15160 (grub_env_write_color_highlight): Likewise.
15161
9a9de209
VS
151622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 * grub-core/normal/term.c (print_more): Return to normal and not
15165 to standard state after printing "---MORE---".
15166
3dca01d7
VS
151672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15170 Mask out the bit 0x80 since it has other meaning that specifiing color.
15171
0b986c40
VS
151722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 New relocator. Allows for more kernel support and more straightforward
15175 loader writing.
15176
15177 * Makefile.am (BOOTTARGET): New variable.
15178 (QEMU32): Likewise.
15179 (linux.init.x86_64): New target.
15180 (linux.init.i386): Likewise.
15181 (multiboot.elf): Likewise.
15182 (kfreebsd.elf): Likewise.
15183 (kfreebsd.aout): Likewise.
15184 (pc-chainloader.elf): Likewise.
15185 (pc-chainloader.bin): Likewise.
15186 (ntldr.elf): Likewise.
15187 (ntldr.bin): Likewise.
15188 (multiboot2.elf): Likewise.
15189 (kfreebsd.init.x86_64): Likewise.
15190 (kfreebsd.init.i386): Likewise.
15191 (knetbsd.init.i386): Likewise.
15192 (kopenbsd.init.i386): Likewise.
15193 (knetbsd.init.x86_64): Likewise.
15194 (kopenbsd.init.x86_64): Likewise.
15195 (linux-initramfs.i386): Likewise.
15196 (linux-initramfs.x86_64): Likewise.
15197 (kfreebsd-mfsroot.i386.img): Likewise.
15198 (knetbsd.image.i386): Likewise.
15199 (kopenbsd.image.i386): Likewise.
15200 (kopenbsd.image.x86_64): Likewise.
15201 (knetbsd.miniroot-image.i386.img): Likewise.
15202 (kfreebsd-mfsroot.x86_64.img): Likewise.
15203 (knetbsd.image.x86_64): Likewise.
15204 (knetbsd.miniroot-image.x86_64.img): Likewise.
15205 (kfreebsd-mfsroot.i386.gz): Likewise.
15206 (bootcheck-kfreebsd-i386): Likewise.
15207 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15208 (bootcheck-kfreebsd-x86_64): Likewise.
15209 (knetbsd.miniroot-image.i386.gz): Likewise.
15210 (bootcheck-knetbsd-i386): Likewise.
15211 (bootcheck-kopenbsd-i386): Likewise.
15212 (bootcheck-kopenbsd-x86_64): Likewise.
15213 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15214 (bootcheck-knetbsd-x86_64): Likewise.
15215 (bootcheck-linux-i386): Likewise.
15216 (bootcheck-linux-x86_64): Likewise.
15217 (bootcheck-linux16-i386): Likewise.
15218 (bootcheck-linux16-x86_64): Likewise.
15219 (bootcheck-multiboot): Likewise.
15220 (bootcheck-multiboot2): Likewise.
15221 (bootcheck-kfreebsd-aout): Likewise.
15222 (bootcheck-pc-chainloader): Likewise.
15223 (bootcheck-ntldr): Likewise.
15224 (CLEANFILES): Add new targets.
15225 (BOOTCHECKS): New variable.
15226 (.PHONY): Add bootchecks.
15227 (SUCCESSFUL_BOOT_STRING): New variable.
15228 (BOOTCHECK_TIMEOUT): Likewise.
15229 (bootcheck): New target
15230 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
15231 * configure.ac: Correct efiemu excuse.
15232 * docs/grub.texi (Supported kernels): New chapter.
15233 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
15234 include/grub/mm_private.h. Simplify inclusion of
15235 include/grub/boot.h, include/grub/loader.h
15236 and include/grub/msdos_partition.h
15237 (KERNEL_HEADER_FILES) [i386_coreboot]:
15238 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
15239 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
15240 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
15241 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
15242 include/grub/machine/loader.h.
15243 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
15244 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
15245 extra_dist.
15246 (pci.mod): Enable on i386-multiboot.
15247 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
15248 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
15249 i386-qemu.
15250 (relocator.mod): Rewritten.
15251 (aout.mod): Enable on all x86.
15252 (bsd.mod): Likewise.
15253 (ntldr.mod): New module.
15254 (linux.mod): Use loader/i386/linux.c on all x86.
15255 (xnu.mod): Enable on all x86.
15256 (vga_text.mod): disable on EFI and QEMU.
15257 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
15258 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
15259 * grub-core/efiemu/loadcore.c: Likewise.
15260 * grub-core/efiemu/main.c: Likewise.
15261 (grub_efiemu_exit_boot_services): Removed.
15262 (grub_efiemu_finish_boot_services): Likewise.
15263 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
15264 function.
15265 * grub-core/efiemu/i386/nocfgtables.c: New file.
15266 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
15267 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
15268 (grub_efi_finish_boot_services): Moved from here ...
15269 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
15270 Fille finish memory map and related data.
15271 (finish_mmap_buf): New variable.
15272 (grub_efi_uintn_t finish_mmap_size): Likewise.
15273 (grub_efi_uintn_t finish_key): Likewise.
15274 (grub_efi_uintn_t finish_desc_size): Likewise.
15275 (grub_efi_uint32_t finish_desc_version): Likewise.
15276 (grub_efi_is_finished): Likewise.
15277 (grub_efi_get_memory_map): Use saved memory map if EFI is already
15278 finished.
15279 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
15280 (grub_elf64_phdr_iterate): Likewise.
15281 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
15282 (grub_os_area_size): Likewise.
15283 (grub_machine_init): Don't reserve os area.
15284 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
15285 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15286 * grub-core/kern/i386/loader.S: Removed.
15287 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
15288 (grub_os_area_size): Likewise.
15289 (grub_machine_init): Don't reserve os area.
15290 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15291 Don't call grub_dl_unload_all.
15292 Don't include loader.S.
15293 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
15294 Declare the memory after _end as available.
15295 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 15296 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 15297 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
15298 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
15299 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
15300 * include/grub/mm_private.h (grub_mm_header): ... here.
15301 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
15302 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
15303 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
15304 (grub_mm_region): ..here. Removed addr. Added pre_size.
15305 All users updated.
15306 * grub-core/kern/mm.c (base): Renamed to ...
15307 (grub_mm_base): ... this. Made global.
15308 (grub_real_malloc): Alloc from end of region.
15309 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
15310 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
15311 * grub-core/kern/powerpc/cache_flush.S: ... here.
15312 * grub-core/lib/efi/relocator.c: New file.
15313 * grub-core/lib/i386/relocator.c: Rewritten.
15314 * grub-core/lib/i386/relocator16.S: New file.
15315 * grub-core/lib/i386/relocator32.S: Likewise.
15316 * grub-core/lib/i386/relocator64.S: Likewise.
15317 * grub-core/lib/i386/relocator_asm.S: Rewritten.
15318 * grub-core/lib/i386/relocator_common.S: New file.
15319 * grub-core/lib/ieee1275/relocator.c: Likewise.
15320 * grub-core/lib/mips/relocator.c: Rewritten.
15321 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
15322 stylistic adjustments.
15323 * grub-core/lib/powerpc/relocator.c: New file.
15324 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
15325 * grub-core/lib/relocator.c: Rewritten.
15326 * grub-core/lib/x86_64/relocator_asm.S: New file.
15327 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
15328 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
15329 (bsd_tag): New struct.
15330 (tags): New variable.
15331 (tags_last): Likewise.
15332 (netbsd_module): New struct.
15333 (netbsd_mods): New variable.
15334 (netbsd_mods_last): Likewise.
15335 (openbsd_opts): New parameter "serial".
15336 (OPENBSD_SERIAL_ARG): New definition.
15337 (netbsd_opts): New parameter "serial".
15338 (NETBSD_SERIAL_ARG): New definition.
15339 (grub_freebsd_add_meta): Reorganised into ...
15340 (grub_bsd_add_meta): ...this. All users updated.
15341 (grub_freebsd_add_mmap): Reorganised into ...
15342 (generate_e820_mmap): ...this...
15343 (grub_bsd_add_mmap): ...and this. All users updated.
15344 (grub_freebsd_list_modules): Use tags.
15345 (grub_netbsd_add_meta_module): New function.
15346 (grub_netbsd_list_modules): Likewise.
15347 (grub_freebsd_boot): Use relocator and finish EFI.
15348 (grub_openbsd_boot): Likewise.
15349 (grub_netbsd_setup_video): New function.
15350 (grub_netbsd_add_modules): Likewise.
15351 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
15352 and finish EFI.
15353 (grub_bsd_unload): Unload tags.
15354 (grub_bsd_load_aout): Use relocator.
15355 (grub_bsd_elf32_size_hook): New function.
15356 (grub_bsd_elf32_hook): Use relocator.
15357 (grub_bsd_elf64_size_hook): New function.
15358 (grub_bsd_elf64_hook): Use relocator.
15359 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
15360 (grub_bsd_load): Zero-out openbsd_ramdisk.
15361 (grub_bsd_load): Use relocator.
15362 (grub_cmd_openbsd): Support serial.
15363 (grub_cmd_netbsd): Support modules.
15364 (grub_cmd_freebsd_module): Use relocator.
15365 (grub_netbsd_module_load): New function.
15366 (grub_cmd_netbsd_module): Likewise.
15367 (grub_cmd_openbsd_ramdisk): Likewise.
15368 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
15369 kopenbsd_ramdisk.
15370 (GRUB_MOD_FINI): Unregister new commands.
15371 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
15372 (grub_freebsd_load_elfmodule_obj): Use relocator.
15373 (grub_freebsd_load_elfmodule): Likewise.
15374 (grub_freebsd_load_elf_meta): Likewise.
15375 (grub_netbsd_load_elf_meta): New function.
15376 (grub_openbsd_find_ramdisk): Likewise.
15377 * grub-core/loader/i386/bsd_helper.S: Removed.
15378 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
15379 * grub-core/loader/i386/bsd_trampoline.S: Removed.
15380 * grub-core/loader/i386/efi/linux.c: Likewise.
15381 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
15382 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
15383 (DEFAULT_VIDEO_MODE): Likewise.
15384 (real_mode_target): New variable.
15385 (prot_mode_target): Likewise.
15386 (initrd_mem_target): Likewise.
15387 (relocator): Likewise.
15388 (efi_mmap_buf): Likewise.
15389 (efi_mmap_size): Likewise.
15390 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
15391 (free_pages): Use relocator.
15392 (allocate_pages): Account for efi_mmap and use relocator. Return error.
15393 (grub_linux_setup_video): Return error.
15394 (grub_linux_trampoline_start): Removed.
15395 (grub_linux_trampoline_end): Likewise.
15396 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
15397 andd video parameters depending on firmware.
15398 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
15399 [GRUB_MACHINE_EFI]: Pass EFI parameters.
15400 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
15401 (grub_cmd_initrd): Use relocator.
15402 * grub-core/loader/i386/linux_trampoline.S: Removed.
15403 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
15404 (elf_sec_entsize): Likewise.
15405 (elf_sec_shstrndx): Likewise.
15406 (elf_sections): Likewise.
15407 (grub_multiboot_load): Use relocator.
15408 (grub_multiboot_get_mbi_size): Account for sections.
15409 (grub_multiboot_make_mbi): Use relocator and support sections.
15410 (grub_multiboot_add_elfsyms): New function.
15411 (grub_multiboot_free_mbi): Free sections.
15412 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
15413 (grub_linux_real_target): Likewise.
15414 (grub_linux_real_chunk): Likewise.
15415 (grub_linux16_prot_size): Likewise.
15416 (grub_linux16_boot): Use relocator.
15417 (grub_linux_unload): Unload relocator.
15418 (grub_cmd_linux): Use relocator.
15419 (grub_cmd_initrd): Likewise.
15420 * grub-core/loader/i386/pc/ntldr.c: New file.
15421 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
15422 Don't try to guess CPU frequency.
15423 (grub_xnu_set_video): Stretch bitmap.
15424 (grub_xnu_boot): Use relocator.
15425 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
15426 (grub_linux_unload): Free relocator.
15427 (grub_linux_load32): Use relocator.
15428 (grub_linux_load64): Likewise.
15429 (grub_cmd_initrd): Likewise.
15430 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
15431 (grub_multiboot_unload): Unload relocator.
15432 (grub_cmd_multiboot): Use relocator.
15433 (grub_cmd_module): Likewise.
15434 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
15435 Use relocator and support sections.
15436 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
15437 (elf_sec_entsize): Likewise.
15438 (elf_sec_shstrndx): Likewise.
15439 (elf_sections): Likewise.
15440 (grub_multiboot_load): Use relocator.
15441 (grub_multiboot_get_mbi_size): Account for sections.
15442 (grub_multiboot_make_mbi): Use relocator and support sections.
15443 (grub_multiboot_add_elfsyms): New function.
15444 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
15445 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
15446 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
15447 Prototype changed. All users updated.
15448 (grub_xnu_align_heap): Simplified.
15449 (grub_xnu_writetree_toheap): Likewise.
15450 (grub_xnu_unload): Unload relocator.
15451 (grub_cmd_xnu_kernel): Use relocator.
15452 (grub_cmd_xnu_kernel64): Likewise.
15453 (grub_xnu_register_memory): Simplified.
15454 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
15455 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
15456 EFI is finished.
15457 (grub_console_checkkey): Likewise.
15458 (grub_console_getkey): Likewise.
15459 (grub_console_getwh): Likewise.
15460 (grub_console_getxy): Likewise.
15461 (grub_console_gotoxy): Likewise.
15462 (grub_console_cls): Likewise.
15463 (grub_console_setcolorstate): Likewise.
15464 (grub_console_setcursor): Likewise.
15465 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
15466 * grub-core/tests/boot/kbsd.init-i386.S: New file.
15467 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
15468 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
15469 * grub-core/tests/boot/kernel-8086.S: Likewise.
15470 * grub-core/tests/boot/kernel-i386.S: Likewise.
15471 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
15472 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
15473 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
15474 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
15475 * grub-core/tests/boot/knetbsd.cfg: Likewise.
15476 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
15477 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
15478 * grub-core/tests/boot/linux.cfg: Likewise.
15479 * grub-core/tests/boot/linux.init-i386.S: Likewise.
15480 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
15481 * grub-core/tests/boot/linux16.cfg: Likewise.
15482 * grub-core/tests/boot/multiboot.cfg: Likewise.
15483 * grub-core/tests/boot/multiboot2.cfg: Likewise.
15484 * grub-core/tests/boot/ntldr.cfg: Likewise.
15485 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
15486 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
15487 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
15488 New definition.
15489 * include/grub/dl.h (grub_dl_unload_all): Removed.
15490 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
15491 (grub_efi_finish_boot_services): Change prototype.
15492 (grub_efi_is_finished): New variable.
15493 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
15494 Changed prototype.
15495 (grub_efiemu_finish_boot_services): Removed.
15496 (grub_machine_efiemu_init_tables): New prototype.
15497 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
15498 (grub_elf64_phdr_iterate): Likewise.
15499 * include/grub/i386/bsd.h: Include relocator.h.
15500 (freebsd_tag_header): New struct.
15501 (grub_openbsd_bios_mmap): Removed.
15502 (grub_unix_real_boot): Removed.
15503 (grub_freebsd_load_elfmodule32): Changed prototype.
15504 (grub_freebsd_load_elfmodule_obj64): Likewise.
15505 (grub_freebsd_load_elf_meta32): Likewise.
15506 (grub_freebsd_load_elf_meta64): Likewise.
15507 (grub_freebsd_add_meta): Removed.
15508 (grub_netbsd_load_elf_meta32): New prototype.
15509 (grub_netbsd_load_elf_meta64): Likewise.
15510 (grub_bsd_add_meta): Likewise.
15511 (grub_openbsd_ramdisk_descriptor): New struct.
15512 (grub_openbsd_find_ramdisk32): New prototype.
15513 (grub_openbsd_find_ramdisk64): Likewise.
15514 * include/grub/i386/coreboot/loader.h: Removed.
15515 * include/grub/i386/efi/loader.h: Likewise.
15516 * include/grub/i386/ieee1275/loader.h: Likewise.
15517 * include/grub/i386/linux.h (linux_kernel_header): Change void *
15518 to grub_uint32_t.
15519 * include/grub/i386/loader.h: Removed.
15520 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
15521 value.
15522 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
15523 (grub_phys_addr_t): New type.
15524 (grub_vtop): New inline function.
15525 (grub_map_memory): Likewise.
15526 (grub_unmap_memory): Likewise.
15527 * include/grub/i386/multiboot/loader.h: Removed.
15528 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
15529 (NETBSD_BTINFO_CONSOLE): New definition.
15530 (NETBSD_BTINFO_SYMTAB): Likewise.
15531 (NETBSD_BTINFO_MODULES): Likewise.
15532 (NETBSD_BTINFO_FRAMEBUF): Likewise.
15533 (grub_netbsd_bootinfo): New struct.
15534 (grub_netbsd_btinfo_common): Use explicit bitsize.
15535 (grub_netbsd_btinfo_mmap_entry): Removed.
15536 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
15537 (grub_netbsd_btinfo_bootdisk): New struct.
15538 (grub_netbsd_btinfo_symtab): Likewise.
15539 (grub_netbsd_btinfo_serial): Likewise.
15540 (grub_netbsd_btinfo_modules): Likewise.
15541 (grub_netbsd_btinfo_framebuf): Likewise.
15542 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
15543 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
15544 Likewise.
15545 (grub_openbsd_bootargs): Use explicit bitsize.
15546 (grub_openbsd_bootarg_console): New struct.
15547 (GRUB_OPENBSD_COM_MAJOR): New definition.
15548 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
15549 * include/grub/i386/pc/efiemu.h: Removed.
15550 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
15551 * include/grub/i386/qemu/loader.h: Removed.
15552 * include/grub/i386/relocator.h: Rewritten.
15553 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
15554 * include/grub/mips/memory.h: New file.
15555 * include/grub/mips/multiboot.h: Rewritten.
15556 * include/grub/mips/relocator.h: Rewritten.
15557 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
15558 (grub_vtop): New function.
15559 (grub_map_memory): Likewise.
15560 (grub_unmap_memory): Likewise.
15561 * include/grub/misc.h (ALIGN_DOWN): New definition.
15562 * include/grub/mm.h (grub_mm_check_real): New proto.
15563 (GRUB_MM_CHECK): New definition.
15564 * include/grub/mm_private.h: New file.
15565 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
15566 (grub_multiboot_get_mbi_size): Removed.
15567 (grub_multiboot_make_mbi): Change prottype.
15568 (grub_multiboot_set_accepts_video): New proto.
15569 (grub_multiboot_add_elfsyms): Likewise.
15570 (grub_multiboot_payload_eip): New variable.
15571 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
15572 New prototype.
15573 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
15574 New definition.
15575 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
15576 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
15577 * include/grub/powerpc/ieee1275/loader.h: Removed.
15578 * include/grub/powerpc/memory.h: New file.
15579 * include/grub/powerpc/relocator.h: Likewise.
15580 * include/grub/relocator.h: Likewise.
15581 * include/grub/relocator_private.h: Likewise.
15582 * include/grub/sparc64/ieee1275/loader.h: Removed.
15583 * include/grub/x86_64/memory.h: New file.
15584 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
15585 (grub_xnu_heap_malloc): Likewise.
15586 (grub_xnu_heap_real_start): Removed.
15587 (grub_xnu_heap_start): Likewise.
15588 (grub_xnu_relocator): New variable.
15589 (grub_xnu_heap_target_start): Likewise.
15590 * tests/util/grub-shell.in: Support non-pc.
15591 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15592
5303b85d
VS
155932010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15596 on malloc error.
15597 (grub_bidi_logical_to_visual): Check that malloc succeded.
15598 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15599 puts.
15600 (grub_xputs_normal): Likewise.
15601
d768d159
VS
156022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15605 extra_dist.
15606
156072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15610
5bf84df4
VS
156112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15614
3626810e
VS
156152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15618 dprintf.
15619
a7363f53
BC
156202010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15621
15622 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15623
902f75f6
VS
156242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * grub-core/normal/term.c (print_more): Fix a memory leak.
15627 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15628 (grub_xputs_normal): Likewise.
15629
3c707967
VS
156302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15633 the begining of the string
15634
2053cc07
VS
156352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 * grub-core/script/script.c (grub_script_parse): Free parsed on
15638 failure.
15639
46422ebf
VS
156402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15643 on failure.
15644
9e0fa3f6
VS
156452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15648 return.
15649
3393cf16
VS
156502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15653 (scroll_up): Fix a memory leak.
15654
b17540cb
VS
156552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15658 errors.
15659
67140446
VS
156602010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 Handle USB pendrives exposed as floppies.
15663
15664 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15665 floppy.
15666 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15667 Check for partitions on all devices.
15668
e35e46fc
VS
156692010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15672 (readkey): Likewise.
15673
d24c6190
BC
156742010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15675
15676 Multiple variable names support to "export" command.
15677
15678 * normal/context.c (grub_cmd_export): "export" command supports
15679 multiple variable names.
15680
04ddcc6a
ST
156812010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15682
15683 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15684 --target=drive output to Mach device name.
15685
0c8b61d8
BC
156862010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15687
15688 New Automake based build system for GRUB.
15689
15690 * ABOUT-NLS: New file.
15691 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15692 in Makefile.util.def file.
15693 * Makefile.util.def: New file. Autogen build definitions file for
15694 GRUB host utils.
15695 * conf/Makefile.common: New file. Common variables for GRUB host
15696 utils and target modules.
15697 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15698 * docs/Makefile.am: New file. Automake file for docs.
15699 * gentpl.py: New file. Python script to generate Autogen
15700 template.
15701 * grub-core/Makefile.am: New file. GRUB target modules' rules
15702 that doesn't fit in Makefile.core.def file.
15703 * grub-core/Makefile.core.def: New file. Autogen build
15704 definitions file for GRUB target modules.
15705 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15706 specific setjmp.S file.
15707 * po/Makefile.am: New file.
15708
15709 * .bzrignore: New ignores.
15710 * INSTALL: New requirements, without Ruby.
15711 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15712 * autogen.sh: Updated to invoke autogen as necessary.
15713 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15714 and defines for Automake conditionals.
15715 * geninit.sh: Refactoring.
15716
15717 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15718 necessary.
15719 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15720 New prototype.
15721
15722 * include/grub/test.h: Fix functional test modules' naming.
15723 * grub-core/tests/example_functional_test.c: Fix test module name.
15724
15725 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15726 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15727 * util/grub-editenv.c: Likewise.
15728 * util/grub-fstest.c: Likewise.
15729 * util/grub-mkdevicemap.c: Likewise.
15730 * util/grub-mkfont.c: Likewise.
15731 * util/grub-mkimage.c: Likewise.
15732 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15733 * util/grub-probe.c: Likewise.
15734 * util/grub-script-check.c: Likewise.
15735 * util/i386/pc/grub-setup.c: Likewise.
15736 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15737
15738 * tests/util/grub-shell.in: Fix override directory path.
15739 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15740 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15741
15742 * util/lvm.c: Update #includes.
15743 * util/raid.c: Likewise.
15744 * util/resolve.c: Likewise.
15745 * grub-core/bus/emu/pci.c: Likewise.
15746 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15747 * grub-core/lib/posix_wrap/string.h: Likewise.
15748 * grub-core/kern/emu/main.c: Likewise.
15749
15750 * grub-core/gensymlist.sh: New file. Script for generating kernel
15751 symbols file.
15752 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15753
15754 * grub-core/gentrigtables.c: Fix unused variable warnings.
15755
15756 * Makefile.in: Removed.
15757 * conf/any-emu.rmk: Removed.
15758 * conf/common.rmk: Removed.
15759 * conf/i386-coreboot.rmk: Removed.
15760 * conf/i386-efi.rmk: Removed.
15761 * conf/i386-ieee1275.rmk: Removed.
15762 * conf/i386-multiboot.rmk: Removed.
15763 * conf/i386-pc.rmk: Removed.
15764 * conf/i386-qemu.rmk: Removed.
15765 * conf/i386.rmk: Removed.
15766 * conf/mips-yeeloong.rmk: Removed.
15767 * conf/mips.rmk: Removed.
15768 * conf/powerpc-ieee1275.rmk: Removed.
15769 * conf/sparc64-ieee1275.rmk: Removed.
15770 * conf/tests.rmk: Removed.
15771 * conf/x86-efi.rmk: Removed.
15772 * conf/x86_64-efi.rmk: Removed.
15773 * gendistlist.sh: Removed.
15774 * geninitheader.sh: Removed.
15775 * genkernsyms.sh.in: Removed.
15776 * genmk.rb: Removed.
15777 * gensymlist.sh.in: Removed.
15778 * mkinstalldirs: Removed.
15779 * boot: Moved ...
15780 * grub-core/boot: ... to here.
15781 * bus: Moved ...
15782 * grub-core/bus: ... to here.
15783 * commands: Moved ...
15784 * grub-core/commands: ... to here.
15785 * disk: Moved ...
15786 * grub-core/disk: ... to here.
15787 * efiemu: Moved ...
15788 * grub-core/efiemu: ... to here.
15789 * font: Moved ...
15790 * grub-core/font: ... to here.
15791 * fs: Moved ...
15792 * grub-core/fs: ... to here.
15793 * gencmdlist.sh: Moved ...
15794 * grub-core/gencmdlist.sh: ... to here.
15795 * genemuinit.sh: Moved ...
15796 * grub-core/genemuinit.sh: ... to here.
15797 * genemuinitheader.sh: Moved ...
15798 * grub-core/genemuinitheader.sh: ... to here.
15799 * genfslist.sh: Moved ...
15800 * grub-core/genfslist.sh: ... to here.
15801 * genhandlerlist.sh: Moved ...
15802 * grub-core/genhandlerlist.sh: ... to here.
15803 * genmoddep.awk: Moved ...
15804 * grub-core/genmoddep.awk: ... to here.
15805 * genmodsrc.sh: Moved ...
15806 * grub-core/genmodsrc.sh: ... to here.
15807 * genpartmaplist.sh: Moved ...
15808 * grub-core/genpartmaplist.sh: ... to here.
15809 * genparttoollist.sh: Moved ...
15810 * grub-core/genparttoollist.sh: ... to here.
15811 * genterminallist.sh: Moved ...
15812 * grub-core/genterminallist.sh: ... to here.
15813 * gentrigtables.c: Moved ...
15814 * grub-core/gentrigtables.c: ... to here.
15815 * genvideolist.sh: Moved ...
15816 * grub-core/genvideolist.sh: ... to here.
15817 * gettext: Moved ...
15818 * grub-core/gettext: ... to here.
15819 * gfxmenu: Moved ...
15820 * grub-core/gfxmenu: ... to here.
15821 * gnulib: Moved ...
15822 * grub-core/gnulib: ... to here.
15823 * hello: Moved ...
15824 * grub-core/hello: ... to here.
15825 * hook: Moved ...
15826 * grub-core/hook: ... to here.
15827 * io: Moved ...
15828 * grub-core/io: ... to here.
15829 * kern: Moved ...
15830 * grub-core/kern: ... to here.
15831 * lib: Moved ...
15832 * grub-core/lib: ... to here.
15833 * loader: Moved ...
15834 * grub-core/loader: ... to here.
15835 * mmap: Moved ...
15836 * grub-core/mmap: ... to here.
15837 * normal: Moved ...
15838 * grub-core/normal: ... to here.
15839 * partmap: Moved ...
15840 * grub-core/partmap: ... to here.
15841 * parttool: Moved ...
15842 * grub-core/parttool: ... to here.
15843 * script: Moved ...
15844 * grub-core/script: ... to here.
15845 * term: Moved ...
15846 * grub-core/term: ... to here
15847 * tests/example_functional_test.c: Moved ...
15848 * grub-core/tests/example_functional_test.c: ... to here.
15849 * tests/lib/functional_test.c: Moved ...
15850 * grub-core/tests/lib/functional_test.c: ... to here.
15851 * tests/lib/test.c: Moved ...
15852 * grub-core/tests/lib/test.c: ... to here.
15853 * video: Moved ...
15854 * grub-core/video: ... to here.
15855
645586e6
BC
158562010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15857
15858 Replace --enable-grub-emu-modules with grub-emu-lite.
15859
15860 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15861 cache.S.
15862
15863 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15864 * kern/emu/full.c: New file. For grub-emu specific initialization.
15865 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15866 * kern/emu/main.c: Call initialization function grub_emu_init.
15867
15868 * Makefile.in: Include grub-emu-lite in install.
15869 * commands/parttool.c: Use grub_no_autoload to differentiate
15870 between grub-emu and grub-emu-lite.
15871 * include/grub/misc.h: New variable grub_no_autoload.
15872
15873 * conf/any-emu.rmk: New rules for grub-emu-lite.
15874 * configure.ac: Remove --enable-grub-emu-modules.
15875 * genmk.rb: Cleanup unnecessary rules.
15876 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15877
15878 * normal/main.c: Don't load list files on grub-emu-lite.
15879 * util/misc.c (grub_arch_sync_caches): Removed.
15880
f86a4030
CW
158812010-08-23 Colin Watson <cjwatson@ubuntu.com>
15882
15883 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15884 grub-mkimage rather than grub-mkelfimage.
15885 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15886
06776944
VS
158872010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15890 a key after CapsLock or NumLock. It's just a qemu bug.
15891
df262419
VS
158922010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15895 needed by libusb wrapper.
15896
b40ea81b
ST
158972010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15898
15899 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15900
dee50575
VS
159012010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15904 --nounzip is passed.
15905
fb1d7b79
VS
159062010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 USB hotunplugging and USB serial support.
15909
15910 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15911 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15912 (grub_uhci_transfer): Respect timeout and set *actual.
15913 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15914 non-standard length.
15915 (grub_usb_device_attach): Autoload modules.
15916 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15917 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15918 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15919 users updated.
15920 (grub_usb_add_hub): Fill nports and children.
15921 (attach_root_port): Receive hub instead of controller.
15922 All users updated. Fill hub->devices.
15923 (grub_usb_root_hub): Allocate hub->devices.
15924 (detach_device): New function.
15925 (poll_nonroot_hub): Fill children and detach devices.
15926 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15927 actual arguments. All users updated.
15928 (grub_usb_bulk_read_extended): New function.
15929 * bus/usb/serial/common.c: New file.
15930 * bus/usb/serial/ftdi.c: Likewise.
15931 * bus/usb/serial/pl2303.c: Likewise.
15932 * commands/terminal.c (handle_command): Support wildcard.
15933 * commands/usbtest.c: Output "Unknown" instead of empty string.
15934 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15935 (usbserial_common_mod_SOURCES): New variable.
15936 (usbserial_common_mod_CFLAGS): Likewise.
15937 (usbserial_common_mod_LDFLAGS): Likewise.
15938 (pkglib_MODULES): Add usbserial_pl2303.mod.
15939 (usbserial_pl2303_mod_SOURCES): New variable.
15940 (usbserial_pl2303_mod_CFLAGS): Likewise.
15941 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15942 (pkglib_MODULES): Add usbserial_ftdi.mod.
15943 (usbserial_ftdi_mod_SOURCES): New variable.
15944 (usbserial_ftdi_mod_CFLAGS): Likewise.
15945 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15946 (pkglib_MODULES): Add serial.mod.
15947 (serial_mod_SOURCES): New variable.
15948 (serial_mod_CFLAGS): Likewise.
15949 (serial_mod_LDFLAGS): Likewise.
15950 * conf/i386-pc.rmk: Likewise.
15951 * conf/mips-yeeloong.rmk: Likewise.
15952 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15953 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15954 * disk/usbms.c (first_available_slot): New variable.
15955 (grub_usbms_attach): Don't reuse free slots due to potential cache
15956 problems.
15957 * include/grub/serial.h: Moved to ..
15958 * include/grub/ns8250.h: ...this.
15959 * include/grub/serial.h: New file.
15960 * include/grub/term.h (grub_term_poll_usb): New variable.
15961 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15962 readkey. All users updated.
15963 (grub_terminfo_output_state): Pass term to put.
15964 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15965 (grub_usb_controller_dev): Add timeout and actual arguments to
15966 transfer. All users updated.
15967 (grub_usb_interface): New field detach_data.
15968 (grub_usb_device): New fields children and nports.
15969 (grub_usb_ep_type_t): New type.
15970 (grub_usb_get_ep_type): New function.
15971 (grub_usb_bulk_read_extended): Likewise.
15972 * include/grub/usbdesc.h (grub_usb_desc): New type.
15973 * include/grub/usbserial.h: New file.
15974 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15975 * kern/term.c (grub_term_poll_usb): New variable.
15976 (grub_getkey): Call grub_term_poll_usb if set.
15977 (grub_checkkey): Likewise.
15978 (grub_getkeystatus): Likewise.
15979 * term/serial.c: Moved controller-specific parts to ...
15980 * term/ns8250.c: ... here.
15981 * term/serial.c: Mostly rewritten.
15982 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15983 according to spec.
15984
21a313de
RM
159852010-08-20 Robert Millan <rmh@gnu.org>
15986
15987 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15988 a separate module and maybe other interesting combinations.
15989
15990 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15991 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15992 (kfreebsd_entry): Add generic filesystem module load routine.
15993 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15994
63c734a6
CW
159952010-08-20 Colin Watson <cjwatson@ubuntu.com>
15996
15997 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15998 "numcenter" (I misunderstood the purpose of this entry).
15999 * docs/grub.texi (sendkey): Likewise.
16000
c4d16542
CW
160012010-08-20 Colin Watson <cjwatson@ubuntu.com>
16002
16003 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16004 status flag options; simply omitting the option is equivalent and
16005 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16006 (keysym_table): Rename "num5numlock" to "numlock".
16007 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16008 can uniformly say that only the last of multiple `sendkey'
16009 invocations has any effect.
16010 * docs/grub.texi (sendkey): New section.
16011
93541d66
CW
160122010-08-19 Colin Watson <cjwatson@ubuntu.com>
16013
16014 * commands/i386/pc/sendkey.c (options): Fix three typos.
16015
b4ece5e1
VS
160162010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 Implement sendkey support.
16019
16020 * commands/i386/pc/sendkey.c: New file.
16021 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16022 (sendkey_mod_SOURCES): New variable.
16023 (sendkey_mod_CFLAGS): Likewise.
16024 (sendkey_mod_LDFLAGS): Likewise.
16025
51f1f5af
CW
160262010-08-18 Colin Watson <cjwatson@ubuntu.com>
16027
16028 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16029 fix warnings from Autoconf.
16030
9da94e05
CW
160312010-08-18 Colin Watson <cjwatson@ubuntu.com>
16032
16033 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16034 to avoid false positives with some assemblers that output things
16035 like "someprefix_func" as part of their output.
16036
729a0f2e
RM
160372010-08-15 Robert Millan <rmh@gnu.org>
16038
16039 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16040 errors.
16041 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16042 grub_get_libzfs_handle() errors.
16043
f3710e08
RM
160442010-08-14 Robert Millan <rmh@gnu.org>
16045
16046 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16047 filesystem is not ZFS.
16048
7a3c13de
BC
160492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16050
16051 Fix for misspelled color names defaulting to black/black (bug
16052 reported by Doug Nazar)
16053
16054 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16055 status to prototype.
16056 * normal/color.c (grub_parse_color_name_pair): Return failure
16057 status.
16058 (grub_env_write_color_normal): Ignore bad color names.
16059 (grub_env_write_color_highlight): Likewise.
16060 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16061
ab8ba50d
BC
160622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16063
16064 "shift" command support to GRUB script.
16065
16066 * include/grub/script_sh.h (grub_script_shift): New prototype.
16067 * script/execute.c (grub_script_shift): New function.
16068 * script/main.c (grub_script_init): Register shift command.
16069 (grub_script_fini): Unregister shift command.
16070 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16071
16072 * tests/grub_script_shift.in: New testcase.
16073 * conf/tests.rmk: Rules for new testcase.
16074
4d61999e
BC
160752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16076
16077 "continue" command support to GRUB script.
16078
16079 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16080 (grub_script_break): Continue support.
16081 * script/main.c (grub_script_init): Register continue command.
16082 (grub_script_fini): Unregister continue command.
16083
16084 * tests/grub_script_continue.in: New testcase.
16085 * conf/tests.rmk: Rules for new testcase.
16086
4df51e00
BC
160872010-08-12 BVK Chaitanya <bvk@dbook>
16088
16089 "break" command support to GRUB script.
16090
16091 * conf/common.rmk: Rule updates to grub-script-check.
16092 * include/grub/misc.h (grub_min): New function.
16093 * include/grub/script_sh.h (grub_script_init): New prototype.
16094 (grub_script_fini): New prototype.
16095 (grub_script_break): New prototype.
16096 * script/main.c (grub_script_init): New function.
16097 (grub_script_fini): New function.
16098 * script/execute.c (grub_script_break): New function.
16099 * normal/main.c: Calls to grub_script_{init,fini}.
16100 * util/grub-script-check.c (grub_script_break): New function.
16101
16102 * tests/grub_script_break.in: New testcase.
16103 * conf/tests.rmk: Rules for new test case.
16104
f12c8420
BC
161052010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16106
16107 Function parameters support to GRUB script.
16108
16109 * script/yylex.l (VARIABLE): Regular expression update.
16110 * script/function.c (grub_script_function_call): Moved ...
16111 * script/execute.c (grub_script_function_call): ... to here.
16112 (grub_script_execute_arglist_to_argv): Removed.
16113 (grub_script_arglist_to_argv): New function.
16114 * script/argv.c: New file.
16115 (grub_script_argv_free): New function.
16116 (grub_script_argv_next): Likewise.
16117 (grub_script_argv_append): Likewise.
16118 (grub_script_argv_split_append): Likewise.
16119 * include/grub/script_sh.h (grub_script_argv): New struct.
16120 (grub_script_argv_free): New function.
16121 (grub_script_argv_next): Likewise.
16122 (grub_script_argv_append): Likewise.
16123 (grub_script_argv_split_append): Likewise.
16124
16125 * conf/common.rmk (normal.mod): New source script/argv.c.
16126
16127 * tests/grub_script_echo1.in: More tests.
16128 * tests/grub_script_vars1.in: Likewise.
16129 * tests/grub_script_functions.in: New test case.
16130 * conf/tests.rmk: Rules for new testcase.
16131
8022b748
BC
161322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16133
16134 Remove grub_script_cmdblock struct.
16135
16136 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16137 * script/parser.y: Likewise.
16138 * script/execute.c: Rename cmdblock suffix to cmdlist.
16139 * script/script.c: Likewise.
16140 * util/grub-script-check.c: Likewise.
16141
79a6ba61
YB
161422010-08-11 Yves Blusseau <blusseau@zetam.org>
16143
16144 * .bzrignore: add grub-macho2img
16145
d04b9414
VS
161462010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16149
f947ab49
VS
161502010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 Remove the dump of sm712 initialisation sequence.
16153
16154 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16155 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16156 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16157 (GRUB_VGA_CR_*): Added many registers.
16158 (GRUB_VGA_SR_*): Likewise.
16159 (GRUB_VGA_GR_*): Likewise.
16160 (grub_vga_write_arx): New function.
16161 (grub_video_hw_config): New struct.
16162 (grub_vga_set_geometry): New function.
16163 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16164 GRUB_PCI_CLASS_SUBCLASS_VGA.
16165 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16166 * video/sm712.c (grub_sm712_write_reg): New function
16167 (grub_sm712_read_reg): Likewise.
16168 (grub_sm712_sr_write): Likewise.
16169 (grub_sm712_gr_write): Likewise.
16170 (grub_sm712_cr_write): Likewise.
16171 (grub_sm712_write_arx): Likewise.
16172 (grub_sm712_cr_shadow_write): Likewise.
16173 (grub_sm712_write_dda_lookup): Likewise.
16174 (grub_video_sm712_setup): Initialise the video rather then
16175 blindly replay the dump.
16176 (main) [TEST]: Add a routine to be able to compile as standalone for
16177 tests.
16178 * video/sm712_init.c (sm712_init): Removed.
16179 (sm712_sr_seq1): New array.
16180 (sm712_sr_seq2): Likewise.
16181
f0206638
VS
161822010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 * include/grub/vga.h: Add missing grub/pci.h include.
16185
2764da3b
YB
161862010-08-10 Yves Blusseau <blusseau@zetam.org>
16187
16188 * util/grub-macho2img.c (main): fix typo
16189
cf0c775e
VS
161902010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16191
16192 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16193 (grub_vga_gr_read): Likewise.
16194 (grub_vga_cr_write): Likewise.
16195 (grub_vga_cr_read): Likewise.
16196 (grub_vga_sr_write): Likewise.
16197 (grub_vga_sr_read): Likewise.
16198 (grub_vga_palette_read): Likewise.
16199 (grub_vga_palette_write): Likewise.
16200 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16201 (grub_sm712_sr_read): New function.
16202 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16203 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16204
07f360e9
RM
162052010-08-09 Robert Millan <rmh@gnu.org>
16206
16207 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16208 out unused variables on non-ZFS build.
16209
346c2072
RM
162102010-08-08 Robert Millan <rmh@gnu.org>
16211
16212 Fix path generation for sub-filesystems in ZFS.
16213
16214 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16215 missing slash.
16216
71175420
RM
162172010-08-08 Robert Millan <rmh@gnu.org>
16218
16219 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16220
0d8286f3
RM
162212010-08-08 Robert Millan <rmh@gnu.org>
16222
16223 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
16224 exist, issue a proper error message (rely on `ls' for translated
16225 strings).
16226
55dd2924
RM
162272010-08-08 Robert Millan <rmh@gnu.org>
16228
16229 Fix grub-probe invocation.
16230
16231 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
16232
d3dd9e80
RM
162332010-08-04 Robert Millan <rmh@gnu.org>
16234
16235 * configure.ac: Remove checks for getfsstat() and getmntany().
16236 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
16237 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
16238 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
16239 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
16240 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
16241 function.
16242 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
16243 via find_mount_point_from_dir() and getfsstat() / getmntany().
16244
0de22aa9
RM
162452010-08-04 Robert Millan <rmh@gnu.org>
16246
16247 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16248 (grub_find_zpool_from_mount_point): Merge into ...
16249 (grub_find_zpool_from_dir): ... this.
16250 * kern/emu/misc.c: Likewise.
16251
16252 * kern/emu/misc.c
16253 (grub_make_system_path_relative_to_its_root): Replace
16254 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
16255 with grub_find_zpool_from_dir().
16256 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
16257
62858144
RM
162582010-08-04 Robert Millan <rmh@gnu.org>
16259
16260 Support OpenSolaris in ZFS device resolution.
16261
16262 * configure.ac: Check for getmntany().
16263 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
16264 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
16265 support.
16266
9dd6fd50
RM
162672010-08-03 Robert Millan <rmh@gnu.org>
16268
16269 Fix grub-emu build.
16270
16271 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
16272 * include/grub/emu/misc.h: ... here.
16273
16274 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
16275 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
16276
16277 * util/misc.c: Remove `<grub/util/libzfs.h>'.
16278 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
16279 (grub_get_libzfs_handle): Move to ...
16280 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
16281 (grub_get_libzfs_handle): ... here.
16282
c9f7ff97
BC
162832010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
16284
16285 * script/execute.c (grub_script_execute_cmdline): Check for NULL
16286 as command name case.
16287
a870a783
CW
162882010-08-02 Colin Watson <cjwatson@ubuntu.com>
16289
16290 * disk/raid.c (insert_array): Select unique numbers for named arrays
16291 as well, for use as keys in the disk cache.
16292
c7db243b
RM
162932010-08-01 Robert Millan <rmh@gnu.org>
16294
16295 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
16296 kFreeBSD device name, except on ZFS where the filesystem label is
16297 used.
16298 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
16299 `/boot/zfs/zpool.cache'.
16300 Set mountfrom kernel variable using ${kfreebsd_device}.
16301
f7abdefb
RM
163022010-08-01 Robert Millan <rmh@gnu.org>
16303
16304 Make it even harder to use uninitialized `libzfs_handle' (and
16305 make the interface a bit simpler).
16306
16307 * include/grub/util/misc.h (grub_util_init_libzfs)
16308 (libzfs_handle): Remove.
16309 (grub_get_libzfs_handle): New prototype.
16310
16311 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
16312 attribute.
16313 (grub_util_init_libzfs): Remove.
16314 (grub_get_libzfs_handle): New function.
16315
16316 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
16317 grub_get_libzfs_handle() to obtain a libzfs handle instead of
16318 accessing `libzfs_handle' directly.
16319
c882acc0
RM
163202010-08-01 Robert Millan <rmh@gnu.org>
16321
16322 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16323 (grub_find_zpool_from_mount_point): New function prototypes.
16324
16325 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16326 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16327
16328 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16329 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16330 `static' attribute.
16331
16332 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16333 finding zpool from mount point into ...
16334 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16335
16336 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16337 requested path is part of a ZFS pool, use
16338 grub_find_zpool_from_mount_point() to detect its filesystem name,
16339 and generate a path with `/fsname@path' syntax.
16340
8bfe31d8
CW
163412010-08-01 Colin Watson <cjwatson@ubuntu.com>
16342
16343 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
16344 (void) rather than () so that this is a proper prototype.
16345
553df63d
VS
163462010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
16349
8687cf07
VS
163502010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
16353 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
16354
ea9be8ea
CW
163552010-08-01 Colin Watson <cjwatson@ubuntu.com>
16356
16357 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
16358
6eea041a
CW
163592010-08-01 Colin Watson <cjwatson@ubuntu.com>
16360
16361 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
16362
2cfb45df
CW
163632010-08-01 Colin Watson <cjwatson@ubuntu.com>
16364
16365 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
16366 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
16367 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
16368 disable gfxpayload.
16369 (Shell-like scripting): Add real content.
16370 (Serial terminal): Suggest `terminal_input serial; terminal_output
16371 serial' rather than putting the two commands on separate lines,
16372 since console input will be inoperative after the first command.
16373 (menuentry): Document --class, --users, and --hotkey options.
16374 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
16375 Vladimir Serbinenko).
16376
7decd202
VS
163772010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
163782010-08-01 Colin Watson <cjwatson@ubuntu.com>
16379
16380 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
16381
c882acc0
RM
163822010-08-01 Robert Millan <rmh@gnu.org>
16383
16384 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16385 (grub_find_zpool_from_mount_point): New function prototypes.
16386
16387 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16388 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16389
16390 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16391 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16392 `static' attribute.
16393
16394 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16395 finding zpool from mount point into ...
16396 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16397
16398 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16399 requested path is part of a ZFS pool, use
16400 grub_find_zpool_from_mount_point() to detect its filesystem name,
16401 and generate a path with `/fsname@path' syntax.
16402
deb0caa3
RM
164032010-08-01 Robert Millan <rmh@gnu.org>
16404
16405 Prevent accidental use of uninitialized libzfs_handle.
16406
16407 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
16408 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
16409 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
16410
ce04ef47
CW
164112010-08-01 Colin Watson <cjwatson@ubuntu.com>
16412
16413 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
16414 util/grub.d/10_linux.in). Fixes Debian bug #591093.
16415
ebf53056
RM
164162010-08-01 Robert Millan <rmh@gnu.org>
16417
16418 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 16419
3710bb6b
RM
164202010-07-31 Robert Millan <rmh@gnu.org>
16421
16422 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
16423
8072efeb
RM
164242010-07-31 Robert Millan <rmh@gnu.org>
16425
16426 * kern/emu/misc.c: Add missing license header.
16427
3169f4c7
RM
164282010-07-31 Robert Millan <rmh@gnu.org>
16429
16430 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
16431
16432 * include/grub/util/libnvpair.h: Include `<config.h>'.
16433 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
16434 declaring libnvpair prototypes ourselves.
16435 * include/grub/util/libzfs.h: Include `<config.h>'.
16436 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
16437 declaring libzfs prototypes ourselves.
16438
16439 (libzfs_handle): Moved to ...
16440 * include/grub/util/misc.h (libzfs_handle): ... here.
16441 Include `<grub/util/libzfs.h>'.
16442
c9a00aee
RM
164432010-07-30 Robert Millan <rmh@gnu.org>
16444
16445 * include/grub/emu/misc.h: Add missing license header.
16446
a184f9c8
RM
164472010-07-30 Robert Millan <rmh@gnu.org>
16448
16449 Enable `grub-probe -t device' resolution on ZFS.
16450
16451 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
16452 * include/grub/util/libnvpair.h: New file.
16453 * include/grub/util/libzfs.h: New file.
16454
16455 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
16456 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
16457 `<grub/util/libnvpair.h>'.
16458 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
16459
16460 (find_mount_point_from_dir): New static function.
16461 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
16462 function.
16463 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
16464 find_root_device_from_libzfs() before ressorting to find_root_device().
16465
16466 * include/grub/util/misc.h (grub_util_init_libzfs): New function
16467 prototype.
16468 * util/misc.c: Include `<grub/util/libzfs.h>'.
16469 (grub_util_init_libzfs): New function.
16470 [HAVE_LIBZFS] (libzfs_handle): New global variable.
16471 [HAVE_LIBZFS] (fini_libzfs): New static function.
16472 (grub_util_init_libzfs): New function.
16473 * util/grub-probe.c (main): Call grub_util_init_libzfs().
16474
f7790cdd
RM
164752010-07-30 Robert Millan <rmh@gnu.org>
16476
16477 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
16478 (xmalloc, xrealloc, xstrdup, xasprintf): Add
16479 `warn_unused_result' attribute.
16480 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
16481 (grub_xasprintf, grub_xvasprintf): Likewise.
16482 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
16483
0806b63c
RM
164842010-07-29 Robert Millan <rmh@gnu.org>
16485
16486 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
16487 (probe): Handle `PRINT_FS_LABEL'.
16488 (main): Handle `-t fs_label'.
16489
9f841f5c
RM
164902010-07-29 Robert Millan <rmh@gnu.org>
16491
16492 * configure.ac: Remove grub-mkisofs checks.
16493
46371121
VS
164942010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16495
16496 * util/ieee1275/grub-install.in: Don't use empty grub_device.
16497 Reported by: Lennart Sorensen.
16498
164992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
16502 prior to terminal_input/terminal_output separation. It's been over 1.5
16503 years and those versions weren't widely deployed.
16504
a9600892
CW
165052010-07-22 Colin Watson <cjwatson@ubuntu.com>
16506
16507 * disk/raid.c (insert_array): Don't count named arrays when looking
16508 for unused array numbers.
697e053c 16509 Reported and tested by: Michael Guntsche.
a9600892 16510
c03507df
CW
165112010-07-20 Colin Watson <cjwatson@ubuntu.com>
16512
16513 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
16514 implementation of this so that grub-emu links again, with a note
16515 that this should support hotplugging in the future.
16516
b26f1c11
CW
165172010-07-20 Colin Watson <cjwatson@ubuntu.com>
16518
16519 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16520
efc9d7f1
CW
165212010-07-20 Colin Watson <cjwatson@ubuntu.com>
16522
16523 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
16524 handle on failure.
16525 (grub_loopback_close): Remove empty function.
16526 (grub_loopback_dev): Remove close method.
16527
dd8ff5c9
CW
165282010-07-20 Colin Watson <cjwatson@ubuntu.com>
16529
16530 Disable EFI cursor when the EFI console becomes inactive.
16531
16532 * term/efi/console.c (grub_efi_console_init): New function.
16533 (grub_efi_console_fini): New function.
16534 (grub_console_term_output): Register init and fini methods.
16535
5e3bec67
VS
165362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * tests/util/grub-shell-tester.in: Remove bashism and declare as
16539 sh script.
16540
afaec079
VS
165412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 * disk/loopback.c (grub_loopback): Replace filename with file.
16544 (delete_loopback): Handle new semantics.
16545 (grub_cmd_loopback): Likewise.
16546 (grub_loopback_iterate): Likewise.
16547 (grub_loopback_close): Likewise.
16548
a6a11f3c
VS
165492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
16552 with -p "".
16553 Reported by: Tito Keitel.
16554
64a638b0
VS
165552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * docs/grub.texi (Naming convention): Document new naming convention.
16558
ab8ba957
VS
165592010-07-20 Vadim Solomin <vadic052@gmail.com>
165602010-07-20 Colin Watson <cjwatson@ubuntu.com>
16561
16562 Generate device.map in something closer to the old ordering.
16563
16564 * util/deviceiter.c (struct device): New declaration.
16565 (compare_file_names): Rename to ...
16566 (compare_devices): ... this. Sort by kernel name in preference to
16567 the stable by-id name, but keep the latter as a fallback comparison.
16568 Update header comment.
16569 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
16570 of `struct device' rather than of plain file names.
16571
a29d6a4b
TF
165722010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
16573
16574 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
16575 on i386.
16576
39d824e8
VS
165772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16578
16579 * commands/acpi.c (setup_common_tables): Use sizeof instead of
16580 hardcoding size.
16581 (setv1table): Likewise.
16582
f058276b
FZ
165832010-07-20 Colin Watson <cjwatson@ubuntu.com>
16584
16585 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
16586 removing the homehost if present.
16587 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
16588 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
16589 removing the homehost if present.
16590 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
16591 if possible.
16592 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16593
16594 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16595 parameter. Set its pointer target to 0.
16596 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16597 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16598 `data_offset' value from the superblock for 1.x metadata.
16599 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16600 data on the device.
16601 (insert_array): Record the start sector of data on the device.
16602 (grub_raid_register): Pass start_sector parameters to
16603 grub_raid_list->detect and insert_array.
16604 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16605 member.
16606 (struct grub_raid): Add start_sector parameter to `detect'.
16607
16608 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16609 __attribute__ ((packed)), leaving a comment.
16610 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16611 (grub_mdraid_detect_09): ... here and ...
16612 (grub_mdraid_detect_1x): ... here.
16613
166142010-07-20 Peter Henn <peter.henn@web.de>
16615
16616 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16617 chunk size and disk size, which are already given as sector counts
16618 as distinct from the 0.90 units. Fetch the correct device number
16619 from the role table instead of using the table index.
16620
166212010-07-20 Felix Zielcke <fzielcke@z-51.de>
16622
16623 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16624 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16625 (WriteMostly1): New macro.
16626 Set array->name to NULL for metadata format 0.90. Add support for
16627 metadata 1.x. Fix some comments.
16628 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16629 few comments.
16630 * util/getroot.c (grub_util_get_grub_dev): Add support for
16631 /dev/md/name style devices.
16632
4b761da9
CW
166332010-07-20 Colin Watson <cjwatson@ubuntu.com>
16634
16635 * .bzrignore: Ignore 20_linux_xen.
16636
5771289a
CW
166372010-07-17 Colin Watson <cjwatson@ubuntu.com>
16638
16639 * util/import_unicode.py: Remove unnecessary imports.
16640
5dab68df
AN
166412010-07-17 Aleš Nesrsta <starous@volny.cz>
16642
16643 Hotplugging and USB hub support.
16644
16645 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16646 (grub_ohci): Likewise.
16647 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16648 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16649 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16650 (GRUB_OHCI_CTRL_EDS): Likewise.
16651 (GRUB_OHCI_BULK_EDS): Likewise.
16652 (GRUB_OHCI_TDS): Likewise.
16653 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16654 (grub_ohci_ed_phys2virt): New function.
16655 (grub_ohci_virt_to_phys): Likewise.
16656 (grub_ohci_td_phys2virt): Likewise.
16657 (grub_ohci_td_virt2phys): Likewise.
16658 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16659 attachment.
16660 (grub_ohci_find_ed): New function.
16661 (grub_ohci_alloc_td): Likewise.
16662 (grub_ohci_free_td): Likewise.
16663 (grub_ohci_free_tds): Likewise.
16664 (grub_ohci_transfer): Use previously allocated memory.
16665 (grub_ohci_portstatus): Reset status changed bit.
16666 (grub_ohci_detect_dev): Supply status changed.
16667 (grub_ohci_fini_hw): Free memory.
16668 (grub_ohci_restore_hw): Reallocate memory.
16669 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16670 Reset status change.
16671 (grub_uhci_detect_dev): Supply status_change.
16672 * bus/usb/usb.c (attach_hooks): New var.
16673 (grub_usb_device_attach): New function.
16674 (grub_usb_register_attach_hook_class): Likewise.
16675 (grub_usb_unregister_attach_hook_class): Likewise.
16676 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16677 (grub_usb_add_hub): Reset connection changed bit.
16678 (attach_root_port): New function.
16679 (grub_usb_root_hub): Likewise.
16680 (poll_nonroot_hub): Likewise.
16681 (grub_usb_poll_devices): Likewise.
16682 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16683 * disk/usbms.c (grub_usbms_open): Use device hooks.
16684 (grub_usbms_iterate) :Poll devices.
16685 (grub_usbms_finddevs): Split into ...
16686 (grub_usbms_attach): ... this ...
16687 (grub_usbms_attach): ... and this.
16688 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16689 in detect_dev.
16690 (grub_usb_interface): New fields attached and detach_hook.
16691 (grub_usb_attach_hook_class): New type.
16692 (grub_usb_attach_desc): New struct.
16693 (grub_usb_register_attach_hook_class): New function.
16694 (grub_usb_unregister_attach_hook_class): Likewise.
16695 (grub_usb_poll_devices): Likewise.
16696 (grub_usb_device_attach): Likewise.
16697 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16698 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16699
3222efaf
VS
167002010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16703 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16704 delta determination style. Works with most NetBSD partitions too.
16705
139b714a
VS
167062010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16707
16708 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16709 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16710
986aad56
VS
167112010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16714
99be513c
AB
167152010-07-14 Anton Blanchard <anton@samba.org>
16716
16717 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16718 ET_DYN files.
16719
18075f62
GS
167202010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16721
16722 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16723
8d9a5b15
GS
167242010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16725
16726 * kern/partition.c (grub_partition_check_containment): New function to
16727 check that a partition is physically contained in a parent. Since
16728 offsets are relative (and non-negative), this reduces to checking that
16729 the partition ends before its parent.
16730 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16731 (grub_partition_iterate): Likewise.
16732 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16733 comments.
16734 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16735 partitions that start before their parent, and add debug printfs.
16736
19563c25
CW
167372010-07-13 Colin Watson <cjwatson@ubuntu.com>
16738
16739 * Makefile.in (.SUFFIX): Spell correctly, as ...
16740 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16741 bare module name without `.mod', e.g. `test') tried to invoke a
16742 Modula-2 compiler.
16743
1a1f1e67
CW
167442010-07-13 Colin Watson <cjwatson@ubuntu.com>
16745
16746 * README: Point to the Info manual.
16747
811b0dca
JS
167482010-07-13 Jiro SEKIBA <jir@unicus.jp>
16749
16750 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16751 2nd superblock position from partition size.
16752
e4f4eafc
CW
167532010-07-10 Colin Watson <cjwatson@ubuntu.com>
16754
16755 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16756 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16757 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16758 outputs.
16759
4274c30f
VS
167602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 Restructure SCSI .id handling.
16763 Reported and tested by: Aleš Nesrsta.
16764
16765 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16766 (grub_atapi_dev): Changed .name to "ata". New field .id.
16767 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16768 (grub_usbms_dev): New field .id.
16769 * disk/scsi.c (grub_scsi_iterate): Generate name.
16770 (grub_scsi_open): Parse name.
16771 * include/grub/scsi.h (grub_make_scsi_id): New function.
16772 (grub_scsi_dev): Change iterate and open to number instead of naming
16773 busses. All users updated.
16774 (grub_scsi): Remove name. Add .bus.
16775
5bc24388
VS
167762010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 * commands/help.c (grub_cmd_help): Fix a typo.
16779
249975ba
VS
167802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16783 Reported and tested by: Colin Watson.
16784
3eaac1a1
VS
167852010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16788 in this context.
16789
becce1b1
VS
167902010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16793
f7bf0918
CW
167942010-07-07 Colin Watson <cjwatson@ubuntu.com>
16795
16796 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16797 indentation.
16798
0b0f9620
CW
167992010-07-06 Colin Watson <cjwatson@ubuntu.com>
16800
16801 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16802 and disk/raid6_recover.c.
16803 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16804 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16805
1e545469
CW
168062010-07-06 Colin Watson <cjwatson@ubuntu.com>
16807
16808 * term/gfxterm.c (repaint_schedulded): Rename to ...
16809 (repaint_scheduled): ... this. Update all callers.
16810 (repaint_was_schedulded): Rename to ...
16811 (repaint_was_scheduled): ... this. Update all callers.
16812
5357687a
CW
168132010-07-06 Colin Watson <cjwatson@ubuntu.com>
16814
16815 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16816 which we expect to be handled by upper layers.
16817
29d7e783
BC
168182010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16819
16820 * bus/usb/usbhub.c: #include time.h header.
16821
37582066
CW
168222010-07-06 Colin Watson <cjwatson@ubuntu.com>
16823
16824 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16825 entry_name also for entries without stat blocks (e.g. ".."); fixes
16826 corruption of the first entry in a directory.
16827
c8c06953
CW
168282010-07-06 Colin Watson <cjwatson@ubuntu.com>
16829
16830 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16831 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16832 doesn't work otherwise.
16833
e75056f1
CW
168342010-07-05 Colin Watson <cjwatson@ubuntu.com>
16835
16836 * docs/grub.texi (Features): Update list of supported file systems.
16837 (GNU/Linux): Update for GRUB 2.
16838 (Serial terminal): Remove mention of --disable-serial, which was a
16839 GRUB Legacy configure option. Update instructions to use
16840 `terminal_input' and `terminal_output' rather than `terminal'.
16841 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16842 configuration' and `Installing GRUB using grub-install'.
16843 (Menu entry editor): Update for GRUB 2.
16844 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16845 Document new -a, -u, and -v options.
16846 (initrd): New section.
16847 (initrd16): New section.
16848 (linux): New section.
16849 (linux16): New section.
16850 (search): The `var' argument to `--set' is optional.
16851 (GRUB only offers a rescue shell): Go into a little more detail on
16852 drive ordering.
16853
5cf69151
CW
168542010-07-05 Colin Watson <cjwatson@ubuntu.com>
16855
16856 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16857
e3f90044
CW
168582010-07-05 Colin Watson <cjwatson@ubuntu.com>
16859
16860 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16861 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16862
38d8f4f3
CW
168632010-07-05 Colin Watson <cjwatson@ubuntu.com>
16864
16865 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16866 install_prefix, in line with install_dos_part and install_bsd_part.
16867 Add new prefix variable, which is copied to install_prefix after
16868 comparing core.img in memory with the one read from disk in the
16869 no-embedding case, and use that rather than overwriting
16870 install_prefix immediately when installing to a partition.
16871 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16872 Bicakci.
16873
57ebd41e
GS
168742010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16875
16876 * configure.ac: Avoid == in test command, it's not portable.
16877 * util/grub.d/30_os-prober.in: Likewise.
16878
cb7f64b2
CW
168792010-07-04 Colin Watson <cjwatson@ubuntu.com>
16880
16881 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16882
6b654bb0
GS
168832010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16884
16885 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16886 multiple (top-level) partmaps.
16887
72a2026d
VS
168882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16889
16890 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16891 Reported by: Tino Keitel.
72a2026d 16892
df3eb88f
VS
168932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 Bidi and diacritics support.
16896
16897 * Makefile.in (widthspec.bin): New target.
16898 (widthspec.h): Likewise.
16899 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16900 * autogen.sh: Generate unidata.c.
16901 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16902 * commands/ls.c (grub_ls_list_devices): Likewise.
16903 (grub_ls_list_files): Likewise.
16904 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16905 (grub_mini_cmd_lsmod): Likewise.
16906 * commands/read.c: Likewise.
16907 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16908 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16909 * lib/arg.c (grub_arg_show_help): Likewise.
16910 * lib/crypto.c (grub_password_get): Likewise.
16911 * normal/auth.c (grub_username_get): Likewise.
16912 * normal/misc.c (grub_normal_print_device_info): Likewise.
16913 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16914 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16915 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16916 (normal/charset.c_DEPENDENCIES): New variable.
16917 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16918 (pkglib_MODULES): Remove charset.mod.
16919 (charset_mod_SOURCES): Removed.
16920 (charset_mod_CFLAGS): Likewise.
16921 (charset_mod_LDFLAGS): Likewise.
16922 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16923 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16924 and term/tparm.c.
16925 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16926 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16927 (kernel_img_HEADERS): Add terminfo.h.
16928 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16929 Fill ->font. Reverse ascii bitmaps.
16930 (grub_font_get_xheight): New function.
16931 * font/font.c (grub_font_get_string_width): Moved from here ...
16932 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16933 * font/font.c (grub_font_draw_string): Moved from here ...
16934 * gfxmenu/font.c (grub_font_draw_string): ... here.
16935 * font/font.c (grub_font_dup_glyph): New function.
16936 (grub_font_blit_glyph): Likewise.
16937 (grub_font_blit_glyph_mirror): Likewise.
16938 (blit_comb): Likewise.
16939 (grub_font_construct_dry_run): Likewise.
16940 (grub_font_get_constructed_device_width): Likewise.
16941 (grub_font_construct_glyph): Likewise.
16942 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16943 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16944 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16945 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16946 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16947 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16948 (grub_font_get_xheight): New proto.
16949 (grub_font_get_constructed_device_width): Likewise.
16950 (grub_font_construct_glyph): Likewise.
16951 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16952 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16953 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16954 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16955 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16956 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16957 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16958 (grub_console_getcharwidth): Likewise.
16959 * include/grub/misc.h (grub_xputs): New proto.
16960 (grub_puts): Inlined.
16961 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16962 (grub_normal_get_line_counter): Removed.
16963 (grub_install_newline_hook): Likewise.
16964 (grub_normal_get_char_counter): New proto.
16965 (grub_normal_reset_more): Likewise.
16966 (grub_xputs_normal): Likewise.
16967 * include/grub/powerpc/ieee1275/console.h: Removed.
16968 * include/grub/sparc64/ieee1275/console.h: Likewise.
16969 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16970 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16971 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16972 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16973 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16974 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16975 (grub_term_input): Pass reference to self. All users updated.
16976 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16977 Pass reference to self. New fields normal_color, highlight_color and
16978 data. All users updated.
16979 (grub_putchar): Removed.
16980 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16981 (grub_unicode_estimate_width): New function.
16982 (grub_term_getcharwidth): Add defaults.
16983 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16984 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16985 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16986 (grub_cls): Remove EXPORT_FUNC.
16987 (grub_setcolorstate): Inline.
16988 (grub_newline_hook): Removed.
16989 * include/grub/terminfo.h: Rewritten. All users updated.
16990 * include/grub/unicode.h: New file.
16991 * include/grub/video.h (grub_video_signed_rect): New type.
16992 * kern/emu/console.c (grub_console_highlight_color): Removed.
16993 (grub_console_normal_color): Likewise.
16994 (grub_console_standard_color): Made static.
16995 (grub_ncurses_putchar): Remove mapping.
16996 (grub_ncurses_getcharwidth): Removed.
16997 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16998 (grub_ncurses_setcolor): Removed.
16999 (grub_ncurses_getcolor): Likewise.
17000 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17001 (grub_console_putchar): ... this.
17002 (grub_console_putchar): Handle argument difference.
17003 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17004 console_init_early and console_init_lately.
17005 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17006 * kern/misc.c (grub_puts): Removed.
17007 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17008 (grub_vsnprintf_real): Remove str = NULL support.
17009 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17010 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17011 * kern/term.c (grub_putcode): Renamed to ...
17012 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17013 (grub_putchar): Removed.
17014 (grub_xputs_dumb): New function.
17015 (grub_xputs): New variable.
17016 * lib/charset.c: Move from here ...
17017 * normal/charset.c: ... to here.
17018 (grub_ucs4_to_utf8): New function.
17019 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17020 (join_types): New variable.
17021 (unpack_join): New function.
17022 (bidi_types): New variable.
17023 (unpack_bidi): New function.
17024 (get_bidi_type): Likewise.
17025 (get_join_type): Likewise.
17026 (is_mirrored): Likewise.
17027 (grub_unicode_get_comb_type): Likewise.
17028 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17029 (is_type_after): Likewise.
17030 (grub_unicode_aglomerate_comb): Likewise.
17031 (bidi_line_wrap): Likewise.
17032 (grub_bidi_line_logical_to_visual): Likewise.
17033 (grub_bidi_logical_to_visual): Likewise.
17034 (grub_unicode_mirror_code): Likewise.
17035 (grub_unicode_shape_code): Likewise.
17036 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17037 Don't use grub_putchar.
17038 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17039 (grub_normal_reader_init): Likewise.
17040 (grub_xputs_saved): New variable.
17041 (GRUB_MOD_INIT): Set grub_xputs.
17042 (GRUB_MOD_FINI): Restore grub_xputs.
17043 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17044 (menu_init): Avoid printing gfxmenu error.
17045 (show_menu): Use grub_normal_get_char_counter.
17046 * normal/menu_entry.c (update_screen): Fix out-of-array.
17047 (complete): Avoid NULL dereferencing.
17048 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17049 * normal/menu_text.c (print_spaces): Removed.
17050 (grub_print_ucs4): Likewise.
17051 (grub_print_message_indented): Use grub_print_ucs4.
17052 (print_message): Use grub_putcode.
17053 (print_entry): Hanlde diacritics.
17054 * normal/term.c (term_state): New type.
17055 (grub_more_lines): Removed.
17056 (term_states): New variable.
17057 (grub_normal_line_counter): Renamed to ..
17058 (grub_normal_char_counter): ...this. All users updated.
17059 (grub_normal_get_line_counter): Renamed to ...
17060 (grub_normal_get_char_counter): ... this.
17061 (grub_normal_reset_more): New function.
17062 (process_newline): Removed.
17063 (print_more): New function.
17064 (grub_install_newline_hook): Removed.
17065 (map_code): New function.
17066 (grub_puts_terminal): Use grub_print_ucs4.
17067 (putglyph): New function.
17068 (putcode_real): Likewise.
17069 (grub_putcode): Use putcode_real.
17070 (get_maxwidth): New function.
17071 (get_startwidth): Likewise.
17072 (print_ucs4_terminal): Likewise.
17073 (find_term_state): Likewise.
17074 (put_glyphs_terminal): Likewise.
17075 (print_backlog): Likewise.
17076 (print_ucs4_real): Likewise.
17077 (grub_print_ucs4): Likewise.
17078 (grub_xputs_normal): Likewise.
17079 * term/efi/console.c (grub_console_putchar): Output diacritics.
17080 (grub_console_getcharwidth): Removed.
17081 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17082 * term/gfxterm.c (clear_char): Free chars.
17083 (scroll_up): Avoid leaking memory.
17084 (grub_gfxterm_putchar): Support diacritics.
17085 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17086 * term/i386/pc/console.c (grub_console_term_output): Declare as
17087 GRUB_TERM_CODE_TYPE_VGA.
17088 * term/i386/pc/vga.c (grub_vga_term): Declare as
17089 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17090 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17091 GRUB_TERM_CODE_TYPE_VGA.
17092 * term/i386/vga_common.c (map_char): Removed.
17093 (grub_console_putchar): Likewise.
17094 (grub_console_getcharwidth): Likewise.
17095 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17096 (colors): Reordered to match terminfo.
17097 (grub_ofconsole_normal_color): Removed.
17098 (grub_ofconsole_writeesc): Likewise.
17099 (grub_ofconsole_highlight_color): Likewise.
17100 (grub_ofconsole_getcharwidth): Likewise.
17101 (grub_ofconsole_setcolorstate): Likewise.
17102 (grub_ofconsole_setcolor): Likewise.
17103 (grub_ofconsole_getcolor): Likewise.
17104 (grub_ofconsole_readkey): Renamed to ...
17105 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17106 key.
17107 (grub_ofconsole_checkkey): Removed.
17108 (grub_ofconsole_getkey): Likewise.
17109 (grub_ofconsole_getxy): Likewise.
17110 (grub_ofconsole_gotoxy): Likewise.
17111 (grub_ofconsole_cls): Likewise.
17112 (grub_ofconsole_refresh): Likewise.
17113 (grub_ofconsole_terminfo_input): New struct.
17114 (grub_ofconsole_terminfo_output): Likewise.
17115 (grub_ofconsole_term_input): Use terminfo.
17116 (grub_ofconsole_term_output): Likewise.
17117 (grub_console_init): Split into ...
17118 (grub_console_init_early): ...this and ...
17119 (grub_console_init_lately): ...this. Use terminfo.
17120 (grub_ofconsole_putchar): Renamed to ...
17121 (put): ... this. Remove mapping.
17122 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17123 * term/serial.c: Simplify using terminfo.
17124 (xpos): Removed.
17125 (ypos): Likewise.
17126 (keep_track): Likewise.
17127 (registered): Likewise.
17128 (input_buf): Likewise.
17129 (npending): Likewise.
17130 (serial_translate_key_sequence): Likewise.
17131 (fill_input_buf): Likewise.
17132 (grub_serial_checkkey): Likewise.
17133 (grub_serial_getkey): Likewise.
17134 (grub_serial_getxy): Likewise.
17135 (grub_serial_gotoxy): Likewise.
17136 (grub_serial_putchar): Likewise.
17137 (grub_serial_cls): Likewise.
17138 (grub_serial_setcolorstate): Likewise.
17139 (grub_serial_setcursor): Likewise.
17140 (serial_hw_init): Use serial_hw_fetch.
17141 (grub_serial_terminfo_input): New variable.
17142 (grub_serial_terminfo_output): Likewise.
17143 (grub_serial_term_input): Use terminfo.
17144 (grub_serial_term_output): Likewise.
17145 * term/terminfo.c (putstr): Use put.
17146 (grub_terminfo_all_free): New function
17147 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17148 (grub_terminfo_output_register): New function.
17149 (grub_terminfo_output_unregister): Likewise.
17150 (grub_terminfo_getxy): Likewise.
17151 (grub_terminfo_readkey): Likewise.
17152 (grub_terminfo_checkkey): Likewise.
17153 (grub_terminfo_getkey): Likewise.
17154 (grub_terminfo_input_init): Likewise.
17155 (print_terminfo): Likewise.
17156 (grub_cmd_terminfo): Handle encoding.
17157 (grub_terminfo_gotoxy): Track position.
17158 (grub_terminfo_cls): Likewise.
17159 (grub_terminfo_putchar): Likewise.
17160 (grub_terminfo_setcolorstate): Handle colors
17161 (grub_terminfo_cursor_on): This ...
17162 (grub_terminfo_cursor_off): ... and this merged into ...
17163 (grub_terminfo_setcursor): ... this.
17164 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17165 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17166 * unicode/BidiMirroring.txt: Likewise.
17167 * unicode/UnicodeData.txt: Likewise.
17168 * unicode/COPYING: Likewise.
17169 * util/grub-editenv.c (grub_putchar): Removed.
17170 (grub_xputs_real): New function.
17171 (grub_xputs): New variable.
17172 * util/grub-fstest.c (grub_putchar): Removed.
17173 (grub_xputs_real): New function.
17174 (grub_xputs): New variable.
17175 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17176 (grub_xputs_real): New function.
17177 (grub_xputs): New variable.
17178 * util/grub-probe.c (grub_putchar): Removed.
17179 (grub_xputs_real): New function.
17180 (grub_xputs): New variable.
17181 * util/grub-script-check.c (grub_putchar): Removed.
17182 (grub_xputs_real): New function.
17183 (grub_xputs): New variable.
17184 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17185 (grub_xputs_real): New function.
17186 (grub_xputs): New variable.
17187 * util/import_unicode.py: New file.
17188 * util/grub-mkfont.c (ft_errmsgs): New array.
17189 (grub_glyph_info): Make bitmap a pointer.
17190 (file_formats): New type WIDTH_SPEC.
17191 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17192 (options): Add width-spec.
17193 (help): Likewise.
17194 (add_char): Renamed to ...
17195 (add_glyph): ... this.
17196 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17197 (glyph_replace): New type.
17198 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17199 (add_char): New function.
17200 (add_subst): Likewise.
17201 (process_cursive): Likewise.
17202 (add_font): Handle GSUB.
17203 (write_font_width_spec): New function.
17204 (main): Sort glyphs.
17205 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17206 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17207 * kern/term.c (grub_cls): Moved from here...
17208 * normal/term.c (grub_cls): ... here.
17209
50f0bcda
CW
172102010-07-02 Colin Watson <cjwatson@ubuntu.com>
17211
17212 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17213 suitable for using within the format argument of printf when
17214 converting grub_size_t.
17215 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17216 "x" to convert grub_size_t arguments.
17217
40372103
VS
172182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17219
17220 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17221 too long captions.
17222 (list_get_minimal_size): Take selection box into account.
17223
942a10c7
VS
172242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17225
17226 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
17227 NULL font.
17228
2bdb2892
CW
172292010-07-02 Colin Watson <cjwatson@ubuntu.com>
17230
17231 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
17232 devices when iterating over /dev/disk/by-id; they will be handled
17233 later if appropriate, which they aren't always (e.g. LVM).
17234
e03ed6c1
CW
172352010-07-02 Colin Watson <cjwatson@ubuntu.com>
17236
17237 * include/grub/misc.h (grub_reboot): Declare as noreturn.
17238 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
17239 fails.
17240 (grub_halt): Likewise.
17241 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
17242 reset-all fails.
17243 (grub_halt): Don't return, even if all of shut-down, power-off, and
17244 poweroff fail.
17245
47695765
CW
172462010-07-02 Colin Watson <cjwatson@ubuntu.com>
17247
17248 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
17249 arguments, not three.
17250
507736c8
CW
172512010-07-02 Colin Watson <cjwatson@ubuntu.com>
17252
17253 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
17254 * util/grub.d/10_linux.in: Use it to check for LVM, so that
17255 LVM-on-RAID is handled correctly.
17256
e3c8cd37
CW
172572010-07-02 Colin Watson <cjwatson@ubuntu.com>
17258
17259 * docs/grub.texi (Changes from GRUB Legacy): New section.
17260 (Future): Fix typo.
17261
8d4a2fec
CW
172622010-07-02 Colin Watson <cjwatson@ubuntu.com>
17263
17264 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
17265 grub.d/README accidentally ends up executable for one reason or
17266 another. Ignore it.
17267
1c4827be
VS
172682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
17271 (gpt_partition_map_iterate): Support non-512B sectors.
17272
d9a0c941
VS
172732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 * kern/efi/init.c (grub_efi_init): Disable watchdog.
17276 Tested by: Seth Goldberg.
17277
48f27e87
VS
172782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
17281 Properly align mbi.
17282 Reported by: Seth Goldberg.
17283
b0c4f956
VS
172842010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 * util/grub-mkrescue.in: Avoid module duplication.
17287
105a2e8c
SF
172882010-07-01 Sean Finney <seanius@seanius.net>
17289
17290 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
17291
5944958c
SF
172922010-07-01 Sean Finney <seanius@seanius.net>
17293
17294 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
17295
172962010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * disk/lvm.c (grub_lvm_checkvalue): New function.
17299 (grub_lvm_check_flag): Likewise.
17300
b79889ba
RM
173012010-07-01 Robert Millan <rmh@gnu.org>
17302
17303 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
17304 Support 'p' as partition separator on kernel of FreeBSD (used
17305 with GPT labels).
17306 (grub_util_biosdisk_get_grub_dev): Likewise.
17307
ec1d04f1
VS
173082010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 Yeeloong firmware port.
17311
17312 * boot/mips/yeeloong/fwstart.S: New file.
17313 * bus/cs5536.c (gpiodump): New const.
17314 (set_io_space): New function.
17315 (set_iod): Likewise.
17316 (set_p2d): Likewise.
17317 (grub_cs5536_init_geode): Likewise.
17318 * commands/mips/yeeloong/lsspd.c: New file.
17319 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
17320 (serial_mod_SOURCES): New variable.
17321 (serial_mod_CFLAGS): Likewise.
17322 (serial_mod_LDFLAGS): Likewise.
17323 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
17324 term/terminfo.c and term/tparm.c.
17325 (pkglib_IMAGES): Add fwstart.img.
17326 (fwstart_img_SOURCES): New variable.
17327 (fwstart_img_CFLAGS): Likewise.
17328 (fwstart_img_ASFLAGS): Likewise.
17329 (fwstart_img_LDFLAGS): Likewise.
17330 (fwstart_img_FORMAT): Likewise.
17331 (pkglib_MODULES): Add lsspd.mod.
17332 (lsspd_mod_SOURCES): New variable.
17333 (lsspd_mod_CFLAGS): Likewise.
17334 (lsspd_mod_LDFLAGS): Likewise.
17335 (pkglib_MODULES): Add halt.mod.
17336 (halt_mod_SOURCES): New variable.
17337 (halt_mod_CFLAGS): Likewise.
17338 (halt_mod_LDFLAGS): Likewise.
17339 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
17340 (serial_mod_SOURCES): Removed.
17341 (serial_mod_CFLAGS): Likewise.
17342 (serial_mod_LDFLAGS): Likewise.
17343 * disk/ata.c (check_device): New function.
17344 (grub_ata_device_initialize): Use check_device.
17345 (grub_ata_iterate): Recheck devices.
17346 (grub_ata_open): Likewise.
17347 (grub_atapi_iterate): Likewise.
17348 (grub_atapi_open): Likewise.
17349 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
17350 (GRUB_ATA_CH1_PORT1): Likewise.
17351 (GRUB_ATA_CH0_PORT2): Likewise.
17352 (GRUB_ATA_CH1_PORT2): Likewise.
17353 * include/grub/mips/loongson.h: New file.
17354 * include/grub/mips/yeeloong/ec.h: Likewise.
17355 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
17356 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
17357 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
17358 * include/grub/misc.h (grub_halt): Declare as noreturn.
17359 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
17360 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
17361 (UART_ENABLE_FIFO_TRIGGER1): New definition.
17362 (UART_ENABLE_DTRRTS): Likewise.
17363 (UART_ENABLE_MODEM): Removed.
17364 (UART_ENABLE_OUT2): New const.
17365 * include/grub/term.h (grub_term_register_input_active): New function.
17366 (grub_term_register_output_active): Likewise.
17367 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
17368 argument.
17369 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
17370 (init_pci): New function.
17371 (grub_machine_init): Execute platform init when firmware. Init serial.
17372 (grub_halt): Implement.
17373 (grub_exit): Likewise.
17374 (grub_reboot): Likewise.
17375 * term/serial.c (serial_hw_init): Update macros.
17376 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
17377 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
17378 (image_targets): New target mipsel-yeeloong-flash.
17379 (generate_image): Support IMAGE_YEELOONG_FLASH.
17380 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
17381 (grub_video_sm712_setup): Init card.
17382 (grub_video_sm712_set_palette): Removed.
17383 * video/sm712_init.c: New file.
17384
ff4a70d2
CW
173852010-06-30 Colin Watson <cjwatson@ubuntu.com>
17386
17387 * Makefile.in (install-local): Temporarily prepend $(builddir) to
17388 PATH when running help2man and then run it on the unadorned
17389 executable names, rather than passing $(builddir)/* paths to
17390 help2man. This avoids the build directory ending up in generated
17391 manual pages.
17392
1246efeb
CW
173932010-06-29 Colin Watson <cjwatson@ubuntu.com>
17394
17395 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
17396 to avoid accidents when debugging with 'sh -x'.
17397 * util/grub-mkrescue.in: Likewise.
17398 * util/grub.d/00_header.in: Likewise.
17399 * util/grub.d/10_hurd.in: Likewise.
17400 * util/grub.d/10_kfreebsd.in: Likewise.
17401 * util/grub.d/10_linux.in: Likewise.
17402 * util/grub.d/10_netbsd.in: Likewise.
17403 * util/grub.d/10_windows.in: Likewise.
17404 * util/grub.d/20_linux_xen.in: Likewise.
17405 * util/grub.d/30_os-prober.in: Likewise.
17406 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17407
1ba9b889
CW
174082010-06-29 Colin Watson <cjwatson@ubuntu.com>
17409
17410 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
17411 last character in the buffer.
17412 Reported by: Vladimir Serbinenko.
17413
dccaf99d
RM
174142010-06-29 Robert Millan <rmh@gnu.org>
17415
17416 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
17417 (Command-line and menu entry commands): Document `badram' command.
17418
d500ed12
RM
174192010-06-28 Robert Millan <rmh@gnu.org>
17420
17421 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
17422 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
17423 command using ${GRUB_BADRAM} as parameter.
17424
20bc84a6
CW
174252010-06-28 Colin Watson <cjwatson@ubuntu.com>
17426
17427 * docs/grub.texi (Device map): New section.
17428 (Themes): New section (stub).
17429 * Makefile.in (docs/grub.info): The info documentation now builds
17430 without errors. Make sure it stays that way.
17431
4045dee1
VS
174322010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 Use normal parser for menu entries.
17435 Reported by: Thomas Frauendorfer
17436
17437 * include/grub/parser.h (grub_parser_execute): Don't export.
17438 * normal/menu.c (grub_menu_execute_entry_real): New function.
17439 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
17440
bca58c7b
CW
174412010-06-28 Colin Watson <cjwatson@ubuntu.com>
17442
17443 * docs/grub.texi (Embedded configuration): New section (replacing
17444 old "Preset Menu" stub).
17445 (Images): New section.
17446 (configfile): Note that any menu entries defined in `file' are shown
17447 immediately.
17448
dec53e63
JT
174492010-06-28 Josh Triplett <josh@joshtriplett.org>
17450
17451 * mmap/i386/pc/mmap_helper.S: Set CF on return.
17452
c06e40f7
CW
174532010-06-28 Colin Watson <cjwatson@ubuntu.com>
17454
17455 * util/grub-install.in: Add --debug-image= option.
17456
cb88052b
CW
174572010-06-28 Colin Watson <cjwatson@ubuntu.com>
17458
17459 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
17460 possible on Linux.
17461
17462 * util/deviceiter.c (check_device): Rename to ...
17463 (check_device_readable_unique): ... this. Update all callers.
17464 Maintain and check a list of which devices (by canonicalized name)
17465 have already been seen.
17466 (clear_seen_devices): New function.
17467 (compare_file_names) [__linux__]: New function.
17468 (grub_util_iterate_devices): Clear the list of seen devices on exit
17469 and (just in case) on entry.
17470 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
17471 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
17472 seen-devices list, superseded by general code in check_device.
17473
bbe34652
CW
174742010-06-28 Colin Watson <cjwatson@ubuntu.com>
17475
17476 * commands/cat.c (options): New variable.
17477 (grub_cmd_cat): Parse options. If the --dos option is given, print
17478 DOS-style "\r\n" line endings as simple newlines (Debian bug
17479 #586358).
17480 (GRUB_MOD_INIT): Use extcmd.
17481 (GRUB_MOD_FINI): Likewise.
17482 * docs/grub.texi (cat): Document --dos.
17483
412e09f3
VS
174842010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 XEN with Linux grub-mkconfig support.
17487
17488 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
17489 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
17490 GRUB_CMDLINE_XEN_DEFAULT.
17491 * util/grub.d/20_linux_xen.in: New file.
17492
53f3ef38 174932010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
17494
17495 Initialise VGA video on qemu ourselves.
17496
17497 * boot/i386/qemu/boot.S: Don't call 0xc000.
17498 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
17499 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
17500 (kernel_img_HEADERS): Add pci.h.
17501 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
17502 * configure.ac: Force unifont on qemu and yeeloong.
17503 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
17504 (grub_vga_palette_write): Use correct register.
17505 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
17506 Call grub_qemu_init_cirrus.
17507 * kern/i386/qemu/init.c: New file.
17508 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
17509
17510 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
17511
c75be4fb
PR
175122010-06-26 Pavel Roskin <proski@gnu.org>
17513
17514 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
17515 13.
17516
d8034603
CW
175172010-06-26 Colin Watson <cjwatson@ubuntu.com>
17518
17519 * docs/grub.texi (Simple configuration): Explain that
17520 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
17521 set to `true' to disable their respective recovery entries, not
17522 merely set.
17523
3fa06487
CW
175242010-06-26 Colin Watson <cjwatson@ubuntu.com>
17525
17526 Make the `source' command slightly faster.
17527
17528 * normal/main.c (grub_normal_execute): Don't re-read list files when
17529 nested.
17530
e9b29642
CW
175312010-06-23 Colin Watson <cjwatson@ubuntu.com>
17532
17533 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
17534 field position and mask size to red fields from mode_info, not
17535 green.
17536 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
17537 Remove redundant tag->common.framebuffer_type assignment.
17538 Reported by: Seth Goldberg.
17539
e726542f
CW
175402010-06-23 Colin Watson <cjwatson@ubuntu.com>
17541
17542 Sync up other versions of the Linux loader with Robert Millan's
17543 change of 2010-01-09, "Make loader output a bit more user-friendly".
17544
17545 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
17546 grub_dprintf().
17547 (grub_cmd_linux): Likewise.
17548 (grub_cmd_initrd): Likewise.
17549 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
17550 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17551
d6e98a17
CW
175522010-06-21 Colin Watson <cjwatson@ubuntu.com>
17553
17554 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
17555 larger than MEMORY_MAP_SIZE.
17556
14d3f08e
BC
175572010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
17558
17559 Fix parallel build.
17560
17561 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
17562 dependency.
17563 * script/parser.y: #include grub_script.tab.h header.
17564
4f9613a3
VS
175652010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 Support >3GiB and <16MiB RAM in i386-qemu.
17568
17569 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
17570 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
17571 (grub_lower_mem): Removed.
17572 (grub_upper_mem): Likewise.
17573 (mem_size): Made static.
17574 (above_4g): New variable.
17575 (grub_machine_mmap_init): Detect small mem_size and above_4g.
17576 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
17577 support.
17578
05e51879
VS
175792010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 Cirrus 5446 and Bochs video cards support.
17582
17583 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
17584 video_bochs.mod
17585 (video_cirrus_mod_SOURCES): New variable.
17586 (video_cirrus_mod_CFLAGS): Likewise.
17587 (video_cirrus_mod_LDFLAGS): Likewise.
17588 (video_bochs_mod_SOURCES): Likewise.
17589 (video_bochs_mod_CFLAGS): Likewise.
17590 (video_bochs_mod_LDFLAGS): Likewise.
17591 * include/grub/vga.h: New file.
17592 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17593 (grub_video_fb_set_page_t): New type.
17594 (grub_video_fb_setup): New prototype.
17595 (grub_video_fb_swap_buffers): Likewise.
17596 (grub_video_fb_get_info_and_fini): Likewise.
17597 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17598 (CRTC_DATA_PORT): Likewise.
17599 (CRTC_CURSOR): Likewise.
17600 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17601 (CRTC_CURSOR_ADDR_LOW): Likewise.
17602 (CRTC_CURSOR_DISABLE): Likewise.
17603 (update_cursor): Use grub_vga_cr_write.
17604 (grub_vga_text_setcursor): Likewise.
17605 * video/bochs.c: New file.
17606 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17607 (palette): Likewise.
17608 (palette_size): Likewise.
17609 (framebuffer): New variable.
17610 (grub_video_fb_init): Use 'framebuffer'.
17611 (grub_video_fb_fini): Likewise.
17612 (grub_video_fb_get_info): Likewise.
17613 (grub_video_fb_get_palette): Likewise.
17614 (grub_video_fb_set_palette): Likewise.
17615 (grub_video_fb_set_viewport): Likewise.
17616 (grub_video_fb_get_viewport): Likewise.
17617 (grub_video_fb_map_color): Likewise.
17618 (grub_video_fb_map_rgb): Likewise.
17619 (grub_video_fb_map_rgba): Likewise.
17620 (grub_video_fb_unmap_color): Likewise.
17621 (grub_video_fb_unmap_color_int): Likewise.
17622 (grub_video_fb_fill_rect): Likewise.
17623 (grub_video_fb_blit_bitmap): Likewise.
17624 (grub_video_fb_blit_render_target): Likewise.
17625 (grub_video_fb_scroll): Likewise.
17626 (grub_video_fb_create_render_target): Likewise.
17627 (grub_video_fb_doublebuf_blit_init): Likewise.
17628 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17629 (doublebuf_pageflipping_update_screen): New function.
17630 (doublebuf_pageflipping_init): Likewise.
17631 (grub_video_fb_setup): Likewise.
17632 (grub_video_fb_swap_buffers): Likewise.
17633 (grub_video_fb_get_info_and_fini): Likewise.
17634 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17635 All users updated.
17636 (doublebuf_pageflipping_commit): Restructured into ...
17637 (doublebuf_pageflipping_set_page): ... this.
17638 (doublebuf_pageflipping_update_screen): Removed.
17639 (doublebuf_pageflipping_init): Likewise.
17640 (double_buffering_init): Likewise.
17641 (grub_video_vbe_setup): Use grub_video_fb_setup.
17642 (grub_video_vbe_swap_buffers): Removed.
17643 (grub_video_vbe_set_active_render_target): Likewise.
17644 (grub_video_vbe_get_active_render_target): Likewise.
17645 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17646 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17647 grub_video_fb_set_active_render_target and
17648 grub_video_fb_get_active_render_target.
17649 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17650 (SEQUENCER_DATA_PORT): Likewise.
17651 (MAP_MASK_REGISTER): Likewise.
17652 (CRTC_ADDR_PORT): Likewise.
17653 (CRTC_DATA_PORT): Likewise.
17654 (START_ADDR_HIGH_REGISTER): Likewise.
17655 (START_ADDR_LOW_REGISTER): Likewise.
17656 (GRAPHICS_ADDR_PORT): Likewise.
17657 (GRAPHICS_DATA_PORT): Likewise.
17658 (READ_MAP_REGISTER): Likewise.
17659 (INPUT_STATUS1_REGISTER): Likewise.
17660 (INPUT_STATUS1_VERTR_BIT): Likewise.
17661 (get_map_mask): Use grub_vga_sr_read.
17662 (set_map_mask): Use grub_vga_sr_write.
17663 (set_read_map): Use grub_vga_gr_write.
17664 (set_start_address): Use grub_vga_cr_write.
17665 * video/sm712.c (framebuffer): Remove leftover fields.
17666
4321c64a
CW
176672010-06-20 Colin Watson <cjwatson@ubuntu.com>
17668
17669 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17670 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17671 instead. Replace the gfxterm backend check with a check that
17672 ${GRUB_PREFIX}/video.lst is non-empty.
17673 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17674 again.
17675 (load_video): New generated function. Call it before loading
17676 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17677 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17678 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17679 * docs/grub.texi (Simple configuration): Document
17680 GRUB_VIDEO_BACKEND.
17681
176822010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 Use video functions in linux and xnu loaders.
17685
17686 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17687 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17688 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17689 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17690 loader/i386/pc/linux.c.
17691 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17692 (find_line_len): Removed.
17693 (find_framebuf): Likewise.
17694 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17695 * loader/i386/efi/xnu.c: Removed.
17696 * loader/i386/pc/xnu.c: Moved from here...
17697 * loader/i386/xnu.c: ...here.
17698
17699 Enable priorities in video drivers.
17700
17701 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17702 (grub_video_adapter): New field prio.
17703 (grub_video_register): Respect prio when inserting.
17704 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17705 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17706 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17707 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17708 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17709 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17710 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17711
17712 Fix SDL driver ID.
17713
17714 * include/grub/video.h (grub_video_driver_id_t): New value
17715 GRUB_VIDEO_DRIVER_SDL.
17716 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17717
7d24e434
CW
177182010-06-17 Colin Watson <cjwatson@ubuntu.com>
17719
17720 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17721 argument to printf.
17722 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17723
c88a83f6
CW
177242010-06-17 Colin Watson <cjwatson@ubuntu.com>
17725
17726 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17727 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17728
094dfb69
CW
177292010-06-17 Colin Watson <cjwatson@ubuntu.com>
17730
17731 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17732 directly, and recommend grub-install instead.
17733 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17734
2164da6b
CW
177352010-06-17 Colin Watson <cjwatson@ubuntu.com>
17736
17737 Fix i386-pc prefix handling with nested partitions (Debian bug
17738 #585068). Note that the case where the core image is booted using
17739 multiboot and relocated from its original location still requires
17740 more work.
17741
17742 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17743 with "(,", fill the boot drive in between those two characters, but
17744 expect that a full partition specification including partition map
17745 names will follow.
17746 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17747 specified, write a prefix without the drive name but including a
17748 full partition specification.
17749
044e2e60
CW
177502010-06-16 Colin Watson <cjwatson@ubuntu.com>
17751
17752 * util/grub-mkconfig.in: Ignore non-option arguments, for
17753 compatibility with older versions (before 2010-06-12) which did the
17754 same. In particular, this makes it easier to ship an update-grub
17755 wrapper which is compatible with that used with GRUB Legacy (Debian
17756 bug #586056).
17757
5591324f
GS
177582010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17759
17760 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17761 for manual page generation.
17762
662e24d5
GS
177632010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17764
17765 * po/POTFILES: Remove leftover commands/handler.c.
17766
8d70754e
CW
177672010-06-14 Colin Watson <cjwatson@ubuntu.com>
17768
17769 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17770 left this script non-functional.
17771
41160e2e
CW
177722010-06-14 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * docs/man/grub-emu.h2m: New file.
17775
b5309cc1
CW
177762010-06-13 Colin Watson <cjwatson@ubuntu.com>
17777
17778 * docs/grub.texi (Commands): Document reduced command set in rescue
17779 mode.
17780 (cpuid): New section.
17781
fcb2d090
GS
177822010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17783
17784 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17785 new partition naming style.
17786 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17787
96e5c556
BC
177882010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17789
17790 Add "-o grub.iso" like cmdline options support.
17791
17792 * util/grub-install.in: Improve cmdline option parsing.
17793 * util/grub-mkconfig.in: Likewise.
17794 * util/grub-mkrescue.in: Likewise.
17795 * util/grub-reboot.in: Likewise.
17796 * util/grub-set-default.in: Likewise.
17797 * util/i386/efi/grub-install.in: Likewise.
17798 * util/ieee1275/grub-install.in: Likewise.
17799 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17800
c16be99b
CW
178012010-06-12 Colin Watson <cjwatson@ubuntu.com>
17802
17803 * .bzrignore: Ignore 41_custom.
17804
ce08a9fb
TS
178052010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17806
17807 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17808
7beac90c
CW
178092010-06-12 Colin Watson <cjwatson@ubuntu.com>
17810
17811 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17812 prototype declarations.
17813
17814 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17815 generating fs, partmap, and video lists.
17816 * include/grub/fs.h (grub_fs_register): Omit prototype if
17817 GRUB_LST_GENERATOR is defined.
17818 * include/grub/partition.h (grub_partition_map_register): Likewise.
17819 * include/grub/video.h (grub_video_register): Likewise.
17820
1c8f0f8d
JM
178212010-06-12 Javier Martín <lordhabbit@gmail.com>
17822
17823 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17824
a6085973
TS
178252010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17826
17827 * util/grub-mkrescue.in: Support --xorriso argument.
17828
25c56d29
VS
178292010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17832 Suggested by: Thomas Schmitt.
17833
e03e4b24
VS
178342010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17837 Suggested by: Thomas Schmitt.
17838
57711df6
VS
178392010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 custom.cfg support.
17842
17843 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17844 * util/grub.d/41_custom.in: New file.
17845
ee62c427
CW
178462010-06-12 Colin Watson <cjwatson@ubuntu.com>
17847
17848 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17849 been merged back into normal.
17850
283af07a
CW
178512010-06-11 Colin Watson <cjwatson@ubuntu.com>
17852
17853 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17854 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17855
56a0d956
CW
178562010-06-11 Colin Watson <cjwatson@ubuntu.com>
17857
17858 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17859 when generating manual pages.
17860 * docs/man/grub-bin2h.h2m: New file.
17861 * docs/man/grub-editenv.h2m: New file.
17862 * docs/man/grub-fstest.h2m: New file.
17863 * docs/man/grub-install.h2m: New file.
17864 * docs/man/grub-macho2img.h2m: New file.
17865 * docs/man/grub-mkconfig.h2m: New file.
17866 * docs/man/grub-mkdevicemap.h2m: New file.
17867 * docs/man/grub-mkfont.h2m: New file.
17868 * docs/man/grub-mkimage.h2m: New file.
17869 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17870 * docs/man/grub-mkrelpath.h2m: New file.
17871 * docs/man/grub-mkrescue.h2m: New file.
17872 * docs/man/grub-ofpathname.h2m: New file.
17873 * docs/man/grub-pe2elf.h2m: New file.
17874 * docs/man/grub-probe.h2m: New file.
17875 * docs/man/grub-reboot.h2m: New file.
17876 * docs/man/grub-script-check.h2m: New file.
17877 * docs/man/grub-set-default.h2m: New file.
17878 * docs/man/grub-setup.h2m: New file.
17879
3a37e322
VS
178802010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 Use FOR_* macros instead of *_iterate whenever possible.
17883
17884 * commands/handler.c: Removed.
17885 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17886 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17887 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17888 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17889 (grub_probe_SOURCES): Remove kern/parser.c.
17890 (util/grub-script-check.c_DEPENDENCIES): Removed.
17891 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17892 and grub_script_check_init.c.
17893 (grub_script_check_init.lst): Removed.
17894 (grub_script_check_init.h): Likewise.
17895 (grub_script_check_init.c): Likewise.
17896 (pkglib_MODULES): Remove handler.mod and sh.mod.
17897 (handler_mod_SOURCES): Removed.
17898 (handler_mod_CFLAGS): Likewise.
17899 (handler_mod_LDFLAGS): Likewise.
17900 (normal_mod_SOURCES): Remove normal/handler.c.
17901 Add script/main.c, script/script.c, script/execute.c,
17902 script/function.c, script/lexer.c, grub_script.tab.c
17903 and grub_script.yy.c.
17904 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17905 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17906 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17907 (grub_setup_SOURCES): Remove kern/parser.c.
17908 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17909 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17910 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17911 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17912 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17913 (grub_setup_SOURCES): Remove kern/parser.c.
17914 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17915 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17916 * include/grub/command.h (grub_command_iterate): Removed.
17917 (FOR_COMMANDS): New macro.
17918 * include/grub/dl.h (grub_dl): New member next.
17919 (grub_dl_iterate): Removed.
17920 (grub_dl_head): New variable declaration.
17921 (FOR_DL_MODULES): New macro.
17922 * include/grub/fs.h: Include list.h.
17923 (grub_fs): Make next first element.
17924 (grub_fs_list): New variable declaration.
17925 (grub_fs_register): Make inline.
17926 (grub_fs_unregister): Likewise.
17927 (grub_fs_iterate): Removed.
17928 (FOR_FILESYSTEMS): New macro.
17929 * include/grub/handler.h: Removed.
17930 * include/grub/list.h (grub_list_hook_t): Removed.
17931 (grub_list_test_t): Likewise.
17932 (grub_list_pop): Likewise.
17933 (grub_list_iterate): Likewise.
17934 (grub_list_insert): Likewise.
17935 (FOR_LIST_ELEMENTS): New macro.
17936 * include/grub/parser.h (grub_parser_class): Removed.
17937 (grub_parser_register): Likewise.
17938 (grub_parser_unregister): Likewise.
17939 (grub_parser_get_current): Likewise.
17940 (grub_parser_set_current): Likewise.
17941 (grub_register_rescue_parser): Likewise.
17942 (grub_rescue_parse_line): New function.
17943 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17944 * include/grub/script_sh.h (grub_script_function_list): New variable
17945 declaration.
17946 (FOR_SCRIPT_FUNCTIONS): New macro.
17947 (grub_script_function_iterate): Removed.
17948 (grub_normal_parse_line): New prototype.
17949 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17950 (FOR_DISABLED_TERM_INPUTS): Likewise.
17951 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17952 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17953 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17954 element.
17955 (grub_video_register): Inline.
17956 (grub_video_unregister): Likewise.
17957 (grub_video_adapter_list): New variable declaration.
17958 (grub_video_iterate): Removed.
17959 (FOR_VIDEO_ADAPTERS): New macro.
17960 * kern/dl.c (grub_dl_list): Removed. All users updated.
17961 (grub_dl_iterate): Removed.
17962 * kern/fs.c (grub_fs_list): Make global.
17963 (grub_fs_register): Removed.
17964 (grub_fs_unregister): Likewise.
17965 (grub_fs_iterate): Likewise.
17966 * kern/handler.c: Removed.
17967 * kern/list.c (grub_list_pop): Removed.
17968 (grub_list_iterate): Likewise.
17969 (grub_list_insert): Likewise.
17970 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17971 (grub_prio_list_insert): Don't use grub_list_insert.
17972 * kern/main.c (grub_register_rescue_parser): Don't call
17973 grub_register_rescue_parser.
17974 * kern/parser.c (grub_parser_class): Removed.
17975 (grub_parser_execute): Use grub_rescue_parse_line.
17976 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17977 (grub_rescue_parser): Removed.
17978 (grub_register_rescue_parser): Likewise.
17979 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17980 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17981 (grub_auth_check_authentication): Likewise.
17982 * normal/completion.c (iterate_command): Removed.
17983 (grub_normal_do_completion): Use FOR_COMMANDS.
17984 * normal/handler.c: Removed.
17985 * normal/main.c (read_config_file): Remove parser changing.
17986 (grub_normal_execute): Don't call read_handler_list.
17987 (grub_normal_read_line_real): Statically allocate prompt.
17988 (grub_cmdline_run): Use grub_normal_parse_line.
17989 (GRUB_MOD_FINI): Don't call free_handler_list.
17990 * normal/menu_entry.c (run): Likewise.
17991 * script/function.c (grub_script_function_list): Make global.
17992 (grub_script_function_iterate): Removed.
17993 * script/main.c (grub_normal_parse_line): Make global.
17994 (grub_sh_parser): Removed.
17995 (GRUB_MOD_INIT): Likewise.
17996 (GRUB_MOD_FINI): Likewise.
17997 * tests/lib/functional_test.c (grub_functional_test): Use
17998 FOR_LIST_ELEMENTS.
17999 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18000 (grub_test_run): Use FOR_LIST_ELEMENTS.
18001 * tests/lib/unit_test.c (main): Likewise.
18002 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18003 grub_list_pop.
18004 * util/grub-fstest.c (grub_term_input_class): Removed.
18005 (grub_term_output_class): Likewise.
18006 * util/grub-probe.c: Likewise.
18007 * util/i386/pc/grub-setup.c: Likewise.
18008 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18009 * util/grub-script-check.c (main): Don't call grub_init_all and
18010 grub_fini_all.
18011 * video/video.c (grub_video_adapter_list): Make global.
18012 (grub_video_register): Removed.
18013 (grub_video_unregister): Likewise.
18014 (grub_video_iterate): Likewise.
18015
6289c3a7
VS
180162010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18019 reported by Henrique Ferreiro.
18020
91460247
RM
180212010-06-09 Robert Millan <rmh@gnu.org>
18022
18023 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18024 ones, when both are available.
18025
0ea7c4f9
GS
180262010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18027
18028 Make --version uniform and avoid hard-coded program name.
18029
18030 * util/grub-mkimage.c (main): Use `program_name' instead of
18031 hard-coded string.
18032 * util/i386/pc/grub-setup.c (main): Likewise.
18033 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18034 * util/grub-install.in: Save the basename of $0 in $self, and use the
18035 latter in informational messages. Use the same format for --version
18036 as the binary programs.
18037 * util/grub-mkconfig.in: Likewise.
18038 * util/grub-mkrescue.in: Likewise.
18039 * util/grub-reboot.in: Likewise.
18040 * util/grub-set-default.in: Likewise.
18041 * util/i386/efi/grub-install.in: Likewise.
18042 * util/ieee1275/grub-install.in: Likewise.
18043 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18044
e8a6f3b6
GS
180452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18046
18047 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18048 embedding area. Use <= instead of == when checking for non-emptiness.
18049
f4d095d7
GS
180502010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18051
18052 * configure.ac: Add `.' to the directories searched for unifont.
18053
50e532ca
CW
180542010-06-08 Colin Watson <cjwatson@ubuntu.com>
18055
18056 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18057 grub_script.yy.h.
18058
d39f3dec
CW
180592010-06-08 Colin Watson <cjwatson@ubuntu.com>
18060
18061 * docs/grub.texi (History): Expand to cover GRUB 2.
18062 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18063 commands, not `terminal'.
18064 (serial): Likewise.
18065 (terminal_input): New section.
18066 (terminal_output): New section.
18067 (uppermem): New section (stub).
18068 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18069
6ef0ddb4
CW
180702010-06-08 Colin Watson <cjwatson@ubuntu.com>
18071
18072 * docs/grub.texi (Security): Menu entries are unrestricted by
18073 default, not restricted to superusers as I had previously thought.
18074 Reword to account for this.
18075
e0f4c438
CW
180762010-06-07 Colin Watson <cjwatson@ubuntu.com>
18077
18078 * kern/emu/misc.c (device_mapper_null_log): New function.
18079 (grub_device_mapper_supported): New function.
18080 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18081 prototype.
18082 * kern/emu/hostdisk.c (find_partition_start): Check whether
18083 device-mapper is supported before trying to use it.
18084 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18085
da908200
CW
180862010-06-07 Colin Watson <cjwatson@ubuntu.com>
18087
18088 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18089 (File name syntax): Likewise.
18090 (help): --all is no longer supported in GRUB 2. Be more precise
18091 about pattern matching.
18092
fb55c3ac
CW
180932010-06-07 Colin Watson <cjwatson@ubuntu.com>
18094
18095 * normal/completion.c (grub_normal_do_completion): When completing
18096 arguments to "set" and the current word contains an equals sign,
18097 skip to after the equals sign before starting completion.
18098
258c2573
CW
180992010-06-07 Colin Watson <cjwatson@ubuntu.com>
18100
18101 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18102
ee75515e
CW
181032010-06-07 Colin Watson <cjwatson@ubuntu.com>
18104
18105 * docs/grub.texi (Network): New section.
18106 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18107 `(nd)' as in GRUB Legacy.
18108 (pxe_unload): New section.
18109
a6a700aa
CW
181102010-06-07 Colin Watson <cjwatson@ubuntu.com>
18111
18112 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18113 in the rescue shell, so recommend using `set' instead. Thanks,
18114 Jordan Uggla.
18115
4003dd38
CW
181162010-06-07 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18119 (password): New section.
18120 (password_pbkdf2): New section.
18121 (search): New section.
18122 (Security): New section.
18123 (Troubleshooting): New section, currently very incomplete.
18124 (Invoking grub-mkpasswd-pbkdf2): New section.
18125 (Internals): New section, currently very incomplete.
18126
e1cbcc40
CW
181272010-06-07 Colin Watson <cjwatson@ubuntu.com>
18128
18129 * util/grub.d/00_header.in: Add some more quoting (of
18130 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18131 work again.
18132 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18133
db8fa1ad
CW
181342010-06-07 Colin Watson <cjwatson@ubuntu.com>
18135
18136 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18137 to `count', fixing variable shadowing that broke the -c option.
18138
181392010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
18140
18141 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18142 in case they contain spaces.
18143
f28a9212
CW
181442010-06-04 Colin Watson <cjwatson@ubuntu.com>
18145
18146 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
18147 "part_" to partmap module names, in line with grub-install.
18148 Reported by: Jindřich Makovička (Debian bug #584426).
18149
9cdfe32f
CW
181502010-06-04 Colin Watson <cjwatson@ubuntu.com>
18151
18152 * util/grub-mkimage.c: Make target-related error messages slightly
18153 more helpful; -O talks about "format". Explicitly point to the use
18154 of -O if no target is specified.
18155 Reported by: Didier Raboud (Debian bug #584415).
18156
795b593a
CW
181572010-06-03 Colin Watson <cjwatson@ubuntu.com>
18158
18159 * INSTALL: Document several build requirements for optional features
18160 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18161
9d9b5833
GS
181622010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18163
18164 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18165 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18166 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18167
0819fec8
CW
181682010-06-02 Colin Watson <cjwatson@ubuntu.com>
18169
18170 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18171 Thanks to Jordan Uggla for spotting this.
18172
49396b4f
VS
181732010-06-02 Aleš Nesrsta <starous@volny.cz>
18174
18175 Finally make USB usable.
18176
18177 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18178 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18179 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18180 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18181 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18182 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18183 (GRUB_OHCI_FSMPS): Likewise.
18184 (GRUB_OHCI_PERIODIC_START): Likewise.
18185 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18186 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18187 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18188 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18189 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18190 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18191 (grub_ohci_transaction): Likewise.
18192 (grub_ohci_transfer): Improve condition detection algorithms.
18193 Handle toggle property. Program the transactions correctly.
18194 Improve error handling. Various important fixups.
18195 (grub_ohci_portstatus): Put register writes in right order.
18196 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18197 (grub_uhci_transfer): Don't show "failed" message on success.
18198 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18199 array.
18200 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18201 determine its size.
18202 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18203 before initialization is completed. Use IN direction for empty
18204 transfers. Use last_trans and compute toggle.
18205 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18206 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18207 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18208 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18209 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18210 (grub_usb_device): Increase toggle to 256.
18211 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18212 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18213 GRUB_USBMS_SUBCLASS_SFF8070.
18214 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18215 (grub_scsi_inquiry): New member page and alloc_length.
18216 (grub_scsi_request_sense): New structure.
18217 (grub_scsi_request_sense_data): Likewise.
18218 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18219 control.
18220 * disk/scsi.c (grub_scsi_request_sense): New function.
18221 (grub_scsi_test_unit_ready): Likewise.
18222 (grub_scsi_inquiry): Fill new fields.
18223 (grub_scsi_read_capacity): Likewise.
18224 (grub_scsi_read10): Add request sense at the end.
18225 (grub_scsi_read12): Likewise.
18226 (grub_scsi_write10): Likewise.
18227 (grub_scsi_write12): Likewise.
18228 (grub_scsi_open): Add Test Unit Ready.
18229 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
18230 Support additional subclasses. Con't clear halt yet. Activate the
18231 proper config. Calculate LUNs correctly.
18232 (grub_usbms_transfer): Various important fixups.
18233
182342010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
18237 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
18238 (grub_ohci_fini_hw): New function.
18239 (grub_ohci_restore_hw): Likewise.
18240 (GRUB_MOD_INIT(ohci)): Register preboot hook.
18241 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
18242 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
18243
182442010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Dedicated DMA allocations.
18247
18248 * bus/pci.c (grub_memalign_dma32): New function
18249 (grub_dma_free): Likewise.
18250 (grub_dma_get_virt): Likewise.
18251 (grub_dma_get_phys): Likewise.
18252 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
18253 (grub_ohci_pci_iter): Use dma32_alloc.
18254 (grub_ohci_transfer): Likewise.
18255 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18256 (grub_usb_bulk_readwrite): Likewise.
18257 * include/grub/pci.h: Add declarations.
18258
182592010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18260
18261 CS5536 support.
18262
18263 * bus/cs5536.c: New file.
18264 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
18265 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
18266 (cs5536_mod_SOURCES): New variable.
18267 (cs5536_mod_CFLAGS): Likewise.
18268 (cs5536_mod_LDFLAGS): Likewise.
18269 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
18270 machine/pci.h.
18271 (kernel_img_SOURCES): Add bus/cs5536.c.
18272 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
18273 usb_keyboard.mod.
18274 (usb_mod_SOURCES): New variable.
18275 (usb_mod_CFLAGS): New variable.
18276 (usb_mod_LDFLAGS): New variable.
18277 (usbtest_mod_SOURCES): New variable.
18278 (usbtest_mod_CFLAGS): New variable.
18279 (usbtest_mod_LDFLAGS): New variable.
18280 (ohci_mod_SOURCES): New variable.
18281 (ohci_mod_CFLAGS): New variable.
18282 (ohci_mod_LDFLAGS): New variable.
18283 (usbms_mod_SOURCES): New variable.
18284 (usbms_mod_CFLAGS): New variable.
18285 (usbms_mod_LDFLAGS): New variable.
18286 (usb_keyboard_mod_SOURCES): New variable.
18287 (usb_keyboard_mod_CFLAGS): New variable.
18288 (usb_keyboard_mod_LDFLAGS): New variable.
18289 * include/grub/smbus.h: New file.
18290 * include/grub/cs5536.h: New file.
18291
0b35b2a9
CW
182922010-06-02 Colin Watson <cjwatson@ubuntu.com>
18293
18294 * util/grub.d/00_header.in: Add safety check to make sure that
18295 ${locale_dir} exists before trying to probe it.
18296
ca0afd5b
CW
182972010-06-02 Colin Watson <cjwatson@ubuntu.com>
18298
18299 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
18300 per the GNU Coding Standards; this is now too obscure to be worth
18301 documenting.
18302 (QNX): Likewise.
18303 (chainloader): Remove cross-reference to `SCO UnixWare'.
18304
1c41aa78
CW
183052010-06-02 Colin Watson <cjwatson@ubuntu.com>
18306
18307 * docs/grub.texi (Chain-loading): New section.
18308 (DOS/Windows): New section, borrowed from GRUB Legacy with details
18309 adjusted for GRUB 2.
18310 (SCO UnixWare): Likewise.
18311 (QNX): Likewise.
18312 (chainloader): Add reference to `Block list syntax'.
18313 (drivemap): New section.
18314 (parttool): New section.
18315
bb8ea0f5
CW
183162010-06-02 Colin Watson <cjwatson@ubuntu.com>
18317
18318 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
18319 the grub shell'.
18320 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
18321 (Installing GRUB using grub-install): Remove reference to the grub
18322 shell; mention `grub-mkimage' and `grub-setup' instead.
18323 (Invoking grub-install): Likewise.
18324 (Interface): Add reference to `Menu entry editor'.
18325 (serial): Remove `--device' option.
18326
288dd6ed
CW
183272010-06-02 Colin Watson <cjwatson@ubuntu.com>
18328
18329 * docs/grub.texi (Configuration): New section, documenting
18330 configuration file generation using grub-mkconfig. I've left a slot
18331 for documenting the full shell scripting format but have not yet
18332 started on writing that up.
18333 (Invoking grub-mkconfig): New section.
18334
34c9f0e9
CW
183352010-06-02 Colin Watson <cjwatson@ubuntu.com>
18336
18337 * docs/grub.texi (direntry): Remove grub-terminfo reference.
18338 (GNU GRUB manual): Likewise.
18339 (General commands): Update description of `terminfo' for GRUB 2.
18340
9121567e
CW
183412010-06-02 Colin Watson <cjwatson@ubuntu.com>
18342
18343 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
18344 (GRUB_MOD_INIT): Fix capitalisation.
18345 * docs/grub.texi (Command-line and menu entry commands): Document
18346 gettext and gptsync commands.
18347
ab631611
CW
183482010-06-02 Colin Watson <cjwatson@ubuntu.com>
18349
18350 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
18351 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
18352
bde4a9ac
CW
183532010-06-01 Colin Watson <cjwatson@ubuntu.com>
18354
18355 Add btrfs probing support, currently only in the single-device case.
18356
18357 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
18358 function.
18359 (grub_guess_root_device): Call find_root_device_from_mountinfo
18360 before looking in /dev.
18361
b1d17e10
VS
183622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
18365 GRUB_DISK_SIZE_UNKNOWN.
18366 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
18367
dfbfe004
JS
183682010-05-31 Jiro SEKIBA <jir@unicus.jp>
18369
18370 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
18371 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
18372 corrupted or not synced properly.
18373
c2ffc8e9
VS
183742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
18377 Reported by: Seth Goldberg.
18378
56293166
VS
183792010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
18382 addition of dest.
18383 Reported by: Seth Goldberg.
18384
7620e7de
VS
183852010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
18388 Reported by: Seth Goldberg.
18389
c837af3f
VS
183902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
18393 64-bit address as signed on MIPS.
18394
c7c75cf4
CW
183952010-05-28 Colin Watson <cjwatson@ubuntu.com>
18396
18397 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
18398 to the empty string.
18399
fa4b8490
BC
184002010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
18401
18402 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
18403
18404 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
18405 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
18406 * kern/misc.c (__enable_execute_stack): Disable on
18407 GRUB_MACHINE_EMU.
18408
a33075b9
CW
184092010-05-28 Colin Watson <cjwatson@ubuntu.com>
18410
18411 Make grub-probe work with symbolic links under /dev/mapper as well
18412 as with real block devices. The Linux world seems to be (at best)
18413 in transition here, and GRUB shouldn't get caught in the middle.
18414
18415 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
18416 /dev/mapper.
18417
d8708134
CW
184182010-05-27 Colin Watson <cjwatson@ubuntu.com>
18419
18420 * util/grub-script-check.c (main): Ensure defined behaviour on empty
18421 input files (in which case exit zero).
18422
db2102a0
CW
184232010-05-27 Colin Watson <cjwatson@ubuntu.com>
18424
18425 * kern/emu/misc.c (canonicalize_file_name): realpath can still
18426 return NULL for various reasons even if it has a maximum-length
18427 buffer: for example, there might be a symlink loop, or the path
18428 might exceed PATH_MAX. If this happens, return NULL.
18429
5fdba519
RM
184302010-05-27 Robert Millan <rmh@gnu.org>
18431
18432 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
18433 partmap module to handle cross-partmap setups.
18434 Reported by Orestes Mas. Gràcies!
18435
d1d368e4
CW
184362010-05-27 Colin Watson <cjwatson@ubuntu.com>
18437
18438 * util/grub-mkrescue.in: Initialise override_dir rather than
18439 assuming that it's unset or empty in the environment.
18440
95ac3c73
GS
184412010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
18442
18443 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
18444 variable index into p_index to suppress a warning with -Wshadow.
18445
7d8c0213
BC
184462010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
18447
18448 * INSTALL: Added flex >= 2.5.35 requirement.
18449
db4d5813
VS
184502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
18453
f24f4300
VS
184542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 cmostest support.
18457
18458 * commands/i386/cmostest.c: New file.
18459 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
18460 (cmostest_mod_SOURCES): New variable.
18461 (cmostest_mod_CFLAGS): Likewise.
18462 (cmostest_mod_LDFLAGS): Likewise.
18463 * conf/i386-pc.rmk: Likewise.
18464 * docs/grub.texi (Vendor power-on keys): New section.
18465 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
18466 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
18467 and GRUB_BUTTON_CMOS_ADDRESS.
18468 * util/grub.d/00_header.in: Handle powering-on by separate button.
18469
ad603f61
VS
184702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
18473 Removed drawing_scrollbar argument. All users updated
18474 Fixes #29792.
18475 Reported by Jo Shields
18476
3ecb080a
VS
184772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
18480 buffer since gfxterm handles double repaint.
18481
5f2316c1
VS
184822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
18485 * term/gfxterm.c (real_scroll): Likewise.
18486
9a25f885
VS
184872010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
18490 before calling BIOS.
18491
39fbb79a
VS
184922010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 * include/grub/i18n.h: Always enable grub_gettext.
18495
228cfa97
VS
184962010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
18499 partition naming style.
18500
21717c8f
CW
185012010-05-21 Colin Watson <cjwatson@ubuntu.com>
18502
18503 * util/grub-mkconfig.in: Fix handling of -o so that it works when
18504 not the first option.
18505
c0f48e65
CW
185062010-05-20 Colin Watson <cjwatson@ubuntu.com>
18507
18508 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
18509
96779aec
CW
185102010-05-20 Colin Watson <cjwatson@ubuntu.com>
18511
18512 * util/misc.c: Move inclusion of <limits.h> to ...
18513 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
18514
fa9d256e
GS
185152010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
18516
18517 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
18518 Fix merge error in NetBSD code.
18519 (find_partition_start) [__NetBSD__]: Likewise.
18520
123b7a85
BC
185212010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
18522
18523 Fix grub-mkrescue usage unit testing.
18524
18525 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
18526
74276c0d
CF
185272010-05-18 Christian Franke <franke@computer.org>
18528
18529 * util/grub.d/10_windows.in: Use path names instead of
18530 drive letters to prevent warning from Cygwin 1.7.
18531 Add drivemap command to menuentry if needed.
18532
c4f7b523
ST
185332010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
18534
18535 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
18536 gnumach and gnumach.gz.
18537
95b97950
VS
185382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * include/grub/i18n.h (gettext): Inline instead of using #define.
18541 (grub_gettext): Likewise.
18542 (_): Likewise.
18543
01b8d2d7
VS
185442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18545
18546 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
18547 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
18548 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
18549 (main): Add a slash after pkglibdirroot.
18550
654e1d1e
VS
185512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 * util/grub-install.in: Add missing "in" keyword.
18554
26966aeb
VS
185552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
18558 Reported by: Seth Goldberg.
18559
75006747
VS
185602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
18563
74cbf5bd
CW
185642010-05-18 Colin Watson <cjwatson@ubuntu.com>
18565
18566 * configure.ac: Check for Linux device-mapper support.
18567
18568 * util/hostdisk.c (device_is_mapped): New function.
18569 (find_partition_start): New function, partly broken out from
18570 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
18571 device-mapper support added.
18572 (linux_find_partition): Use find_partition_start.
18573 (convert_system_partition_to_system_disk): Add `st' argument.
18574 Support Linux /dev/mapper/* devices if device-mapper support is
18575 available; only DM-RAID devices are understood at present.
18576 (find_system_device): Add `st' argument. Pass it to
18577 convert_system_partition_to_system_disk.
18578 (grub_util_biosdisk_get_grub_dev): Pass stat result to
18579 find_system_device and convert_system_partition_to_system_disk. Use
18580 find_partition_start.
18581
18582 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
18583 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
18584 * util/deviceiter.c [__linux__]: Define MINOR.
18585 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
18586 * util/mkdevicemap.c (grub_putchar): New function.
18587 (grub_getkey): New function.
18588 (grub_refresh): New function.
18589 (main): Set debug=all if -v -v is used.
18590
355b51e9
CW
185912010-05-18 Colin Watson <cjwatson@ubuntu.com>
18592
18593 Fix build with non-GNU libcs.
18594
18595 * util/misc.c (canonicalize_file_name): Move to ...
18596 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18597 grub_make_system_path_relative_to_its_root.
18598
7fb5c25f
CW
185992010-05-18 Colin Watson <cjwatson@ubuntu.com>
18600
18601 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18602 we handle finding grub-mkimage. Default to finding grub-mkimage in
18603 ${bindir} with program_transform_name applied, and provide a
18604 --grub-mkimage option to override this.
18605
1d3293d6
VS
186062010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 Remove grub-mkisofs.
18609
18610 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18611 (grub_mkisofs_SOURCES): Removed.
18612 (grub_mkisofs_CFLAGS): Removed.
18613 * util/mkisofs/defaults.h: Removed.
18614 * util/mkisofs/eltorito.c: Likewise.
18615 * util/mkisofs/exclude.h: Likewise.
18616 * util/mkisofs/hash.c: Likewise.
18617 * util/mkisofs/include/: Likewise.
18618 * util/mkisofs/include/fctldefs.h: Likewise.
18619 * util/mkisofs/include/mconfig.h: Likewise.
18620 * util/mkisofs/include/prototyp.h: Likewise.
18621 * util/mkisofs/include/statdefs.h: Likewise.
18622 * util/mkisofs/iso9660.h: Likewise.
18623 * util/mkisofs/joliet.c: Likewise.
18624 * util/mkisofs/match.c: Likewise.
18625 * util/mkisofs/match.h: Likewise.
18626 * util/mkisofs/mkisofs.c: Likewise.
18627 * util/mkisofs/mkisofs.h: Likewise.
18628 * util/mkisofs/msdos_partition.h: Likewise.
18629 * util/mkisofs/multi.c: Likewise.
18630 * util/mkisofs/name.c: Likewise.
18631 * util/mkisofs/rock.c: Likewise.
18632 * util/mkisofs/tree.c: Likewise.
18633 * util/mkisofs/write.c: Likewise.
18634
5dde9afe
VS
186352010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 Unify grub-mkimage accross platforms.
18638
18639 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18640 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18641 (grub_mkelfimage_SOURCES): Removed.
18642 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18643 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18644 (bin_UTILITIES): Add grub-mkimage.
18645 (grub_mkimage_SOURCES): New variable.
18646 (kernel_img_HEADERS): Remove machine/kernel.h.
18647 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18648 (pkglib_PROGRAMS): Add kernel.img.
18649 (kernel_img_HEADERS): Add machine/kernel.h.
18650 (kernel_img_FORMAT): Removed.
18651 (bin_UTILITIES): Remove grub-mkimage.
18652 (grub_mkimage_SOURCES): Removed.
18653 (grub_mkimage_CFLAGS): Likewise.
18654 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18655 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18656 (pkglib_PROGRAMS): Add kernel.img.
18657 (bin_UTILITIES): Remove grub-mkimage.
18658 (grub_mkimage_SOURCES): Removed.
18659 (grub_mkimage_CFLAGS): Likewise.
18660 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18661 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18662 (pkglib_PROGRAMS): Add kernel.img.
18663 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18664 (pkglib_PROGRAMS): Add kernel.img.
18665 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18666 (grub_mkimage_SOURCES): Removed.
18667 (grub_mkimage_CFLAGS): Likewise.
18668 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18669 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18670 (pkglib_PROGRAMS): Add kernel.img.
18671 (bin_UTILITIES): Remove grub-mkimage.
18672 (grub_mkimage_SOURCES): Removed.
18673 (grub_mkimage_CFLAGS): Likewise.
18674 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18675 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18676 (grub_mkimage_SOURCES): Removed.
18677 (grub_mkimage_CFLAGS): Likewise.
18678 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18679 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18680 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18681 (grub_pe32_optional_header): ... this.
18682 (grub_pe64_optional_header): ... and this. All users updated.
18683 (GRUB_PE32_PE32_MAGIC): Split into ..
18684 (GRUB_PE32_PE32_MAGIC): .. this.
18685 (GRUB_PE32_PE64_MAGIC): .. and this.
18686 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18687 * include/grub/elf.h (PT_GNU_STACK): New definition.
18688 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18689 * include/grub/i386/efi/kernel.h: Likewise.
18690 * include/grub/i386/kernel.h: Likewise.
18691 * include/grub/i386/pc/kernel.h: Likewise.
18692 * include/grub/i386/qemu/boot.h: Likewise.
18693 * include/grub/mips/kernel.h: Likewise.
18694 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18695 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18696 * include/grub/powerpc/kernel.h: Likewise.
18697 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18698 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18699 * include/grub/sparc64/kernel.h: Likewise.
18700 * include/grub/x86_64/efi/kernel.h: Likewise.
18701 * include/grub/x86_64/kernel.h: Likewise.
18702 * include/grub/offsets.h: New file.
18703 * include/grub/kernel.h (grub_module_info): Split into ...
18704 (grub_module_info32): ... this.
18705 (grub_module_info64): ... and this.
18706 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18707 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18708 (grub_boot_blocklist): Moved from here ...
18709 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18710 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18711 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18712 * include/grub/types.h (grub_target_to_host16): Removed.
18713 (grub_target_to_host32): Likewise.
18714 (grub_target_to_host64): Likewise.
18715 (grub_host_to_target16): Likewise.
18716 (grub_host_to_target32): Likewise.
18717 (grub_host_to_target64): Likewise.
18718 (grub_host_to_target_addr): Likewise.
18719
18720 Support grub-mkrescue for efi, coreboot and qemu.
18721
18722 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18723 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18724 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18725 * util/grub-mkrawimage.c: Moved from here ...
18726 * util/grub-mkimage.c: ... here. All users updated.
18727 (ALIGN_ADDR): Use image_target.
18728 (TARGET_NO_FIELD): New const.
18729 (image_target_desc): New type.
18730 (image_targets): New array.
18731 (grub_target_to_host64): Use image_target.
18732 (grub_target_to_host32): Likewise.
18733 (grub_target_to_host16): Likewise.
18734 (grub_host_to_target64): Likewise.
18735 (grub_host_to_target32): Likewise.
18736 (grub_host_to_target16): Likewise.
18737 (grub_host_to_target_addr): Likewise.
18738 (generate_image): Handle multiimage.
18739 (main): Require -O parameter. All users updated.
18740 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18741 util/efi/grub-mkimage.c
18742 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18743 New option --rom-directory.
18744 Use xorriso.
18745 * util/i386/efi/grub-mkimage.c: Removed.
18746 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18747 (grub_target_to_host32): Likewise.
18748 (grub_target_to_host64): Likewise.
18749 (grub_host_to_target16): Likewise.
18750 (grub_host_to_target32): Likewise.
18751 (grub_host_to_target64): Likewise.
18752 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18753 (grub_target_to_host32): Likewise.
18754 (grub_target_to_host64): Likewise.
18755 (grub_host_to_target16): Likewise.
18756 (grub_host_to_target32): Likewise.
18757 (grub_host_to_target64): Likewise.
18758
f4fc97d0
BC
187592010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18760
18761 Source tree is reorganized for emu build.
18762
18763 * include/grub/util/console.h: Move from here...
18764 * include/grub/emu/console.h: ...to here.
18765 * include/grub/util/getroot.h: Move from here...
18766 * include/grub/emu/getroot.h: ...to here.
18767 * include/grub/util/hostdisk.h: Move from here...
18768 * include/grub/emu/hostdisk.h: ...to here.
18769 * util/console.c: Move from here...
18770 * kern/emu/console.c: ...to here.
18771 * util/getroot.c: Move from here...
18772 * kern/emu/getroot.c: ...to here.
18773 * util/grub-emu.c: Move from here...
18774 * kern/emu/main.c: ...to here.
18775 * util/hostdisk.c: Move from here...
18776 * kern/emu/hostdisk.c: ...to here.
18777 * util/hostfs.c: Move from here...
18778 * kern/emu/hostfs.c: ...to here.
18779 * util/mm.c: Move from here...
18780 * kern/emu/mm.c: ...to here.
18781 * util/pci.c: Move from here...
18782 * bus/emu/pci.c: ...to here.
18783 * util/sdl.c: Move from here...
18784 * video/emu/sdl.c: ...to here.
18785 * util/time.c: Move from here...
18786 * kern/emu/time.c: ...to here.
18787 * util/usb.c: Move from here...
18788 * bus/usb/emu/usb.c: ...to here.
18789
18790 * include/grub/emu/misc.h: New header for grub-emu functions.
18791 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18792
18793 * conf/any-emu.rmk: Rule updates for above renames.
18794 * conf/common.rmk: Likewise.
18795 * conf/i386-pc.rmk: Likewise.
18796 * conf/i386-qemu.rmk: Likewise.
18797 * conf/mips.rmk: Likewise.
18798 * conf/sparc64-ieee1275.rmk: Likewise.
18799 * conf/x86-efi.rmk: Likewise.
18800
18801 * disk/lvm.h: #include updates for above renames.
18802 * util/grub-mkrelpath.c: Likewise.
18803 * util/grub-probe.c: Likewise.
18804 * util/i386/pc/grub-setup.c: Likewise.
18805 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18806 * kern/emu/console.c: Likewise.
18807 * kern/emu/getroot.c: Likewise.
18808 * kern/emu/hostdisk.c: Likewise.
18809 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18810
18811 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18812 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18813 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18814 * util/misc.c: Remove grub-emu functions.
18815
cced9145
VS
188162010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 Fix gfxmenu crash.
18819 Reported by: Thorsten Grützmacher.
18820
18821 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18822 timeout hook.
18823 (circprog_set_property): Register and unregister timeout hook.
18824 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18825 (label_destroy): Free template. and unregister hook.
18826 (label_set_state): New function.
18827 (label_set_property): Handle templates and hooks.
18828 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18829 timeout hook.
18830 (progress_bar_set_property): Register and unregister timeout hook.
18831 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18832 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18833 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18834 (update_timeout_visit): Removed.
18835 (update_timeouts): New function.
18836 (redraw_timeouts): Likewise.
18837 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18838 (grub_gfxmenu_clear_timeout): Likewise.
18839 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18840 (grub_gfxmenu_timeout_notify): Likewise.
18841 (grub_gfxmenu_timeout_notifications): New external variable.
18842 (grub_gfxmenu_timeout_register): New function.
18843 (grub_gfxmenu_timeout_unregister): Likewise.
18844
c6e5caab
VS
188452010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18846
18847 Transform (broken) vga terminal into (working) vga video driver.
18848
18849 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18850 video/i386/pc/vga.c.
18851 * include/grub/video.h (grub_video_driver_id):
18852 Add GRUB_VIDEO_DRIVER_VGA.
18853 * term/i386/pc/vga.c: Renamed to ...
18854 * video/i386/pc/vga.c: ...this
18855 (DEBUG_VGA): Removed.
18856 (CHAR_WIDTH): Likewise.
18857 (CHAR_HEIGHT): Likewise.
18858 (TEXT_WIDTH): Likewise.
18859 (TEXT_HEIGHT): Likewise.
18860 (DEFAULT_FG_COLOR): Likewise.
18861 (DEFAULT_BG_COLOR): Likewise.
18862 (colored_char): Likewise.
18863 (xpos): Likewise.
18864 (ypos): Likewise.
18865 (cursor_state): Likewise.
18866 (fg_color): Likewise.
18867 (bg_color): Likewise.
18868 (text_buf): Likewise.
18869 (page): Likewise.
18870 (font): Likewise.
18871 (framebuffer): New variable.
18872 (set_read_map): Disabled.
18873 (setup): New variable.
18874 (is_target): Likewise.
18875 (grub_vga_mod_init): Likewise.
18876 (grub_vga_mod_fini): Likewise.
18877 (check_vga_mem): Likewise.
18878 (write_char): Likewise.
18879 (write_cursor): Likewise.
18880 (scroll_up): Likewise.
18881 (grub_vga_putchar): Likewise.
18882 (grub_vga_getcharwidth): Likewise.
18883 (grub_vga_getwh): Likewise.
18884 (grub_vga_getxy): Likewise.
18885 (grub_vga_gotoxy): Likewise.
18886 (grub_vga_cls): Likewise.
18887 (grub_vga_setcolorstate): Likewise.
18888 (grub_vga_setcursor): Likewise.
18889 (grub_video_vga_init): New function.
18890 (grub_video_vga_setup): Likewise.
18891 (grub_video_vga_fini): Likewise.
18892 (update_target): Likewise.
18893 (grub_video_vga_blit_bitmap): Likewise.
18894 (grub_video_vga_blit_render_target): Likewise.
18895 (grub_video_vga_set_active_render_target): Likewise.
18896 (grub_video_vga_get_active_render_target): Likewise.
18897 (grub_video_vga_swap_buffers): Likewise.
18898 (grub_video_vga_set_palette): Likewise.
18899 (grub_video_vga_get_info_and_fini): Likewise.
18900 (grub_vga_term): Removed.
18901 (grub_video_vga_adapter): New variable.
18902 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18903 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18904
2bf61a98
VS
189052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18906
18907 * video/readers/jpeg.c: Indented.
18908
09ddcd11
VS
189092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 Various jpeg cleanups.
18912
18913 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18914 (grub_jpeg_decode_quan_table): Use sizeof.
18915 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18916
e5507505
PH
189172010-05-05 Peter Hurley <No e-mail available> (tiny change)
18918
18919 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18920 tables. Ignore non-last ac bit.
18921 (grub_jpeg_decode_quan_table): Likewise.
18922
7e720a9b
VS
189232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18924
18925 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18926 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18927 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18928 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18929 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18930 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18931
a7fc080b
VS
189322010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18933
18934 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18935 error.
18936
2bf6012d
VS
189372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18940
265d68cd
VS
189412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18944 condition.
18945
189462010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18947
18948 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18949 part.
18950
265d68cd 189512010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18952
18953 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18954 pointers.
18955
265d68cd 189562010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18957
18958 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18959
d1b61374
CF
189602010-05-01 Christian Franke <franke@computer.org>
18961
18962 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18963 Remove broken Cygwin path conversion.
18964 * util/misc.c: [__CYGWIN__] Add include and define.
18965 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18966 for Cygwin 1.7.
18967 (make_system_path_relative_to_its_root): Simplify loop, replace early
18968 return by break.
18969 [__CYGWIN__] Add conversion to win32 path.
18970 Include "/" case in trailing slash removal.
18971
3558c6e9
VS
189722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18975 Reported by: Seth Goldberg
18976
f5f3ff93
VS
189772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18978
18979 * commands/help.c (grub_cmd_help): Fix a typo.
18980 Reported by: Seth Goldberg
18981
d8b5cd40
VS
189822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18983
18984 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18985 name and add N_.
18986 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18987 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18988 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18989 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18990 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18991 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18992 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18993 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18994 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18995 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18996 * normal/context.c (GRUB_MOD_INIT): Likewise.
18997 * normal/main.c (GRUB_MOD_INIT): Likewise.
18998 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18999 * term/serial.c (GRUB_MOD_INIT): Likewise.
19000 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19001
88c14915
VS
190022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19005 extra == 0.
19006
165134bc
VS
190072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 * commands/iorw.c: New file.
19010 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19011 (iorw_mod_SOURCES): New variable.
19012 (iorw_mod_CFLAGS): Likewise.
19013 (iorw_mod_LDFLAGS): Likewise.
19014
c5ac9b32
VS
190152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 Hotkey support
19018
19019 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19020 * normal/main.c (hotkey_aliases): New variable.
19021 (grub_normal_add_menu_entry): Parse "--hotkey".
19022 * normal/menu_text.c (run_menu): Handle hotkeys.
19023
ce60689c
VS
190242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * kern/i386/coreboot/init.c (grub_machine_init): Call
19027 grub_machine_mmap_init on qemu.
19028
0359d006
VS
190292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * boot/i386/qemu/boot.S: Add a missing .code16.
19032
7819a456
VS
190332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19034
19035 Use LBIO on coreboot.
19036
19037 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19038 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19039 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19040 New declaration.
19041 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19042 grub_machine_mmap_init on coreboot.
19043 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19044 GRUB_LINUXBIOS_MEMBER_LINK.
19045 (grub_machine_mmap_iterate): Fix declaration.
19046 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19047
7210dca9
VS
190482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19049
19050 Split coreboot and multiboot ports.
19051
19052 * conf/i386-multiboot.rmk: New file.
19053 * configure.ac: Add multiboot port.
19054 * include/grub/i386/multiboot/boot.h: New file.
19055 * include/grub/i386/multiboot/console.h: Likewise.
19056 * include/grub/i386/multiboot/init.h: Likewise.
19057 * include/grub/i386/multiboot/kernel.h: Likewise.
19058 * include/grub/i386/multiboot/loader.h: Likewise.
19059 * include/grub/i386/multiboot/memory.h: Likewise.
19060 * include/grub/i386/multiboot/serial.h: Likewise.
19061 * include/grub/i386/multiboot/time.h: Likewise.
19062 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19063 * loader/multiboot.c: Likewise.
19064 * loader/multiboot_mbi2.c: Likewise.
19065 * util/grub-mkrescue.in: Generate multiboot rescue.
19066
6f8aaf68
VS
190672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19068
3080f7a7
VS
19069 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19070
190712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
19074
19075 * commands/terminal.c (abstract_terminal): New struct.
19076 (handle_command): New function. Based on grub_cmd_terminal_input.
19077 (grub_cmd_terminal_input): Use handle_command.
19078 (grub_cmd_terminal_output): Use handle_command.
19079
a8ebb841
BC
190802010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19081
19082 Fix comment handling.
19083
19084 * tests/grub_script_comments.in: New testcase.
19085 * conf/tests.rmk: Rules for new testcase.
19086 * script/yylex.l: Updated flex rules.
19087
bb06ba08
ST
190882010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19089
19090 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
19091 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19092 if argc is 1.
bb06ba08 19093
cc9d2425
VS
190942010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19097 autogen issues.
19098
460d8402
CF
190992010-04-26 Christian Franke <franke@computer.org>
19100
19101 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19102 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19103 (grub_get_prefix): Remove function.
19104 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19105 make_system_path_relative_to_its_root ().
19106 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19107
553c01f9
CF
191082010-04-24 Christian Franke <franke@computer.org>
19109
19110 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19111 (kernel_img_LDFLAGS): Remove -static-libgcc.
19112
2aec1692
CF
191132010-04-24 Christian Franke <franke@computer.org>
19114
19115 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19116 and CHECK_END_SYMBOL if grub-emu is built.
19117 Unset TARGET_OBJ2ELF if grub-emu is built
19118 without module support.
19119
f67dc308
JS
191202010-04-24 Jiro SEKIBA <jir@unicus.jp>
19121
19122 Nilfs2 support.
19123
19124 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19125 (grub_fstest_SOURCES): Likewise.
19126 (pkglib_MODULES): Add nilfs2.mod.
19127 (nilfs2_mod_SOURCES): New variable.
19128 (nilfs2_mod_CFLAGS): Likewise.
19129 (nilfs2_mod_LDFLAGS): Likewise.
19130 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19131 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19132 * fs/nilfs2.c: New file.
19133
4ba8d354
VS
191342010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19137 is not supported.
19138
0d2c20c6
GS
191392010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19140
19141 Add grub-mkconfig support for NetBSD.
19142
19143 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19144 * util/grub-mkconfig.in: export new NetBSD specific variables.
19145 * po/POTFILES-shell: added 10_netbsd.in.
19146 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
19147
bc4a2d83
BC
191482010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19149
19150 Fix emu build with grub-emu-pci and grub-emu-modules.
19151
19152 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19153 functions.
19154 * include/grub/libpciaccess.h: New file.
19155 * conf/any-emu.rmk: Update kernel headers for emu build.
19156
f48c87aa
VS
191572010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19160
18959385
VS
191612010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19164
0037de3f
VS
191652010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19168 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19169 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19170 util/ieee1275/ofpath.c.
19171 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19172 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19173 * include/grub/sparc64/ieee1275/boot.h
19174 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19175 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19176 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19177 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19178 const char *.
19179 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19180 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19181 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19182 install.
19183
38e55e90
GS
191842010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19185
19186 * util/grub-mkconfig.in: Corrected two == equality tests.
19187 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19188 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19189 expect a number appended to it.
19190 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19191 expects a number appended to it.
19192
a9e6ff28
VS
191932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19196
0b830b8f
VS
191972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * util/hostdisk.c (make_device_name): Change to new partition naming.
19200
0973daeb
VS
192012010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19204
460d8402 192052010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
19206
19207 * Makefile.in: Add missing localedir setting.
19208
0b456309
CW
192092010-04-14 Colin Watson <cjwatson@ubuntu.com>
19210
19211 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19212 mistake in r2156. Noticed by Anthony Fok.
19213
19214 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19215 @localedir@.
19216 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19217
08f46d62
BC
192182010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19219
19220 Fix a spurious, uninitialized variable warning.
19221
19222 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19223 Initialize variable, shdr.
19224 (grub_freebsd_load_elfmodule): Likewise.
19225 (grub_freebsd_load_elf_meta): Likewise.
19226
8c4a72d4
BC
192272010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
19228
19229 Fix for escaped dollar in double quoted strings.
19230
19231 * script/yylex.l: Updated flex rules.
19232 * conf/tests.rmk: Rule for new testcase.
19233 * tests/grub_script_dollar.in: New testcase.
19234
ce44826e
CPE
192352010-04-13 Carles Pina i Estany <carles@pina.cat>
192362010-04-13 Colin Watson <cjwatson@ubuntu.com>
19237
19238 Enclose all translated strings in grub.cfg in single quotes, and
19239 escape them appropriately (Ubuntu bug #552921).
19240
19241 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
19242 * util/grub.d/10_hurd.in: Use it.
19243 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19244 * util/grub.d/10_linux.in (linux_entry): Likewise.
19245
4b0cd8f8
VS
192462010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 Fix cygwin compilation.
19249
19250 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
19251 * include/grub/misc.h (__register_frame_info)
19252 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
19253 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19254 * kern/misc.c (__register_frame_info)
19255 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
19256 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19257
01fcf061
VS
192582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
19261
5d04b11e
VS
192622010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 Unify libgcc processing.
19265
19266 * Makefile.in (kernel_img_LDFLAGS): New variable.
19267 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
19268 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
19269 overwriting.
19270 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
19271 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
19272 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
19273 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
19274 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
19275 overwriting. Remove -lgcc and -static-libgcc
19276 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
19277 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19278 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19279 (kernel_img_LDFLAGS): Append instead of overwriting.
19280 Remove -lgcc and -static-libgcc
19281 * conf/sparc64-ieee1275.rmk: Likewise.
19282 * include/grub/powerpc/libgcc.h: Move to ...
19283 * include/grub/libgcc.h: .. this.
19284 * include/grub/libgcc.h: Don't export most of the function on x86.
19285 (__bswapsi2): New export.
19286 (__bswapdi2): Likewise.
19287 * include/grub/mips/libgcc.h: Removed.
19288 * include/grub/sparc64/libgcc.h: Likewise.
19289
b7f3ac29
VS
192902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
19293 disk_info_msg (conflicts with gettexting into languages with cases).
19294
2c7031b1
GS
192952010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
19296
19297 Add grub-probe support for NetBSD.
19298
19299 * util/getroot.c (find_root_device): Convert block device to
19300 character device on NetBSD.
19301 * util/probe.c (probe): Require character device on NetBSD.
19302 * util/hostdisk.c: NetBSD specific headers.
19303 (configure_device_driver): new function to tune device driver
19304 parameters (currently only for NetBSD floppy driver).
19305 (grub_util_biosdisk_open): NetBSD specific code (get disk size
19306 via disklabel ioctl).
19307 (open_device): call configure_device_driver on NetBSD.
19308 (convert_system_partition_to_system_disk): NetBSD specific code.
19309 (device_is_wholedisk): Likewise.
19310 (grub_util_biosdisk_get_grub_dev): Likewise.
19311 (make_device_name): Fixed a typo in bsd_part_str.
19312 * configure.ac: check for opendisk() and getrawpartition() on
19313 NetBSD and set LIBUTIL.
19314 * Makefile.in: add LIBUTIL to LIBS.
19315
f516290c
BC
193162010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19317
19318 Documentation fix.
19319
19320 * util/grub-script-check.c: Better help message.
19321
d8dcc0df
BC
193222010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19323
19324 Fix FreeBSD build.
19325
19326 * configure.ac: Flex version check.
19327 * conf/common.rmk: Add -Wno-error to sh.mod.
19328 * script/yylex.l: Remove all #pragma.
19329
6734334a
VS
193302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 * include/grub/util/misc.h (canonicalise_file_name): Add missing
19333 prototype.
19334 Reported by: Seth Goldberg.
19335
daea6abd
VS
193362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19337
19338 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
19339 Rename "module" to "module2".
19340 Reported by: Seth Goldberg.
19341
f2fd9d2b
VS
193422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
19345 EXPORT_FUNC.
19346 Reported by: Seth Goldberg.
19347
be124579
VS
193482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 * lib/posix_wrap/locale.h: Add missing file.
19351 Reported by: Seth Goldberg.
19352
ef5da797
VS
193532010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 grub-emu module load support.
19356
19357 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
19358 NO_DYNAMIC_MODULES switched to this.
19359 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
19360 (CFLAGS): Likewise.
19361 * conf/any-emu.rmk: Generate symlist.
19362 (kernel_img_HEADERS): Add util/datetime.h.
19363 (kernel_img_HEADERS) [sdl]: Add sdl.h.
19364 (kernel_img_HEADERS) [libusb]: Add libusb.h.
19365 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
19366 kern/$(target_cpu)/cache.S.
19367 * configure.ac (grub-emu-modules): New option.
19368 * genmk.rb: Handle multiple source lists.
19369 * include/grub/sdl.h: New file.
19370 * include/grub/libusb.h: Likewise.
19371 * util/grub-emu.c (main): Hanle (host) root.
19372 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
19373 GRUB_ERR_UNKNOWN_DEVICE.
19374 * util/misc.c: Move mm functions to ...
19375 * util/mm.c: ... here. All users updated.
19376
47822096
VS
193772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
19380 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
19381 missing files.
19382 (maintainer-clean): Remove libgcrypt-grub.
19383
5d7e7445
VS
193842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19385
19386 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
19387
25f4e252
EC
193882010-04-09 EFI Coder <eficoder@hotmail.com>
19389
19390 * normal/menu_text.c (print_message): Clean up the message and show
19391 the Fn information when on EFI
19392 * term/efi/console.c (grub_console_checkkey): Add F4 support.
19393
027de555
VS
193942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
19397 All users updated.
19398 * normal/crypto.c (read_crypto_list): Likewise.
19399 * normal/dyncmd.c (read_command_list): Likewise.
19400 * normal/term.c (read_terminal_list): Likewise.
19401 * normal/main.c (read_lists): Use explicit prefix.
19402 (read_lists_hook): Use read_lists.
19403 (grub_normal_execute): Likewise.
19404
47779711
VS
194052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
19408 Reported by: Thomas Schmitt.
19409 Add -no-emul-boot to grub-mkisofs parameters.
19410
1118c32e
VS
194112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * font/font.c: Indented.
19414
7d652447
BC
194152010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19416
19417 Elif support to GRUB script (by Deepak Vankadaru).
19418
19419 * tests/grub_script_if.in: New testcase.
19420 * conf/tests.rmk: Rule for new testcase.
19421 * script/parser.y: Grammar rules for elif.
19422
34bb22df
BC
194232010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19424
19425 While and until loops support to GRUB script.
19426
19427 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
19428 (grub_script_create_cmdwhile): New function prototype.
19429 (grub_script_execute_cmdwhile): New function prototype.
19430 * script/execute.c (grub_script_execute_cmdwhile): New function.
19431 * script/parser.y (command): New commands.
19432 (whilecmd): New grammar rule.
19433 (untilcmd): New grammar rule.
19434 * script/script.c (grub_script_create_cmdwhile): New function.
19435 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
19436 function.
19437
19438 * tests/grub_script_while1.in: New testcase.
19439 * conf/tests.rmk: Rule for new testcase.
19440
e215d8e0
VS
194412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
19444 as *.jpg.
19445
d7c43ba1
MV
194462010-04-09 Mario Vazquez <mariovazq@gmail.com>
19447
19448 GRUB_BACKGROUND support.
19449
19450 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
19451 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
19452
d64795c0
VS
194532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 19456 Idea by: Mario Vazquez
d64795c0
VS
19457
19458 * util/grub.d/00_header.in: Load pf2 and image modules.
19459
f267f83a
VS
194602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 grub-mkconfig multiple terminal support.
19463
19464 * util/grub-mkconfig.in: Handle multiple terminals correctly.
19465 * util/grub.d/00_header.in: Likewise.
19466
b7841ceb
VS
194672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19468
19469 * Makefile.in: Specify files explicitly instead of using $< and $@ since
19470 we use cd $(srcdir).
19471
df60998c
CW
194722010-04-08 Colin Watson <cjwatson@ubuntu.com>
19473
19474 * util/grub.d/10_linux.in: Only use the first word of
19475 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
19476 spaces in GRUB_DISTRIBUTOR.
19477 * util/grub.d/10_kfreebsd.in: Likewise.
19478 * util/grub.d/10_hurd.in: Likewise.
19479
fa09c82e
BC
194802010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
19481
14e18ae3 19482 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
19483
19484 * tests/util/grub-shell.in: Remove -serial stdio option.
19485
daf892b3
BC
194862010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 POSIX header file wrappers.
19489
19490 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
19491 equivalents.
19492 * lib/posix_wrap/ctype.h: Likewise.
19493 * lib/posix_wrap/errno.h: Likewise.
19494 * lib/posix_wrap/langinfo.h: Likewise.
19495 * lib/posix_wrap/limits.h: Likewise.
19496 * lib/posix_wrap/localcharset.h: Likewise.
19497 * lib/posix_wrap/stdint.h: Likewise.
19498 * lib/posix_wrap/stdio.h: Likewise.
19499 * lib/posix_wrap/stdlib.h: Likewise.
19500 * lib/posix_wrap/string.h: Likewise.
19501 * lib/posix_wrap/sys/types.h: Likewise.
19502 * lib/posix_wrap/unistd.h: Likewise.
19503 * lib/posix_wrap/wchar.h: Likewise.
19504 * lib/posix_wrap/wctype.h: Likewise.
19505 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
19506 (grub_script.yy.h): Likewise.
19507 * script/yylex.l: Remove POSIX emulation #defines.
19508 * Makefile.in (POSIX_CFLAGS): New variable.
19509 (GNULIB_UTIL_CFLAGS): Likewise.
19510
19511 Regexp support.
19512
19513 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
19514 (regexp_mod_SOURCES): New variable.
19515 (regexp_mod_CFLAGS): Likewise.
19516 (regexp_mod_LDFLAGS): Likewise.
19517 * commands/regexp.c: New file.
19518 * gnulib/regcomp.c: New file. Imported from gnulib.
19519 * gnulib/regex.c: Likewise.
19520 * gnulib/regex_internal.c: Likewise.
19521 * gnulib/regex_internal.h: Likewise.
19522 * gnulib/regexec.c: Likewise.
19523 * gnulib/regex.h: Likewise.
19524
974ac4f7
VS
195252010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19526
19527 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
19528 unsupported video mode types.
19529
2622c3ff
VS
195302010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19531
19532 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
19533
064cb524
VS
195342010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
19537 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
19538
a8c3b552
VS
195392010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 Remove unused grub_vga_get_font.
19542
19543 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
19544 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
19545
187bbe3d
GS
195462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19547
19548 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
19549 * include/grub/misc.h: Likewise.
19550
b9396631
GS
195512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19552
19553 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
19554 for which failure is fatal.
19555
50479feb
GS
195562010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19557
19558 * util/grub-install.in: Use mkdir -p to create grub directory.
19559 * util/i386/efi/grub-install.in: Likewise.
19560 * util/ieee1275/grub-install.in: Likewise.
19561
b1654fdf
GS
195622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19563
19564 * Makefile.in (LEX): new variable.
19565
bd5a6415
GS
195662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19567
19568 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
19569 `=' and added double quotes on operands of this equality test.
19570
3db3a82b
VS
195712010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19572
19573 * Makefile.in (uninstall): Remove a leftover debug echo.
19574 Reported by: Grégoire Sutre
19575
38023412
VS
195762010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19577
19578 MIPS multiboot2 support.
19579
19580 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
19581 (multiboot2_mod_SOURCES): New variable.
19582 (multiboot2_mod_CFLAGS): Likewise.
19583 (multiboot2_mod_LDFLAGS): Likewise.
19584 (multiboot2_mod_ASFLAGS): Likewise.
19585 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
19586 definition.
19587 (MULTIBOOT_ENTRY_REGISTER): Likewise.
19588 (MULTIBOOT_MBI_REGISTER): Likewise.
19589 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
19590 (MULTIBOOT_ELF32_MACHINE): Likewise.
19591 (MULTIBOOT_ELF64_MACHINE): Likewise.
19592 * include/grub/mips/multiboot.h: New file.
19593 * include/grub/video.h (grub_video_driver_id): New type
19594 GRUB_VIDEO_DRIVER_SM712.
19595 (grub_video_get_info_and_fini): Export.
19596 (grub_video_get_palette): Likewise.
19597 (grub_video_get_driver_id): Likewise.
19598 * include/multiboot2.h: Resynced with spec.
19599 * loader/i386/multiboot.c: Moved from here ...
19600 * loader/multiboot.c: ... here. All users updated.
19601 (grub_multiboot_boot): Use platform-specific macros.
19602 * loader/i386/multiboot_elfxx.c: Moved from here ...
19603 * loader/multiboot_elfxx.c: ... here. All users updated.
19604 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19605 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19606 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19607
47674667
VS
196082010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 Import gnulib argp module.
19611
19612 * gnulib/argp-ba.c: New file.
19613 * gnulib/argp-eexst.c: Likewise.
19614 * gnulib/argp-fmtstream.c: Likewise.
19615 * gnulib/argp-fmtstream.h: Likewise.
19616 * gnulib/argp-fs-xinl.c: Likewise.
19617 * gnulib/argp-help.c: Likewise.
19618 * gnulib/argp-namefrob.h: Likewise.
19619 * gnulib/argp-parse.c: Likewise.
19620 * gnulib/argp-pin.c: Likewise.
19621 * gnulib/argp-pv.c: Likewise.
19622 * gnulib/argp-pvh.c: Likewise.
19623 * gnulib/argp-version-etc.c: Likewise.
19624 * gnulib/argp-version-etc.h: Likewise.
19625 * gnulib/argp-xinl.c: Likewise.
19626 * gnulib/argp.h: Likewise.
19627
495442ed
VS
196282010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 * kern/device.c (grub_device_iterate): Clear errors after failed
19631 opening device.
19632
f9fd65df
VS
196332010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19636 returned by firmware.
19637
af09641e
VS
196382010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19641 compilation on coreboot and qemu
19642
016883a5
VS
196432010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19644
19645 * include/multiboot2.h: Resync with spec.
19646
f97e1f7d
VS
196472010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 Multiboot2 tag support
19650
19651 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19652 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19653 Remove loader/multiboot_loader.c.
19654 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19655 (grub_multiboot2_real_boot): Likewise.
19656 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19657 (grub_get_multiboot_mmap_count): New proto.
19658 (grub_fill_multiboot_mmap): Likewise.
19659 (grub_multiboot_set_video_mode): Likewise.
19660 (grub_multiboot_set_console): Likewise.
19661 (grub_multiboot_load): Likewise.
19662 (grub_multiboot_load_elf): Likewise.
19663 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19664 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19665 * include/multiboot.h: Resynced with specification.
19666 * include/multiboot2.h: Resynced with specification.
19667 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19668 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19669 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19670 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19671 users updated.
19672 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19673 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19674 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19675 Removed.
19676 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19677 Moved from here...
19678 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19679 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19680 Moved from here...
19681 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19682 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19683 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19684 All users updated.
19685 * loader/i386/multiboot_mbi2.c: New file.
19686
3506b90b
VS
196872010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19688
19689 Resync with gnulib.
19690
19691 * Makefile.in (GNULIB_CFLAGS): New variable.
19692 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19693 (grub_script_check_CFLAGS): New variable.
19694 * gnulib/alloca.h: Resync with gnulib.
19695 * gnulib/error.c: Likewise.
19696 * gnulib/error.h: Likewise.
19697 * gnulib/fnmatch.c: Likewise.
19698 * gnulib/fnmatch_loop.c: Likewise.
19699 * gnulib/getdelim.c: Likewise.
19700 * gnulib/getline.c: Likewise.
19701 * gnulib/getopt.c: Likewise.
19702 * gnulib/getopt1.c: Likewise.
19703 * gnulib/getopt_int.h: Likewise.
19704 * gnulib/gettext.h: Likewise.
19705 * gnulib/progname.c: Likewise.
19706 * gnulib/progname.h: Likewise.
19707
394a3120
GS
197082010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19709
19710 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19711 which is the case with --disabled-nls.
19712
19713 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19714 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19715 * util/misc.c: Likewise.
19716 * util/mkisofs/mkisofs.c: Likewise.
19717 * util/mkisofs/mkisofs.h: Likewise.
19718
969d1c78
VS
197192010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 Simplify Apple CC support.
19722
19723 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19724 Add 0 byte at the end not to have a symbol with empty target.
19725 * mmap/i386/pc/mmap_helper.S: Likewise.
19726 * genmk.rb: Ignore errors 2030 and 2050.
19727 * kern/i386/pc/startup.S: Use LOCAL when possible.
19728
8d2977bb
BC
197292010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19730
19731 Testcase and the fix for final semicolon on cmdline.
19732
19733 * tests/grub_script_final_semicolon.in: New testcase.
19734 * conf/tests.rmk: Rules for the new testcase.
19735 * script/parser.y: Grammar fix.
19736
a7bd6915
BC
197372010-03-26 BVK Chaitanya <bvk@localhost>
19738
19739 Blank lines testcase for GRUB script.
19740
19741 * tests/grub_script_blanklines.in: New testcase.
19742 * conf/tests.rmk: Rules for the new testcase.
19743
e4ff6628
VS
197442010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 Don't use __FILE__.
19747
19748 * genmk.rb: Add -DGRUB_FILE to all C targets.
19749 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19750 * include/grub/list.h: Likewise.
19751 * include/grub/misc.h: Likewise.
19752 * include/grub/mm.h: Likewise.
19753 * include/grub/test.h: Likewise.
19754 * kern/mm.c: Likewise.
19755 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19756
6a5cf6b6
VS
197572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19758
19759 Sunpc partitions support.
19760
19761 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19762 (grub_fstest_SOURCES): Likewise.
19763 (pkglib_MODULES): Add part_sunpc.mod.
19764 (part_sunpc_mod_SOURCES): New variable.
19765 (part_sunpc_mod_CFLAGS): Likewise.
19766 (part_sunpc_mod_LDFLAGS): Likewise.
19767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19768 * partmap/sunpc.c: New file.
19769
746d9045
BC
197702010-03-26 BVK Chaitanya <bvk@localhost>
19771
19772 For loop support to GRUB script.
19773
19774 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19775 (grub_script_create_cmdfor): New function prototype.
19776 (grub_script_execute_cmdfor): New function prototype.
19777 * script/execute.c (grub_script_execute_cmdfor): New function.
19778 * script/parser.y (command): New for command.
19779 (forcmd): New grammar rule.
19780 * script/script.c (grub_script_create_cmdfor): New function.
19781 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19782 function.
19783 * tests/grub_script_for1.in: New testcase.
19784 * conf/tests.rmk: Rules for new testcase.
19785
18486b18
VS
197862010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 Nested partitions
19789
19790 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19791 'partition' is NULL, grub_partition_get_start already does that.
19792 * commands/loadenv.c (check_blocklists): Likewise.
19793 (write_blocklists): Likewise.
19794 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19795 (grub_fstest_SOURCES): Likewise.
19796 (pkglib_MODULES): Add part_bsd.mod.
19797 (part_bsd_mod_SOURCES): New variable.
19798 (part_bsd_mod_CFLAGS): Likewise.
19799 (part_bsd_mod_LDFLAGS): Likewise.
19800 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19801 (grub_emu_SOURCES): Likewise.
19802 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19803 * include/grub/bsdlabel.h: New file.
19804 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19805 'get_name'.
19806 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19807 (grub_partition_map_list): New variable.
19808 (grub_partition_map_register): Inline.
19809 (grub_partition_map_unregister): Likewise.
19810 (FOR_PARTITION_MAPS): New macro.
19811 (grub_partition_map_iterate): Removed.
19812 (grub_partition_get_start): Handle nested partitions.
19813 * include/grub/msdos_partition.h: Remove bsd-related entries.
19814 (grub_pc_partition): Remove.
19815 * kern/disk.c (grub_disk_close): Free partition data.
19816 (grub_disk_adjust_range): Handle nested partitions.
19817 * kern/partition.c (grub_partition_map_probe): New function.
19818 (grub_partition_probe): Parse name to number, handle subpartitions.
19819 (get_partmap): New function.
19820 (grub_partition_iterate): Handle subpartitions.
19821 (grub_partition_get_name): Likewise.
19822 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19823 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19824 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19825 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19826 Set 'number'.
19827 (acorn_partition_map_probe): Remove.
19828 (acorn_partition_map_get_name): Likewise.
19829 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19830 Set 'number'.
19831 Set 'index' to 0 since there can be only one partition entry per sector.
19832 (amiga_partition_map_probe): Remove.
19833 (amiga_partition_map_get_name): Likewise.
19834 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19835 Set 'number'.
19836 Set 'offset' and 'index' to real positions of partitions.
19837 (apple_partition_map_probe): Remove.
19838 (apple_partition_map_get_name): Likewise.
19839 * partmap/bsdlabel.c: New file.
19840 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19841 Set 'number'.
19842 Allocate 'data' so it can be correctly freed.
19843 Set 'index' to offset inside sector.
19844 (gpt_partition_map_probe): Remove.
19845 (gpt_partition_map_get_name): Likewise.
19846 * partmap/msdos.c (grub_partition_parse): Remove.
19847 (pc_partition_map_iterate): Don't force raw access.
19848 Set 'number'.
19849 Make 'ext_offset' a local variable.
19850 (pc_partition_map_probe): Remove.
19851 (pc_partition_map_get_name): Remove.
19852 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19853 Set 'number'.
19854 (sun_partition_map_probe): Remove.
19855 (sun_partition_map_get_name): Likewise.
19856 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19857 (grub_pcpart_type): Likewise.
19858 * util/hostdisk.c (open_device): Handle new numbering scheme.
19859 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19860 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19861 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19862 * util/grub-install.in: Insert all subpartition modules.
19863 * util/ieee1275/grub-install.in: Likewise.
19864
a3940f88
AG
198652010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19866
19867 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19868 grammar.
19869
21b99926 198702010-03-24 Colin Watson <cjwatson@ubuntu.com>
19871
19872 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19873
bed1d352
CW
198742010-03-21 Colin Watson <cjwatson@ubuntu.com>
19875
19876 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19877 match where 'make install' puts them.
19878 * util/i386/efi/grub-install.in: Likewise.
19879
c9f58427
CW
198802010-03-19 Colin Watson <cjwatson@ubuntu.com>
19881
19882 * .bzrignore: Add gentrigtables, grub-script-check,
19883 grub_script_check_init.c, grub_script_check_init.h, and
19884 trigtables.c.
19885
f84afb27
VS
198862010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * kern/parser.c: Indented.
19889
ed0e3d30
VS
198902010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19893
0ea81d98
VS
198942010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19897 alpha_mask_size == 0 case.
19898
0cdc2a09
BC
198992010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19900
19901 GRUB shell lexer and parser improvements.
19902
19903 * conf/any-emu.rmk: Build rule updates.
19904 * conf/common.rmk: Likewise.
19905 * conf/i386-coreboot.rmk: Likewise.
19906 * conf/i386-efi.rmk: Likewise.
19907 * conf/i386-ieee1275.rmk: Likewise.
19908 * conf/i386-pc.rmk: Likewise.
19909 * conf/powerpc-ieee1275.rmk: Likewise.
19910 * conf/x86_64-efi.rmk: Likewise.
19911
19912 * configure.ac: Configure check for flex.
19913
19914 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19915 types.
19916 (grub_lexer_param): Struct member updates.
19917 (grub_parser_param): Likewise.
19918 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19919 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19920 (grub_script_lexer_init): Prototype update.
19921 (grub_script_lexer_record_start): Likewise.
19922 (grub_script_lexer_record_stop): Likewise.
19923 (grub_script_lexer_yywrap): New function prototype.
19924 (grub_script_lexer_fini): Likewise.
19925 (grub_script_execute_argument_to_string): Removed by...
19926 (grub_script_execute_argument_to_argv): ...better version.
19927
19928 * script/execute.c (ROUND_UPTO): New macro.
19929 (grub_script_execute_cmdline): Out of memory fixes.
19930 (grub_script_execute_menuentry): Likewise.
19931 (grub_script_execute_argument_to_string): Removed. Update all
19932 users by...
19933 (grub_script_execute_argument_to_argv): ...better version.
19934 * script/function.c (grub_script_function_create): Use
19935 grub_script_execute_argument_to_argv instead of
19936 grub_script_execute_argument_to_string.
19937
19938 * script/lexer.c (check_varstate): Removed.
19939 (check_textstate): Removed.
19940 (grub_script_lexer_record_start): Likewise.
19941 (grub_script_lexer_record_stop): Likewise.
19942 (recordchar): Replaced with...
19943 (grub_script_lexer_record): ...new function.
19944 (nextchar): Removed.
19945 (grub_script_lexer_init): Rewritten.
19946 (grub_script_yylex): Rewritten.
19947 (append_newline): New function.
19948 (grub_script_lexer_yywrap): New function.
19949 (grub_script_lexer_fini): New function.
19950 (grub_script_yyerror): Sets error flag.
19951
19952 * script/yylex.l: New file.
19953 (grub_lexer_yyfree): Wrapper for flex yyffre.
19954 (grub_lexer_yyalloc): Likewise.
19955 (grub_lexer_yyrealloc): Likewise.
19956 * script/parser.y: Refactored.
19957
19958 * script/script.c (grub_script_arg_add): Out of memory fixes.
19959 (grub_script_add_arglist): Likewise.
19960 (grub_script_create_cmdline): Likewise.
19961 (grub_script_create_cmdmenu): Likewise.
19962 (grub_script_add_cmd): Likewise.
19963 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19964 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19965 unnecessary code.
19966
19967 * tests/grub_script_echo1.in: New testcase.
19968 * tests/grub_script_vars1.in: New testcase.
19969 * tests/grub_script_echo_keywords.in: New testcase.
19970
1d63a066
VS
199712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 Remove some redundancy in build system.
19974
19975 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19976 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19977 (TARGET_LDFLAGS): Add -nostdlib.
19978 (TARGET_IMG_LDFLAGS): Likewise.
19979 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19980 anything since mmap isn't available.
19981 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19982 Add util/time.c.
19983 (pkglib_MODULES): Remove reboot.mod.
19984 (reboot_mod_SOURCES): Removed.
19985 (reboot_mod_CFLAGS): Likewise.
19986 (reboot_mod_LDFLAGS): Likewise.
19987 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19988 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19989 (DEFSYMFILES): Add kernel_syms.lst.
19990 (kernel_img_HEADERS): Add common headers.
19991 (symlist.c): New target.
19992 (kernel_syms.lst): Likewise.
19993 (pkglib_MODULES): Add memdisk.mod.
19994 (memdisk_mod_SOURCES): New variable.
19995 (memdisk_mod_CFLAGS): Likewise.
19996 (memdisk_mod_LDFLAGS): Likewise.
19997 (pkglib_MODULES): Add reboot.mod.
19998 (reboot_mod_SOURCES): New variable.
19999 (reboot_mod_CFLAGS): Likewise.
20000 (reboot_mod_LDFLAGS): Likewise.
20001 (pkglib_MODULES): Add date.mod.
20002 (date_mod_SOURCES): New variable.
20003 (date_mod_CFLAGS): Likewise.
20004 (date_mod_LDFLAGS): Likewise.
20005 (pkglib_MODULES): Add datehook.mod.
20006 (datehook_mod_SOURCES): New variable.
20007 (datehook_mod_CFLAGS): Likewise.
20008 (datehook_mod_LDFLAGS): Likewise.
20009 (pkglib_MODULES): Add lsmmap.mod.
20010 (lsmmap_mod_SOURCES): New variable.
20011 (lsmmap_mod_CFLAGS): Likewise.
20012 (lsmmap_mod_LDFLAGS): Likewise.
20013 (pkglib_MODULES): Add boot.mod.
20014 (boot_mod_SOURCES): New variable.
20015 (boot_mod_CFLAGS): Likewise.
20016 (boot_mod_LDFLAGS): Likewise.
20017 * conf/i386-coreboot.rmk: Removed redundant parts.
20018 * conf/i386-ieee1275.rmk: Likewise.
20019 * conf/i386-pc.rmk: Likewise.
20020 * conf/mips-yeeloong.rmk: Likewise.
20021 * conf/mips.rmk: Likewise.
20022 * conf/powerpc-ieee1275.rmk: Likewise.
20023 * conf/sparc64-ieee1275.rmk: Likewise.
20024 * conf/x86_64-efi.rmk: Likewise.
20025 * conf/i386-coreboot.rmk: Moved qemu parts ..
20026 * conf/i386-qemu.rmk: ... here
20027 * conf/i386-efi.rmk: Moved common parts to...
20028 * conf/x86-efi.rmk: ... here.
20029 * conf/i386.rmk: Added modules common to all x86 variants.
20030 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20031 * disk/memdisk.c: Remove grub/machine/kernel.h.
20032 * gensymlist.sh.in: Include symbol.h.
20033 * hook/datehook.c: Correct module name.
20034 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20035 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20036 * include/grub/i386/efi/serial.h: New file.
20037 * include/grub/x86_64/efi/serial.h: Likewise.
20038 * util/time.c: Likewise.
20039 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20040
463ac55f
CK
200412010-03-14 Colin King <colin.king@ubuntu.com>
200422010-03-14 Colin Watson <cjwatson@ubuntu.com>
20043
20044 Shrink the pre-partition-table part of boot.img by eight bytes.
20045
20046 * boot/i386/pc/boot.S (ERR): New macro.
20047 (chs_mode): Use ERR.
20048 (geometry_error): Likewise.
20049 (hd_probe_error): Remove. This is only used once, so we wrwite
20050 it inline instead.
20051 (read_error): Instead of printing read_error_string, just set up
20052 %si and fall through to ...
20053 (error_message): ... this new function, also used by ERR.
20054
08e46ede
CW
200552010-03-14 Colin Watson <cjwatson@ubuntu.com>
20056
20057 Speed up consecutive hostdisk operations on the same device.
20058
20059 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20060 (grub_util_biosdisk_open): Initialise disk->data.
20061 (struct linux_partition_cache): New structure.
20062 (linux_find_partition): Cache partition start positions; these are
20063 expensive to compute on every read and write.
20064 (open_device): Cache open file descriptor in disk->data, so that we
20065 don't have to reopen it and flush the buffer cache for consecutive
20066 operations on the same device.
20067 (grub_util_biosdisk_close): New function.
20068 (grub_util_biosdisk_dev): Set `close' member.
20069
20070 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20071 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20072 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20073 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20074 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20075
4a6d2d06
VS
200762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 Compile parts of grub-emu as modules.
20079
20080 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20081 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20082 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20083 (all-local): Add $(GRUB_EMU).
20084 (install-local): Install $(GRUB_EMU).
20085 (uninstall): Uninstall $(GRUB_EMU).
20086 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20087 * kern/dl.c: Likewise.
20088 * commands/sleep.c: Not include machine/time.h.
20089 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20090 (COMMON_CFLAGS): Likewise.
20091 (sbin_UTILITIES): Remove grub-emu.
20092 (grub_emu_SOURCES): Removed.
20093 (kernel_img_RELOCATABLE): New variable.
20094 (pkglib_PROGRAMS): Add kernel.img.
20095 (kernel_img_SOURCES): New variable
20096 (kernel_img_CFLAGS): Likewise.
20097 (kernel_img_LDFLAGS): Likewise.
20098 (TARGET_NO_STRIP): Likewise.
20099 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20100 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20101 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20102 (grub-emu): New target.
20103 (GRUB_EMU): New variable.
20104 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20105 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20106 * loader/xnu.c: Likewise.
20107 * include/grub/pci.h: Likewise.
20108 * genemuinit.sh: New file.
20109 * genemuinitheader.sh: Likewise.
20110 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20111 Support TARGET_NO_DYNAMIC_MODULES.
20112 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20113 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20114 * disk/loopback.c: Likewise.
20115 * font/font_cmd.c: Likewise.
20116 * partmap/acorn.c: Likewise.
20117 * partmap/amiga.c: Likewise.
20118 * partmap/apple.c: Likewise.
20119 * partmap/gpt.c: Likewise.
20120 * partmap/msdos.c: Likewise.
20121 * partmap/sun.c: Likewise.
20122 * parttool/msdospart.c: Likewise.
20123 * term/gfxterm.c: Likewise.
20124 * video/bitmap.c: Likewise.
20125 * video/readers/jpeg.c: Likewise.
20126 * video/readers/png.c: Likewise.
20127 * video/readers/tga.c: Likewise.
20128 * video/video.c: Likewise.
20129 * util/grub-emu.c (read_command_list): Removed.
20130 (main): Don't call util_init_nls.
20131 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20132 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20133
91fdd2ed
VS
201342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20135
20136 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20137 date.mod, datehook.mod.
20138 (datetime_mod_SOURCES): New variable.
20139 (datetime_mod_CFLAGS): Likewise.
20140 (datetime_mod_LDFLAGS): Likewise.
20141 (date_mod_SOURCES): Likewise.
20142 (date_mod_CFLAGS): Likewise.
20143 (date_mod_LDFLAGS): Likewise.
20144 (datehook_mod_SOURCES): Likewise.
20145 (datehook_mod_CFLAGS): Likewise.
20146 (datehook_mod_LDFLAGS): Likewise.
20147 * conf/sparc64-ieee1275.rmk: Likewise.
20148 * lib/ieee1275/datetime.c: New file.
20149
873ccae6
VS
201502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20153 (ieee1275_fb_mod_SOURCES): New variable.
20154 (ieee1275_fb_mod_CFLAGS): Likewise.
20155 (ieee1275_fb_mod_LDFLAGS): Likewise.
20156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20157 New proto.
20158 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20159 (HEAP_MAX_ADDR): Likewise.
20160 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20161 type.
20162 Correct stop condition.
20163 (grub_ieee1275_devices_iterate): New function.
20164 * video/ieee1275.c: New file.
20165
601c97c0
VS
201662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20169
20170 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20171 as scratch.
20172 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20173 SCRATCH_PAD_DISKBOOT as scratch.
20174 (bootit): Pass Openfirmware pointer in %o4.
20175 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20176 of 0x200000.
20177 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20178 with util/grub-mkrawimage.c.
20179 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20180 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20181 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20182 (grub_aout_load) [GRUB_UTIL]: Likewise.
20183 * include/grub/kernel.h (grub_modules_get_end): New proto.
20184 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20185 (SCRATCH_PAD_BOOT): New definition.
20186 (SCRATCH_PAD_DISKBOOT): Likewise.
20187 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20188 * include/grub/sparc64/ieee1275/ieee1275.h
20189 (grub_ieee1275_original_stack): New variable
20190 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20191 New definition
20192 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20193 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20194 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20195 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20196 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20197 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20198 (grub_platform_image_format_t): New type.
20199 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20200 * kern/main.c (grub_modules_get_end)
20201 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20202 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20203 (codestart): Switch stacks.
20204 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20205 variable.
20206 (grub_heap_init): Use grub_modules_get_end.
20207 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20208 stack.
20209 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20210 (main): Likewise.
20211 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20212
d68b491e
TG
202132010-03-14 Thorsten Glaser <tg@mirbsd.org>
20214
20215 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20216
4e02ed50
MK
202172010-03-08 Matt Kraai <kraai@ftbfs.org>
20218
20219 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20220 bug #559005).
20221
1f15fc1e
VS
202222010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 * genmoddep.awk: Output all missing symbols and not only first.
20225
fce5d8ff
VS
202262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20227
20228 * NEWS: Put the date of 1.98 release.
20229
d1e8a02f
VS
202302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20231
20232 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
20233 ft2build.h.
20234
696fd607
VS
202352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
20238 completition in the middle of string.
20239
33e2e6f3
VS
202402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * util/grub-mkrescue.in: Use mktemp with explicit template.
20243
b1f6d291
VS
202442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
20247
2ac227c7
VS
202482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
20251 right pointer.
20252
8f9a632b
VS
202532010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 Fix FreeBSD compilation.
20256
20257 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
20258 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
20259
60b03859
VS
202602010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20263
48a5a769
VS
202642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
20267
3ab4bd77
VS
202682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
20271
d116e0d8
RM
202722010-03-04 Robert Millan <rmh.grub@aybabtu.com>
20273
20274 Support relative image path in theme file.
20275
20276 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
20277 (image_set_property): Handle theme_dir and relative path.
20278
c7ef54aa
VS
202792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20280
20281 * configure.ac: Alias amd64 to x86_64.
20282
fcee14ed
VS
202832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20284
20285 * NEWS: mention multiboot on EFI.
20286
d0780363
VS
202872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20288
20289 * kern/main.c (grub_load_modules): Handle errors from init functions of
20290 embeded modules.
20291
41168ea4
VS
202922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20293
20294 * normal/autofs.c (autoload_fs_module): Handle errors.
20295
b54d93ac
VS
202962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 Disable linux.mod on qemu-mips since it's not functional and leads
20299 to compilation failure.
20300
20301 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
20302 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
20303 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
20304 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
20305 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
20306 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
20307 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
20308 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
20309 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
20310 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
20311 Reported by: BVK Chaitanya
20312
fc8345da
JU
203132010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
20314
20315 * INSTALL: Add gettext as a dependency and add qemu to a new section
20316 "Prerequisites for make-check".
20317
4760f979
CF
203182010-03-04 Christian Franke <franke@computer.org>
20319
20320 * util/grub-pe2elf.c: Add missing include "progname.h".
20321
f209b5b2
VS
203222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * normal/crypto.c (read_crypto_list): Fix a typo.
20325 Reported by: Seth Goldberg.
20326
b4b7be98
VS
203272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20328
20329 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 20330 Reported by: Seth Goldberg.
b4b7be98 20331
c0ee0385
VS
203322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20333
20334 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
20335 ascii.bitmaps.
20336
a8efbf64
VS
203372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20338
20339 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 20340 Reported by: Seth Goldberg.
a8efbf64 20341
08dcd913
VS
203422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20343
20344 * util/i386/efi/grub-install.in: Copy gettext files.
20345
c4d0b332
VS
203462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
20349
c6f2fe52
VS
203502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20351
20352 Wait for user entry basing on presence of output rather than on errors.
20353
20354 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
20355 (grub_install_newline_hook): Likewise.
20356 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
20357 * normal/menu.c (show_menu): Check line_counter to determine presence
20358 of output.
20359 * normal/term.c (grub_normal_line_counter): New variable.
20360 (grub_normal_get_line_counter): New function.
20361 (grub_install_newline_hook): Likewise.
20362
5382b1e4
VS
203632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
20366
5519963b
VS
203672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * configure.ac: Update version to 1.98.
20370
72b28631
VS
203712010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 * util/grub.d/10_linux.in (linux_entry): Don't default to
20374 gfxpayload=keep if Linux doesn't support video handover.
20375
c140a180
VS
203762010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 Don't compile video modules on yeeloong since video subsystem is part
20379 of kernel.
20380
20381 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
20382 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
20383 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
20384 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
20385 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20386 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
20387 * include/grub/bitmap_scale.h: Likewise.
20388 * include/grub/bufio.h: Likewise.
20389 * include/grub/font.h: Likewise.
20390 * include/grub/gfxterm.h: Likewise.
20391 * include/grub/video.h: Likewise.
20392 * include/grub/vbe.h: Don't include video_fb.h.
20393 * video/i386/pc/vbe.c: Include video_fb.h.
20394 * commands/i386/pc/vbetest.c: Include video.h.
20395
a0ca21c2
CW
203962010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
20397
20398 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
20399 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
20400 default entry if GRUB_SAVEDEFAULT=true. This allows using
20401 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
20402 saving a new default on every boot.
20403
4a8a763c
VS
204042010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * normal/crypto.c (read_crypto_list): Fix a memory leak.
20407 * normal/term.c (read_terminal_list): Likewise.
20408 * normal/main.c (grub_normal_init_page): Likewise.
20409 (grub_normal_read_line_real): Likewise.
20410
607ffde2
VS
204112010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
20414 memory leak.
20415 Reported by: Seth Goldberg.
20416
2b8fa975
CW
204172010-02-24 Joey Korkames <joey+lists@kidfixit.com>
20418
20419 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
20420 duplicate declaration of `start'.
20421
618307dd
VS
204222010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20423
20424 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
20425 filename.
20426 Reported by: Georgy Buranov
20427
7dd05b96 204282010-02-20 Carles Pina i Estany <carles@pina.cat>
20429
20430 * util/grub-mkrawimage.c (usage): Change string formatting to
20431 improve gettext.
20432
d1484a42
MRA
204332010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20434
20435 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
20436 backspace keys.
20437
42b1d186
VS
204382010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
20441 Reported by: Michael Suchanek.
20442
204432010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
20444
20445 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
20446 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
20447
d9f31a41
VS
204482010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 Remove any reference to non-free fonts.
20451
20452 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
20453 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
20454 uses non-free components.
20455 * font/font.c (grub_font_get_name): Remove example name.
20456 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
20457 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20458 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
20459 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
20460
2793c71e
GB
204612010-02-16 Georgy Buranov <gburanov@gmail.com>
20462
20463 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
20464
402e3779
VS
204652010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
20468 Double divisor.
20469 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
20470 features.
20471 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
20472
0dd1e0dd
VS
204732010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * gensymlist.sh.in: Use TARGET_CC instead of CC.
20476
6fa7cfce
ST
204772010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20478
20479 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
20480 * docs/grub.texi (Command-line and menu entry commands): Document play
20481 command.
20482
37c8483b
ST
204832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20484
20485 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
20486 parse arguments as inline tempo and notes. Move code for playing notes
20487 to...
20488 (play): ... new function.
20489
14da0fb7
ST
204902010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20491
20492 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
20493 grub_uint16_t instead of short.
20494 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
20495 disk from little endian to cpu endianness.
20496
04459e70
ST
204972010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
20498
20499 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
20500 GRUB_TICKS_PER_SECOND instead of 120.
20501
a0876943
VS
205022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
20505 escape sequence after \e.
20506
e29f95dc
VS
205072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20508
20509 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
20510 non-ASCII characters.
20511
d27859b2
VS
205122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20513
20514 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
20515 set root in single quotes to prevent \, from being unescaped.
20516
bc028f2f
VS
205172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 Prevent unknown commands from stopping menuentry execution.
20520
20521 * script/execute.c (grub_script_execute_cmdline): Print error after
20522 unknown command.
20523
095f5f82
VS
205242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
20527 Reported by: Pavel Pisa.
20528
8c717950
VS
205292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
20532
904935c3
VS
205332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 Merge grub_ieee1275_map_physical into grub_map and rename to
20536 grub_ieee1275_map
20537
20538 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
20539 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
20540 Remove.
20541 * kern/ieee1275/openfw.c (grub_map): Rename to ...
20542 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
20543 necessary.
20544 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
20545
5b59a4e3
VS
205462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
20549 opening and not after.
20550
69e137e8
VS
205512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20552
20553 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
20554 constants.
20555
2c0fcc36
VS
205562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
20559 (alloc_phys): Use ALIGN_UP instead of align_addr.
20560
8c6052ce
VS
205612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
20564
17cec782
VS
205652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20566
20567 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
20568
e0128bbd
VS
205692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
20572 verbose dprintf.
20573
ca62070b
VS
205742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 Fix over-4GiB seek on sparc64.
20577
20578 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
20579 Replace pos_i and pos_lo with pos. All users updated.
20580 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20581 New constant.
20582 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20583 Likewise.
20584 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
20585 and pos_lo.
20586
bdca2607
VS
205872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20588
20589 * util/grub-mkrawimage.c (main): Call set_program_name.
20590
da278c4d
VS
205912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 Properly align 64-bit targets.
20594
20595 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20596 (generate_image): Use ALIGN_ADDR.
20597
b274d734
VS
205982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 Properly create cross-endian images.
20601
20602 * include/grub/types.h (grub_host_to_target_addr): New macro
20603 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20604
82da2062
VS
206052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20606
20607 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20608
7cae4377
VS
206092010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20612
20613 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20614 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20615 (grub_linux_boot): Divide by 64K when on VESA.
20616
65a533e7
VS
206172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20618
20619 Support GRUB_GFXPAYLOAD_LINUX.
20620
20621 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20622 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20623
dd01d397
VS
206242010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20625
20626 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20627 to show messages instead of discarding them.
20628 Process errors after executing command and not before. Keep old method
20629 too as precaution.
20630
660960d6
VS
206312010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20632
20633 * configure.ac: Check for ft2build.h.
20634
62509f04
VS
206352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20638
473df63d
VS
206392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 * genkernsyms.sh.in: Use TARGET_CC.
20642
c98d2a13
CW
206432010-02-07 Colin Watson <cjwatson@ubuntu.com>
20644
20645 * NEWS: Update.
20646
6e14234c
VS
206472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20650 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20651 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20652
b255e9cf
YB
206532010-02-07 Yves Blusseau <blusseau@zetam.org>
20654
6e14234c 20655 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20656
98e6959d
VS
206572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20658
20659 Fix warnings in grub-emu when compiling with maximum warning options.
20660
20661 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20662 (grub_arch_modules_addr): Return 0 and not NULL.
20663 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20664 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20665 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20666 of disk to dsk to avoid shadowing.
74e4934e
VS
20667 (find_free_slot): Fix prototype.
20668 * util/getroot.c (grub_util_is_dmraid): Make static.
20669 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20670 Add missing prototype.
20671 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20672
74e31b5c
VS
206732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20674
20675 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20676 appropriately.
20677
6b2ad14b
VS
206782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20681 code out.
20682
8f891adc
VS
206832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20686 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20687 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20688 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20689 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20690 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20691
74b45184
VS
206922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * include/grub/err.h (grub_err_printf): Don't export.
20695
a4bced77
VS
206962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20699
007d0695
VS
207002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20703 * kern/misc.c (grub_gettext_dummy): Make static.
20704
b6c0d9c2
VS
207052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20708 by non-valid ones.
20709 * kern/term.c (grub_putchar): Likewise.
20710
f51a90d0
VS
207112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20714 buggy hook call and memory leak.
20715
6846cec5
VS
207162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20719
468d69fe
VS
207202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20721
20722 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20723
51906b8c
VS
207242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20725
20726 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20727 modevar.
20728 Return grub_errno on allocation error.
20729
09706ce5
VS
207302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20731
20732 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20733
911df80c
YB
207342010-02-06 Yves Blusseau <blusseau@zetam.org>
20735
20736 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20737 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20738
3746a6bc
VS
207392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20742 non-pxe disk.
20743 (grub_pxefs_open): Likewise.
20744
09706ce5
VS
207452010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20746
20747 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20748 * util/grub.d/10_kfreebsd.in: Likewise.
20749 * util/grub.d/10_linux.in: Likewise.
20750
7cc192d9
VS
207512010-02-06 Colin D Bennett <colin@gibibit.com>
20752
20753 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20754 (gfxmenu_mod_SOURCES): New variable.
20755 (gfxmenu_mod_CFLAGS): Likewise.
20756 (gfxmenu_mod_LDFLAGS): Likewise.
20757 * include/grub/term.h (grub_term_set_current_output): Declare
20758 argument as const.
20759 * docs/gfxmenu-theme-example.txt: New file.
20760 * gfxmenu/gfxmenu.c: Likewise.
20761 * gfxmenu/gui_box.c: Likewise.
20762 * gfxmenu/gui_canvas.c: Likewise.
20763 * gfxmenu/gui_circular_progress.c: Likewise.
20764 * gfxmenu/gui_image.c: Likewise.
20765 * gfxmenu/gui_label.c: Likewise.
20766 * gfxmenu/gui_list.c: Likewise.
20767 * gfxmenu/gui_progress_bar.c: Likewise.
20768 * gfxmenu/gui_string_util.c: Likewise.
20769 * gfxmenu/gui_util.c: Likewise.
20770 * gfxmenu/icon_manager.c: Likewise.
20771 * gfxmenu/model.c: Likewise.
20772 * gfxmenu/named_colors.c: Likewise.
20773 * gfxmenu/theme_loader.c: Likewise.
20774 * gfxmenu/view.c: Likewise.
20775 * gfxmenu/widget-box.c: Likewise.
20776 * include/grub/gfxmenu_model.h: Likewise.
20777 * include/grub/gfxmenu_view.h: Likewise.
20778 * include/grub/gfxwidgets.h: Likewise.
20779 * include/grub/gui.h: Likewise.
20780 * include/grub/gui_string_util.h: Likewise.
20781 * include/grub/icon_manager.h: Likewise.
20782
207832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20784
20785 Agglomerate scrolling in gfxterm.
20786
20787 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20788 (grub_virtual_screen_setup): Initialise 'total_screen'.
20789 (write_char): Split to ...
20790 (paint_char): ... this ...
20791 (write_char): ... and this.
20792 (paint_char): Handle delayed scrolling.
20793 (draw_cursor): Likewise.
20794 (scroll_up): Split to ...
20795 (real_scroll): ... this ...
20796 (scroll_up): ... and this.
20797 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20798 characters.
20799 (grub_gfxterm_refresh): Call real_scroll.
20800
208012010-02-06 Colin D Bennett <colin@gibibit.com>
20802
20803 * include/grub/misc.h (grub_iscntrl): New inline function.
20804 (grub_isalnum): Likewise.
20805 (grub_strtol): Likewise.
20806
208072010-02-06 Colin D Bennett <colin@gibibit.com>
20808
20809 * normal/menu_text.c (get_entry_number): Move from here ...
20810 * normal/menu.c (get_entry_number): ... moved here.
20811 * include/grub/menu.h (grub_menu_get_default_entry_index):
20812 New prototype.
20813 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20814 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20815 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20816 (grub_menu_viewer_should_return): Likewise.
20817 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20818 * normal/menu_text.c (run_menu): Enable menu switching.
20819 * normal/menu_viewer.c (should_return): New variable.
20820 (menu_viewer_changed): Likewise.
20821 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20822 (grub_menu_viewer_should_return): New function.
20823 (menuviewer_write_hook): Likewise.
20824 (grub_menu_viewer_init): Likewise.
20825
208262010-02-06 Colin D Bennet <colin@gibibit.com>
208272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20828
20829 Support for gfxterm in a window.
20830
20831 * include/grub/gfxterm.h: New file.
20832 * include/grub/video.h (struct grub_video_rect): New declaration.
20833 (grub_video_rect_t): Likewise.
20834 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20835 (refcount): New variable.
20836 (render_target): Likewise.
20837 (window): Likewise.
20838 (repaint_callback): Likewise.
20839 (grub_virtual_screen_setup): Use 'render_target'.
20840 (init_window): New function.
20841 (grub_gfxterm_init_window): Likewise.
20842 (grub_gfxterm_init): Check reference counter.
20843 Use init_window.
20844 (destroy_window): New function.
20845 (grub_gfxterm_destroy_window): Likewise.
20846 (grub_gfxterm_fini): Check reference counter.
20847 Use destroy_window.
20848 (redraw_screen_rect): Restore viewport.
20849 Use 'render_target' and 'window'.
20850 Call 'repaint_callback'.
20851 (write_char): Use 'render_target'.
20852 (draw_cursor): Likewise.
20853 (scroll_up): Restore viewport.
20854 Use 'render_target' and 'window'.
20855 Call 'repaint_callback'.
20856 (grub_gfxterm_cls): Likewise.
20857 (grub_gfxterm_refresh): Use 'window'.
20858 (grub_gfxterm_set_repaint_callback): New function.
20859 (grub_gfxterm_background_image_cmd): Use 'window'.
20860 (grub_gfxterm_get_term): New function.
20861 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20862
208632010-02-06 Colin D Bennett <colin@gibibit.com>
20864
20865 Bitmap scaling support.
20866
20867 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20868 (bitmap_scale_mod_SOURCES): New variable.
20869 (bitmap_scale_mod_CFLAGS): Likewise.
20870 (bitmap_scale_mod_LDFLAGS): Likewise.
20871 * include/grub/bitmap_scale.h: New file.
20872 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20873 (background_image_cmd_options): New variable.
20874 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20875 (cmd): Rename and change type to ...
20876 (background_image_cmd_handle): ... this. All users updated.
20877 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20878 * video/bitmap_scale.c: New file.
20879
208802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 SDL support.
20883
20884 * Makefile.in (LIBSDL): New variable.
20885 (enable_grub_emu_sdl): Likewise.
20886 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20887 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20888 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20889 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20890 * util/sdl.c: New file.
20891
208922010-02-06 Colin D Bennett <colin@gibibit.com>
208932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 Double buffering support.
20896
20897 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20898 * include/grub/video.h: Update comment.
20899 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20900 New type.
20901 (grub_video_fb_doublebuf_blit_init): New prototype.
20902 * term/gfxterm.c (scroll_up): Support double buffering.
20903 (grub_gfxterm_refresh): Likewise.
20904 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20905 (grub_video_fb_doublebuf_blit_init): Likewise.
20906 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20907 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20908 'displayed_page', 'render_page' and 'update_screen'.
20909 (grub_video_vbe_fini): Free offscreen buffer.
20910 (doublebuf_pageflipping_commit): New function.
20911 (doublebuf_pageflipping_update_screen): Likewise.
20912 (doublebuf_pageflipping_init): Likewise.
20913 (double_buffering_init): Likewise.
20914 (grub_video_vbe_setup): Enable doublebuffering.
20915 (grub_video_vbe_swap_buffers): Implement.
20916 (grub_video_vbe_set_active_render_target): Handle double buffering.
20917 (grub_video_vbe_get_active_render_target): Likewise.
20918 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20919 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20920 (grub_video_vbe_enable_double_buffering): Likewise.
20921 (grub_video_vbe_swap_buffers): Use update_screen.
20922 (grub_video_set_mode): Use double buffering.
20923
209242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20925
20926 * maintainance/gentrigtables.py: Remove.
20927 * lib/trig.c: Likewise.
20928
20929 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20930
20931 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20932 `trigtables.c'.
20933 (trigtables.c): New rule.
20934 (gentrigtables): Likewise.
20935 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20936
209372010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20938
20939 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20940 integer constants.
20941
209422010-02-06 Colin D Bennet <colin@gibibit.com>
20943
20944 Trigonometry support.
20945
20946 * include/grub/trig.h: New file.
20947 * lib/trig.c: Likewise.
20948 * maintainance/gentrigtables.py: Likewise.
20949 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20950 (trig_mod_SOURCES): New variable.
20951 (trig_mod_CFLAGS): Likewise.
20952 (trig_mod_LDFLAGS): Likewise.
20953
5562834e
VS
209542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20957 disk devices.
20958
4f8528fc
VS
209592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20962 error.
20963
2b4068e9
VS
209642010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20965
20966 * util/hostdisk.c (open_device): Don't use partition device when reading
20967 before the partition.
20968 (grub_util_biosdisk_read): Don't read from partition and before the
20969 partition in single operation.
20970 (grub_util_biosdisk_write): Don't write to partition and before the
20971 partition in single operation.
20972
399f6e4d
TL
209732010-02-03 Torsten Landschoff <torsten@debian.org>
20974
20975 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20976 last sectors.
20977
996649b0
VS
209782010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20979
20980 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20981 CDROM reads.
20982 (grub_biosdisk_write): Refuse to write to CDROM.
20983
3b205d4d
VS
209842010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20985
20986 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20987
61e89d9d
VS
209882010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 * font/font.c (find_glyph): Check that bmp_idx is available before
20991 using it.
20992 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20993 with (font == NULL).
20994
bf7fcba2
CS
209952010-01-28 Christian Schmitt <chris@ilovelinux.de>
20996
20997 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20998
f45d2663
BC
209992010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21000
21001 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21002 * util/grub-script-check.c (getline): Fix empty lines case.
21003
ec1444e6
RM
210042010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21005
21006 * Makefile.in (check): Exit with fail status when one of the tests
21007 fails.
21008 * tests/example_functional_test.c (example_test): Fix reversed assert.
21009 * tests/example_unit_test.c (example_test): Likewise.
21010
2e1cb9bb
CW
210112010-01-28 Colin Watson <cjwatson@ubuntu.com>
21012
21013 * util/grub.d/10_linux.in: This script does not use any of the
21014 contents of gettext.sh, only the external command `gettext', so stop
21015 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21016 the same prefix as GRUB.)
21017 * util/grub.d/10_kfreebsd.in: Likewise.
21018
63533ab0
VS
210192010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21020
21021 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21022 of the line.
21023
989e1f93
VS
210242010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21025
21026 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21027 last sectors.
21028
e709ebe2
VS
210292010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21030
21031 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21032 having a 4KiB and not 32KiB buffer size.
21033
27dea7ed
RM
210342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21035
21036 * util/hostfs.c: Include `<errno.h>'.
21037 (grub_hostfs_read): Handle errors from fseeko() and fread().
21038
67667b9c
RM
210392010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21040
21041 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21042 loop when using read hooks on files whose size isn't sector-aligned.
21043
c294d9d8
RM
210442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21045
21046 Remove unused parameter.
21047
21048 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21049 (grub_iso9660_open): Remove initialization of `data->length'.
21050
af75a9f1
RM
210512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21052
21053 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21054 memleak conditions.
21055
254e2ce5 210562010-01-27 Carles Pina i Estany <carles@pina.cat>
21057
21058 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21059 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21060
b510928c 210612010-01-26 Carles Pina i Estany <carles@pina.cat>
21062
21063 * util/bin2h.c (usage): Fix warning (space after backslash).
21064
aa2f9dd2 210652010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 21066
21067 * font/font.c: Include `grub/fontformat.h.
21068 Remove font file format constants.
21069 (grub_font_load): Use the new macros.
21070 * include/grub/fontformat.h: New file.
21071 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21072 (write_font_pf2): Use the new macros.
21073
94e7e712
RM
210742010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21075
21076 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21077 does.
21078
3973a59a
RM
210792010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21080
21081 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21082
21083 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21084 (_start): Macroify `0x7F'.
21085
21086 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21087 (make_install_device): Use "(pxe)" as fallback prefix when booting
21088 via PXE.
21089
42e0cba3
GS
210902010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21091
21092 * configure.ac: Reset LIBS after check for libgcc symbols.
21093
847effd8
CW
210942010-01-25 Colin Watson <cjwatson@ubuntu.com>
21095
21096 * util/hostdisk.c (open_device): Add trailing newline to debug
21097 message.
21098
ea4a7e35
GS
210992010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21100
21101 * configure.ac: Check for `limits.h'.
21102 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21103
67951a53
RM
211042010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21105
21106 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21107 capitalize error strings.
21108
c273d4ce
ST
211092010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21110
21111 * util/grub.d/10_hurd.in: Add a recovery mode.
21112
69be5b74
VS
211132010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * configure.ac: Check for libgcc symbols with -nostdlib.
21116
fc9e5810
BC
211172010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21118
21119 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21120
4b358c0a
VS
211212010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21122
21123 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21124 stack since heap may be unavailable at that point.
21125 (grub_ofconsole_gotoxy): Likewise.
21126
454fcd1c
VS
211272010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21128
21129 * configure.ac: Check for _restgpr_14_x.
21130 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21131 and _savegpr_* prototypes.
21132
566863ca
RM
211332010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21134
21135 Use generic grub_reboot() for i386-efi.
21136
21137 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21138 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21139 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21140
bf86e59a
VS
211412010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21142
21143 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21144 presence of "prefix" variable as it breaks when normal.mod is
21145 embedded.
21146
d645e0f8
VS
211472010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21150 stack since heap is unavailable at that point.
21151
f9ab2e25
VS
211522010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21155 (grub_freebsd_bootinfo): Rewritten.
21156 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21157
01fc7054
VS
211582010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21159
21160 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21161
caab4fd6
RM
211622010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21163
21164 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21165 domain now.
21166
67eb1427
FZ
211672010-01-20 Felix Zielcke <fzielcke@z-51.de>
21168
21169 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21170 around for handling "/" to the correct fix. Fix a memory leak. Use
21171 xstrdup instead of strdup.
21172
a9ed4ff3
VS
211732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21174
21175 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21176
211772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
21178
21179 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21180
21181 * font/font.c (struct grub_font): New member 'bmp_idx'.
21182 (font_init): Initialise 'bmp_idx'.
21183 (load_font_index): Fill 'bmp_idx'.
21184 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21185
48209f4f
VS
211862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21189 unnecessary calls.
21190
9f0a4bb7
VS
211912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21192
21193 Move context handling out of the kernel.
21194
21195 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21196 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21197 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21198 * conf/i386-efi.rmk: Likewise.
21199 * conf/i386-ieee1275.rmk: Likewise.
21200 * conf/i386-pc.rmk: Likewise.
21201 * conf/powerpc-ieee1275.rmk: Likewise.
21202 * conf/sparc64-ieee1275.rmk: Likewise.
21203 * conf/x86_64-efi.rmk: Likewise.
21204 * include/grub/env.h: Include grub/menu.h.
21205 (grub_env_var_type): Removed.
21206 (grub_env_var): Replaced field 'type' with 'global'.
21207 (grub_env_find): New prototype.
21208 (grub_env_context_open): Remove EXPORT_FUNC.
21209 (grub_env_context_close): Likewise.
21210 (grub_env_export): Likewise.
21211 (grub_env_set_data_slot): Removed.
21212 (grub_env_get_data_slot): Likewise.
21213 (grub_env_unset_data_slot): Likewise.
21214 (grub_env_unset_menu): New prototype.
21215 (grub_env_set_menu): Likewise.
21216 (grub_env_get_menu): Likewise.
21217 * include/grub/env_private.h: New file.
21218 * include/grub/normal.h (grub_context_init): New prototype.
21219 (grub_context_fini): Likewise.
21220 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21221 * normal/context.c (grub_cmd_export): ... to here.
21222 * kern/env.c: Include env_private.h.
21223 (HASHSZ): Moved to include/grub/env_private.h.
21224 (grub_env_context): Likewise.
21225 (grub_env_sorted_var): Likewise.
21226 (current_context): Renamed from this ...
21227 (grub_current_context): ...to this. 'static' removed. All users updated.
21228 (grub_env_find): Removed 'static'.
21229 (grub_env_context_open): Moved to normal/context.c.
21230 (grub_env_context_close): Likewise.
21231 (grub_env_export): Likewise.
21232 (mangle_data_slot_name): Removed.
21233 (grub_env_set_data_slot): Likewise.
21234 (grub_env_get_data_slot): Likewise.
21235 (grub_env_unset_data_slot): Likewise.
21236 * kern/main.c (grub_set_root_dev): Don't export root.
21237 It will be done later.
21238 (grub_main): Don't export prefix.
21239 It will be done later.
21240 * normal/context.c: New file.
21241 * normal/main.c (free_menu): Use grub_env_unset_menu.
21242 (grub_normal_add_menu_entry): Use grub_env_get_menu.
21243 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
21244 (GRUB_MOD_INIT(normal)): Call grub_context_init.
21245 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
21246
8dd35b8c
VS
212472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 setpci support.
21250
21251 * commands/setpci.c: New file.
21252 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
21253 (setpci_mod_SOURCES): New variable.
21254 (setpci_mod_CFLAGS): Likewise.
21255 (setpci_mod_LDFLAGS): Likewise.
21256
449193d5
VS
212572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21258
21259 Byte-addressable PCI configuration space.
21260
21261 * bus/pci.c (grub_pci_make_address): Use byte address instead of
21262 dword address.
21263 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
21264 GRUB_PCI_REG_CACHELINE.
21265 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
21266 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
21267 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
21268 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
21269 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
21270 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
21271 grub_pci_make_address.
21272 (lock_rom_area): Likewise.
21273 * commands/lspci.c (grub_lspci_iter): Use macroses
21274 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
21275 of grub_pci_make_address.
21276 * disk/ata.c (grub_ata_pciinit): Likewise.
21277 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
21278 (GRUB_PCI_REG_VENDOR): Likewise.
21279 (GRUB_PCI_REG_DEVICE): Likewise.
21280 (GRUB_PCI_REG_COMMAND): Likewise.
21281 (GRUB_PCI_REG_STATUS): Likewise.
21282 (GRUB_PCI_REG_REVISION): Likewise.
21283 (GRUB_PCI_REG_CLASS): Likewise.
21284 (GRUB_PCI_REG_CACHELINE): Likewise.
21285 (GRUB_PCI_REG_LAT_TIMER): Likewise.
21286 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
21287 (GRUB_PCI_REG_BIST): Likewise.
21288 (GRUB_PCI_REG_ADDRESSES): Likewise.
21289 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21290 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21291 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21292 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21293 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21294 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21295 (GRUB_PCI_REG_CIS_POINTER): Likewise.
21296 (GRUB_PCI_REG_SUBVENDOR): Likewise.
21297 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
21298 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
21299 (GRUB_PCI_REG_CAP_POINTER): Likewise.
21300 (GRUB_PCI_REG_IRQ_LINE): Likewise.
21301 (GRUB_PCI_REG_IRQ_PIN): Likewise.
21302 (GRUB_PCI_REG_MIN_GNT): Likewise.
21303 (GRUB_PCI_REG_MAX_LAT): Likewise.
21304 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
21305 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
21306 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 21307 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
21308 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
21309 space.
21310
96d73208
RM
213112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21312
21313 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
21314 can be reliably determined to be supported.
21315
d4484482
RM
213162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21317
21318 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
21319 that VESA is supported.
21320 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
21321 supported.
21322
00308ecf
VS
213232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
21326
f66924a4
RM
213272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21328
21329 * util/misc.c (make_system_path_relative_to_its_root): Work around
21330 special-casing of "/", as previous incarnation of this routine did.
21331
cbca0ada
VS
213322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21333
21334 Fix any-emu compilation.
21335
21336 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
21337 * grub_bin2h_SOURCES: New variable.
21338
34a66d99
RM
213392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21340
21341 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
21342
94fabf58
RM
213432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21344
21345 * util/grub.d/00_header.in: Fix handling of locale_dir.
21346
02cf98ca
VS
213472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21348
21349 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
21350 as possible unifont location (Gentoo).
21351 Reported by: Alexander Brüning
21352
327dbcd7
VS
213532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 Don't try to generate lists for kernel.img.
21356
21357 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
21358 (pkglib_MODULES): Remove kernel.img.
21359 (kernel_img_EXPORTS): Removed.
21360 (kernel_img_RELOCATABLE): New variable.
21361 * conf/x86_64-efi.rmk: Likewise.
21362 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
21363
ca467290
VS
213642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
21367 grub_xasprintf or grub_snprintf.
21368 (grub_vsprintf): Likewise.
21369 (grub_snprintf): New proto.
21370 (grub_vsnprintf): Likewise.
21371 (grub_xasprintf): Likewise.
21372 (grub_xvasprintf): Likewise.
21373 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
21374 (grub_sprintf): Removed.
21375 (grub_vsnprintf): New function.
21376 (grub_snprintf): Likewise.
21377 (grub_xvasprintf): Likewise.
21378 (grub_xasprintf): Likewise.
21379 (grub_vsprintf): Renamed to ...
21380 (grub_vsnprintf_real): ...this. New argument max_len.
21381
aca655fd
BC
213822010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
21383
21384 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
21385 fix grub-script-check warning.
21386
7ee92c32
VS
213872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21388
21389 * include/grub/font.h (grub_font_load): Fix prototype.
21390
f80927ca
VS
213912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
21394
119c50ea
VS
213952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * include/grub/x86_64/at_keyboard.h: New file.
21398
47d5f3c1
VS
213992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * loader/mips/linux.c: Include missing grub/i18n.h.
21402
55ff5266
RM
214032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21404
21405 * normal/menu.c (notify_execution_failure): Clarify error message.
21406
c893cc87
RM
214072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21408
21409 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
21410 return value (and revert all return statements). Update users.
21411
917dd370
CW
214122010-01-20 Dan Merillat <debian@dan.merillat.org>
21413
21414 * kern/device.c (grub_device_iterate): Allocate new part_ent
21415 structure based on sizeof (*p) rather than sizeof (p->next), to
21416 account for structure padding.
21417
21418 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
21419 disk is NULL, which might happen for LVM physical volumes with no
21420 LVM signature.
21421
d4a4ee57
RM
214222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21423
21424 * loader/mips/linux.c (grub_cmd_initrd)
21425 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
21426
214272009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21428
21429 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
21430 (grub_video_video_init, grub_video_bitmap_init)
21431 (grub_font_manager_init, grub_term_gfxterm_init)
21432 (grub_at_keyboard_init): New extern declarations.
21433 (grub_machine_init): Initialize gfxterm and at_keyboard.
21434
21435 * kern/main.c (grub_main): Revert grub_printf delay kludge.
21436
21437 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
21438 `gfxterm.mod' into core image.
21439
21440 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21441 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21442 (kernel_img_FORMAT): Copy to ...
21443
21444 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21445 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21446 (kernel_img_FORMAT): ... here, and ...
21447
21448 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21449 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21450 (kernel_img_FORMAT): ... here.
21451
21452 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
21453 and input (at_keyboard) terminals in kernel.
21454 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
21455
21456 (pkglib_MODULES): Remove `pci.mod'.
21457 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
21458 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
21459 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21460 (at_keyboard_mod_LDFLAGS): Remove variables.
21461
214622010-01-11 Felix Zielcke <fzielcke@z-51.de>
21463
21464 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
21465
214662009-12-10 Robert Millan <rmh.grub@aybabtu.com>
21467
21468 * include/grub/mips/libgcc.h: Only export symbols for functions
21469 that libgcc provides.
21470
214712009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 MIPS support.
21474
21475 * bus/bonito.c: New file.
21476 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
21477 GRUB_PCI_NUM_DEVICES.
21478 * term/i386/pc/serial.c: Move to ...
21479 * term/serial.c: ... here. All users updated.
21480 * util/i386/pc/grub-mkimage.c: Move to ...
21481 * util/grub-mkrawimage.c: ... here. All users updated.
21482 * term/i386/pc/at_keyboard.c: Move to ...
21483 * term/at_keyboard.c: ... here. All users updated.
21484 * conf/mips-qemu-mips.rmk: New file.
21485 * conf/mips-yeeloong.rmk: Likewise.
21486 * conf/mips.rmk: Likewise.
21487 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
21488 mipsel-qemu-mips.
21489 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
21490 to port addresses.
21491 (grub_ata_pciinit): Support CS5536.
21492 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
21493 * font/font_cmd.c (loadfont_command): Open file before passing it to
21494 grub_font_load.
21495 (pseudo_file_read): New function.
21496 (pseudo_file_close): Likewise.
21497 (pseudo_fs): New structure.
21498 (load_font_module): New function.
21499 (GRUB_MOD_INIT(font_manager)): Load embedded font.
21500 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
21501 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
21502 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
21503 * include/grub/i386/at_keyboard.h: Split into ...
21504 * include/grub/at_keyboard.h: ... this ...
21505 * include/grub/i386/at_keyboard.h: ... and this.
21506 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
21507 New prototype.
21508 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
21509 updated.
21510 (grub_elf64_size): Likewise.
21511 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
21512 filename.
21513 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
21514 * include/grub/i386/coreboot/serial.h: Rewritten.
21515 * include/grub/i386/ieee1275/serial.h: Include
21516 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
21517 * include/grub/i386/pc/serial.h: Moved from here ...
21518 * include/grub/serial.h: ... to here. All users updated.
21519 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
21520 (GRUB_PCI_NUM_BUS): Likewise.
21521 (GRUB_PCI_NUM_DEVICES): Likewise.
21522 (grub_pci_device_map_range): Add missing volatile keyword.
21523 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
21524 * include/grub/mips/at_keyboard.h: New file.
21525 * include/grub/mips/cache.h: Likewise.
21526 * include/grub/mips/io.h: Likewise.
21527 * include/grub/mips/kernel.h: Likewise.
21528 * include/grub/mips/libgcc.h: Likewise.
21529 * include/grub/mips/pci.h: Likewise.
21530 * include/grub/mips/qemu-mips/boot.h: Likewise.
21531 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21532 * include/grub/mips/qemu-mips/loader.h: Likewise.
21533 * include/grub/mips/qemu-mips/memory.h: Likewise.
21534 * include/grub/mips/qemu-mips/serial.h: Likewise.
21535 * include/grub/mips/qemu-mips/time.h: Likewise.
21536 * include/grub/mips/relocator.h: Likewise.
21537 * include/grub/mips/time.h: Likewise.
21538 * include/grub/mips/types.h: Likewise.
21539 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
21540 * include/grub/mips/yeeloong/boot.h: Likewise.
21541 * include/grub/mips/yeeloong/kernel.h: Likewise.
21542 * include/grub/mips/yeeloong/loader.h: Likewise.
21543 * include/grub/mips/yeeloong/memory.h: Likewise.
21544 * include/grub/mips/yeeloong/pci.h: Likewise.
21545 * include/grub/mips/yeeloong/serial.h: Likewise.
21546 * include/grub/mips/yeeloong/time.h: Likewise.
21547 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
21548 * kern/elf.c (grub_elf32_size): New parameter. All users
21549 updated.
21550 (grub_elf64_size): Likewise.
21551 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
21552 Load modules before saying "Welcome to GRUB!".
21553 Call grub_refresh after saying "Welcome to GRUB!".
21554 * kern/mips/cache.S: New file.
21555 * kern/mips/cache_flush.S: Likewise.
21556 * kern/mips/dl.c: Likewise.
21557 * kern/mips/init.c: Likewise.
21558 * kern/mips/qemu-mips/init.c: Likewise.
21559 * kern/mips/startup.S: Likewise.
21560 * kern/mips/yeeloong/init.c: Likewise.
21561 * kern/term.c (grub_putcode): Handle NULL terminal.
21562 (grub_getcharwidth): Likewise.
21563 (grub_getkey): Likewise.
21564 (grub_checkkey): Likewise.
21565 (grub_getkeystatus): Likewise.
21566 (grub_getxy): Likewise.
21567 (grub_getwh): Likewise.
21568 (grub_gotoxy): Likewise.
21569 (grub_cls): Likewise.
21570 (grub_setcolorstate): Likewise.
21571 (grub_setcolor): Likewise.
21572 (grub_getcolor): Likewise.
21573 (grub_refresh): Likewise.
21574 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
21575 (write_jump): Add hatch nop.
21576 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
21577 * lib/mips/setjmp.S: New file.
21578 * loader/mips/linux.c: Likewise.
21579 * term/i386/pc/at_keyboard.c: Move from here ...
21580 * term/at_keyboard.c: ... to here.
21581 * term/i386/pc/serial.c: Moved from here ...
21582 * term/serial.c: ... to here. All users updated.
21583 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
21584 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
21585 (serial_translate_key_sequence): Avoid deadlock.
21586 (grub_serial_getkey): Handle backspace.
21587 (grub_serial_putchar): Fix newline handling.
21588 * util/i386/pc/grub-mkimage.c: Move from here ...
21589 * util/grub-mkrawimage.c: ... to here. All users updated.
21590 (generate_image): New parameters 'font_path' and 'format'.
21591 Support embedding font.
21592 Use grub_host_to_target* instead of grub_cpu_to_le*.
21593 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21594 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21595 (options): New option "--font".
21596 (usage): Likewise.
21597 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21598 (main): Handle "--font".
21599 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21600 (grub_virtual_screen_setup): Set bg_color_display.
21601 (redraw_screen_rect): Use bg_color_display instead of incorrect
21602 bg_color.
21603 (grub_gfxterm_cls): Likewise.
21604 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21605 Support embedding config file.
21606 (add_segments): Likewise.
21607 (options): New option "--config".
21608 (main): Handle "--config".
21609 * video/sm712.c: New file.
21610
25c2b5b3
RM
216112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21612
21613 Fix parallel builds.
21614
21615 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21616 font.c depend on ascii.h).
21617
216182010-01-12 Carles Pina i Estany <carles@pina.cat>
21619
21620 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21621
216222010-01-11 Carles Pina i Estany <carles@pina.cat>
21623
21624 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21625 By default: disabled.
21626 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21627 parameter.
21628
216292010-01-10 Carles Pina i Estany <carles@pina.cat>
21630
21631 * font/font.c: Update copyright years.
21632 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21633
216342010-01-10 Carles Pina i Estany <carles@pina.cat>
21635
21636 * font/font.c: Include `ascii.h'.
21637 (ASCII_BITMAP_SIZE): New macro.
21638 (ascii_font_glyph): Define.
21639 (ascii_glyph_lookup): New function.
21640 (grub_font_get_string_width): Change comment. If glyph not found, use
21641 ascii_glyph_lookup.
21642 (grub_font_get_glyph_with_fallback): If glyph not available returns
21643 ascii_glyph_lookup.
21644 * util/grub-mkfont.c (file_formats): New enum.
21645 (options): Add `ascii-bitmaps' new option.
21646 (usage): Add `asii-bitmaps' new option.
21647 (write_font_ascii_bitmap): New function.
21648 (write_font): Rename to ...
21649 (write_font_p2): ... this. Remove print_glyphs call.
21650 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21651 used. Call print_glyphs.
21652 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21653
216542010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21655
21656 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21657 (grub_bin2h_SOURCES): New variable.
21658 * util/bin2h.c: New file.
21659
915fc1b8
VS
216602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21661
21662 * include/multiboot.h: Resynced with spec.
21663 * include/multiboot2.h: Likewise.
21664 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21665 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21666
9444b678
RM
216672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21668
21669 * include/grub/term.h (grub_term_register_input,
21670 grub_term_register_output): Check return of terminal init()
21671 routines, and abort if errors are raised.
21672
21673 * commands/terminal.c: Update copyright year.
21674
cba98e8d
RM
216752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21676
21677 * commands/terminal.c (grub_cmd_terminal_input)
21678 (grub_cmd_terminal_output): Check return of terminal init()
21679 routines, and abort if errors are raised.
21680
6f7db5d6
VS
216812010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21682
21683 * include/grub/i386/bsd.h: Fix include pathes.
21684
262bff8d
VS
216852010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21686
21687 Add missing *BSD copyright headers.
21688
21689 * include/grub/aout.h: Add BSD licence.
21690 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21691 * include/grub/i386/freebsd_linker.h: ... here,
21692 * include/grub/i386/freebsd_reboot.h: ... here,
21693 * include/grub/i386/netbsd_bootinfo.h: ... here,
21694 * include/grub/i386/netbsd_reboot.h: ... here,
21695 * include/grub/i386/openbsd_bootarg.h: ... here,
21696 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21697 licence to each file.
21698
b2cab848
RM
216992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21700
21701 * acinclude.m4: Remove `nop' assembly instruction; it's not
21702 implemented by all architectures.
21703
2cb6be4b
RM
217042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21705
21706 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21707 ELILO. This is no longer necessary.
21708
a2eaee15
BC
217092010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21710
21711 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21712
21713 * util/grub-script-check.c: grub-script-check tool.
21714 * conf/common.rmk: Make rules for grub-script-check.
21715
88d17012
RM
217162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21717
21718 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21719 spotting it back in 2008. Shame on me for forgetting he did.
21720
21721 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21722
8040619d
RM
217232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21724
21725 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21726 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21727 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21728 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21729 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21730 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21731
a0c2a0f6
RM
217322010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21733
21734 * include/grub/test.h: Add license header.
21735 * tests/example_functional_test.c: Likewise.
21736 * tests/example_unit_test.c: Likewise.
21737 * tests/lib/functional_test.c: Likewise.
21738 * tests/lib/test.c: Likewise.
21739 * tests/lib/unit_test.c: Likewise.
21740
b0b13907
VS
217412010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 Use flag-based instead of hook-based video mode selection and "auto"
21744 keyword.
21745
21746 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21747 (grub_video_set_mode): Changed prototype. All users updated.
21748 (grub_video_check_mode_flag): New inline function.
21749 * video/video.c (parse_modespec): New function.
21750 (grub_video_set_mode): Parse flags and keywords.
21751
ea379330 217522010-01-17 Carles Pina i Estany <carles@pina.cat>
21753
21754 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21755 fprintf call.
21756
e15c215e
FZ
217572010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21758
21759 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21760
409ae1c9 217612010-01-16 Carles Pina i Estany <carles@pina.cat>
21762
21763 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21764 string.
21765 * util/grub-emu.c (usage): Likewise.
21766 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21767 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21768 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21769 * util/i386/pc/grub-setup.c (usage): Likewise.
21770
70a14d3d 217712010-01-16 Carles Pina i Estany <carles@pina.cat>
21772
21773 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21774 the message.
21775 (grub_util_info): Likewise.
21776 (grub_util_error): Likewise.
21777 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21778 and/or new lines in `grub_util_warna', `grub_util_info',
21779 `grub_util_error' calls.
21780 * util/getroot.c: Likewise.
21781 * util/grub-editenv.c: Likewise.
21782 * util/grub-emu.c: Likewise.
21783 * util/grub-fstest.c: Likewise.
21784 * util/grub-mkdevicemap.c: Likewise.
21785 * util/grub-mkfont.c: Likewise.
21786 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21787 * util/grub-mkrelpath.c: Likewise.
21788 * util/grub-pe2elf.c: Likewise.
21789 * util/grub-probe.c: Likewise.
21790 * util/hostdisk.c: Likewise.
21791 * util/i386/efi/grub-mkimage.c: Likewise.
21792 * util/i386/pc/grub-mkimage.c: Likewise.
21793 * util/i386/pc/grub-setup.c: Likewise.
21794 * util/ieee1275/ofpath.c: Likewise.
21795 * util/mkisofs/eltorito.c: Likewise.
21796 * util/mkisofs/rock.c: Likewise.
21797 * util/mkisofs/write.c: Likewise.
21798 * util/raid.c: Likewise.
21799 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21800 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21801
a0b766fc
VS
218022010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 Enable multiboot on non-pc.
21805
21806 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21807 multiboot.mod and multiboot2.mod to ...
21808 * conf/i386.rmk (pkglib_MODULES): ... here.
21809 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21810 Moved to ...
21811 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21812 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21813 Moved to ...
21814 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21815 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21816 Moved to ...
21817 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21818 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21819 Moved to ...
21820 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21821 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21822 relocator.mod.
21823 (ata_mod_SOURCES): Removed.
21824 (ata_mod_CFLAGS): Likewise.
21825 (ata_mod_LDFLAGS): Likewise.
21826 (relocator_mod_SOURCES): Removed.
21827 (relocator_mod_CFLAGS): Likewise.
21828 (relocator_mod_ASFLAGS): Likewise.
21829 (relocator_mod_LDFLAGS): Likewise.
21830 Include i386.mk.
21831 * include/grub/x86_64/multiboot.h: New file.
21832 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21833 Terminate EFI.
21834
884ade56
VS
218352010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21836
21837 Video multiboot support.
21838
21839 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21840 New prototype.
21841 * include/multiboot.h: Resynced with multiboot specification.
21842 * include/multiboot2.h: Likewise.
21843 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21844 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21845 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21846 (HAS_VGA_TEXT): Likewise.
21847 (accepts_video): New variable.
21848 (grub_multiboot_set_accepts_video): New function.
21849 (grub_multiboot_get_mbi_size): Account for video structures.
21850 (set_video_mode): New function.
21851 (retrieve_video_parameters): Likewise.
21852 (grub_multiboot_make_mbi): Fill video fields.
21853
0d90e8a6
VS
218542010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 Video driver ids.
21857
21858 * include/grub/video.h (grub_video_driver_id): New type.
21859 (grub_video_adapter): New member 'id'. All users updated.
21860 (grub_video_get_driver_id): New proto.
21861 * video/video.c (grub_video_get_driver_id): New function.
21862
5c71db1b 218632010-01-14 Carles Pina i Estany <carles@pina.cat>
21864
21865 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21866 `var=val'.
21867
cca15b52 218682010-01-14 Carles Pina i Estany <carles@pina.cat>
21869
21870 * normal/cmdline.c (print_completion): Gettextizze.
21871
c586fbb2 218722001-01-14 Carles Pina i Estany <carles@pina.cat>
21873
21874 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21875
ba2f6848 218762010-01-14 Carles Pina i Estany <carles@pina.cat>
21877
21878 * gettext/gettext.c (grub_gettext_translate): Push and pop
21879 grub_errno.
21880 (grub_gettext_delete_list): Change comment style.
21881 * kern/err.c (grub_error): Gettextizze.
21882 (grub_fatal): Gettextizze.
21883
0a46429a
RM
218842010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21885
21886 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21887 (grub_linux16_real_boot): ... this.
21888 * kern/i386/loader.S: Likewise.
21889 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21890 (grub_linux16_boot): New function. Switches to text mode and calls
21891 grub_linux16_real_boot().
21892
21893 * loader/i386/bsd.c: Include `<grub/video.h>'.
21894 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21895 text mode before calling grub_unix_real_boot().
21896
21897 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21898 (grub_multiboot_boot): Switch to text mode before calling
21899 grub_relocator32_boot().
21900
21901 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21902 (grub_chainloader_boot): Switch to text mode before calling
21903 grub_chainloader_real_boot().
21904
d6f93a66
RM
219052010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
219062010-01-05 Colin Watson <cjwatson@ubuntu.com>
21907
21908 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21909 non-empty value.
21910
219112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
219122010-01-05 Colin Watson <cjwatson@ubuntu.com>
21913
21914 * util/grub.d/00_header.in: Define a "savedefault" function for use
21915 in menu entries.
21916 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21917
219182010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
219192010-01-05 Colin Watson <cjwatson@ubuntu.com>
21920
21921 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21922 saved_entry if boot_once is unset.
21923 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21924 previous saved entry (i.e. grub-reboot).
21925
219262009-12-08 Colin Watson <cjwatson@ubuntu.com>
21927
21928 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21929
219302009-12-08 Colin Watson <cjwatson@ubuntu.com>
21931
21932 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21933 `var=val'.
21934 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21935
219362009-12-08 Colin Watson <cjwatson@ubuntu.com>
21937
21938 * util/grub-reboot.in: Fix --version output.
21939 * util/grub-set-default.in: Likewise.
21940
219412009-12-08 Colin Watson <cjwatson@ubuntu.com>
21942
21943 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21944 blocks.
21945
219462009-12-08 Colin Watson <cjwatson@ubuntu.com>
21947
21948 * util/grub.d/00_header.in: Quote the value assigned to `default',
21949 in case it contains spaces.
21950
219512009-12-08 Colin Watson <cjwatson@ubuntu.com>
21952
21953 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21954 `save_default_entry' call from the macosx case to the linux case.
21955
219562009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
219572009-10-25 Colin Watson <cjwatson@ubuntu.com>
21958
21959 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21960 in `chosen' environment variable.
21961 * normal/menu_text.c (get_entry_number): Check if the variable
21962 matches the title of a menu entry.
21963 (run_menu): Pass menu to get_entry_number.
21964
21965 * util/grub-reboot.in: New file.
21966 * util/grub-set-default.in: New file.
21967 * conf/common.rmk (grub-reboot): New utility.
21968 (grub-set-default): New utility.
21969
21970 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21971 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21972 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21973 move it to `saved_entry' for the next boot. Load environment on
21974 initialisation.
21975 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21976 * util/grub.d/10_hurd.in: Likewise.
21977 * util/grub.d/10_linux.in (linux_entry): Likewise.
21978 * util/grub.d/10_windows.in: Likewise.
21979 * util/grub.d/30_os-prober.in: Likewise.
21980
21981 * util/grub-install.in: Create environment block.
21982 * util/i386/efi/grub-install.in: Likewise.
21983 * util/ieee1275/grub-install.in: Likewise.
21984 * util/sparc64/ieee1275/grub-install.in: Likewise.
21985
0934d184
BC
219862010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21987
21988 Unit testing framework for GRUB.
21989
21990 * Makefile.in: Test framework build rules for 'make check'.
21991 * conf/tests.rmk: Build rules for individual tests and framework.
21992
21993 * include/grub/test.h: Header file for whitebox tests.
21994 * tests/lib/functional_test.c: Framework support for whitebox
21995 functional tests.
21996 * tests/lib/test.c: Common whitebox testing code for unit and
21997 functional tests.
21998 * tests/lib/unit_test.c: Framework support for whitebox unit
21999 tests.
22000
22001 * tests/util/grub-shell-tester.in: Support utility for grub-script
22002 tests.
22003 * tests/util/grub-shell.in: Utility to execute grub-script
22004 commands in a Qemu instance.
22005
22006 * tests/example_functional_test.c: Example whitebox functional
22007 test.
22008 * tests/example_grub_script_test.in: Example grub-script test.
22009 * tests/example_scripted_test.in: Example scripted test.
22010 * tests/example_unit_test.c: Example whitebox unit test.
22011
9c4ffeeb
VS
220122010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22015 Add loader/i386/multiboot_mbi.c.
22016 (multiboot2_mod_SOURCES): Likewise.
22017 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22018 (multiboot2_mod_SOURCES): Likewise.
22019 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22020 (grub_multiboot_make_mbi): Likewise.
22021 (grub_multiboot_free_mbi): Likewise.
22022 (grub_multiboot_init_mbi): Likewise.
22023 (grub_multiboot_add_module): Likewise.
22024 (grub_multiboot_set_bootdev): Likewise.
22025 * loader/i386/multiboot.c (mbi): Removed.
22026 (mbi_dest): Likewise.
22027 (alloc_mbi): New variable.
22028 (grub_multiboot_payload_size): Removed. All users updated.
22029 (grub_multiboot_pure_size): New variable.
22030 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22031 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22032 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22033 (grub_fill_multiboot_mmap): Likewise.
22034 (grub_multiboot_get_bootdev): Likewise.
22035 (grub_multiboot): Use multiboot_mbi functions.
22036 * loader/i386/multiboot_mbi.c: New file.
22037
17383dfe
VS
220382010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22039
22040 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22041 it would result in module crash.
22042
c1f28820
VS
220432010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22046 (grub_ofconsole_getwh): Split to ...
22047 (grub_ofconsole_getwh): ... this.
22048 (grub_ofconsole_dimensions): ...and this.
22049 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22050
58655a16
RM
220512010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22052
22053 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22054
10891398
VS
220552010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22056
22057 * loader/i386/pc/multiboot2.c: Removed stalled file.
22058
0b8a223c
VS
220592010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22062 Reported by: Grégoire Sutre
22063
92ab12b0
RM
220642010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22065
22066 * util/misc.c (canonicalize_file_name): New function.
22067 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22068 instead of realpath().
22069
a788afb6
CW
220702010-01-11 Colin Watson <cjwatson@ubuntu.com>
22071
22072 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22073 and make it clearer that it's optional. Based on confusion
22074 witnessed on IRC.
22075
ffa8e3d2
VS
220762010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22079 in premature implicit newline.
22080
e9060a9d
VS
220812010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22082
22083 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22084 which resulted in garbled command line at the end of screen.
22085
f0d0c0b7
RM
220862010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22087
22088 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22089 initialization with similar approach as with other Linux loaders.
22090
0e60bae7
RM
220912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22092
22093 Fix i386-ieee1275 build.
22094
22095 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22096 and grub_term_height() for video_{width,height} initialization.
22097
220982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
22099
22100 Fix grub-emu build.
22101
22102 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22103
cdb3f378
RM
221042010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
221052010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22106
22107 Support for multiple terminals.
22108
22109 * Makefile.in (pkglib_DATA): terminal.lst.
22110 (terminal.lst): New target.
22111 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22112 (GRUB_MOD_INIT(handler)): Likewise.
22113 (GRUB_MOD_FINI(handler)): Likewise.
22114 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22115 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22116 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22117 (grub_cmd_sleep): Use grub_term_save_pos.
22118 * commands/terminal.c: New file.
22119 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22120 commands/terminal.c and lib/charset.c.
22121 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22122 (pkglib_MODULES): Add terminal.mod.
22123 (terminal_mod_SOURCES): New variable.
22124 (terminal_mod_CFLAGS): Likewise.
22125 (terminal_mod_LDFLAGS): Likewise.
22126 * genhandlerlist.sh: Don't handle terminals.
22127 * genmk.rb: Generate terminal-*.lst.
22128 * genterminallist.sh: New file.
22129 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22130 (grub_is_valid_utf8): Likewise.
22131 (grub_utf8_to_ucs4_alloc): Likewise.
22132 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22133 (grub_menu_register_viewer): Changed argument.
22134 (grub_menu_try_text): New proto.
22135 (grub_gfxmenu_try_hook): New declaration.
22136 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22137 (grub_menu_init_page): Additional argument term.
22138 (grub_normal_init_page): Likewise.
22139 (grub_cmdline_get): Arguments simplified.
22140 (grub_utf8_to_ucs4_alloc): Removed.
22141 (grub_print_ucs4): Additional argument term.
22142 (grub_getstringwidth): Likewise.
22143 (grub_print_message_indented): Likewise.
22144 (grub_menu_text_register_instances): New proto.
22145 (grub_show_menu): Likewise.
22146 (read_terminal_list): Likewise.
22147 (grub_set_more): Likewise.
22148 * include/grub/parser.h: Include handler.h.
22149 * include/grub/reader.h: Rewritten.
22150 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22151 (GRUB_TERM_WIDTH): Changed to function.
22152 (GRUB_TERM_HEIGHT): Likewise.
22153 (GRUB_TERM_BORDER_WIDTH): Likewise.
22154 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22155 (GRUB_TERM_NUM_ENTRIES): Likewise.
22156 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22157 (GRUB_TERM_CURSOR_X): Likewise.
22158 (grub_term_input_class): Likewise.
22159 (grub_term_output_class): Likewise.
22160 (grub_term_outputs_disabled): New declaration.
22161 (grub_term_inputs_disabled): Likewise.
22162 (grub_term_outputs): Likewise.
22163 (grub_term_inputs): Likewise.
22164 (grub_term_register_input): Rewritten.
22165 (grub_term_register_output): Likewise.
22166 (grub_term_unregister_input): Likewise.
22167 (grub_term_unregister_output): Likewise.
22168 (FOR_ACTIVE_TERM_INPUTS): New macro.
22169 (FOR_DISABLED_TERM_INPUTS): Likewise.
22170 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22171 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22172 * include/grub/terminfo.h: Add oterm argument to all protypes.
22173 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22174 Use grub_rescue_run.
22175 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22176 All users updated.
22177 * kern/reader.c: Removed. All users updated.
22178 * kern/rescue_reader.c (grub_rescue_init): Removed.
22179 (grub_rescue_reader): Likewise.
22180 (grub_register_rescue_reader): Likewise.
22181 (grub_rescue_run): New function based on kern/reader.c.
22182 * kern/term.c: Adapted for multiterm.
22183 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22184 (grub_is_valid_utf8): Likewise.
22185 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22186 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22187 right terminal.
22188 * loader/i386/linux.c (grub_linux_boot): Likewise.
22189 * normal/auth.c (grub_username_get): New function.
22190 (grub_auth_check_authentication): Use grub_username_get.
22191 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22192 * normal/color.c: Adapt for multiterm.
22193 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22194 (grub_normal_init_page): Additional argument term.
22195 (read_lists): Call read_terminal_lists.
22196 (grub_enter_normal_mode): Call grub_cmdline_run.
22197 Handle grub_normal_exit_level.
22198 (grub_cmd_normal): Make reentrant.
22199 (grub_cmd_normal_exit): New function.
22200 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22201 * normal/menu.c: Adapt for multiterm.
22202 * normal/menu_entry.c: Likewise.
22203 * normal/menu_text.c: Likewise.
22204 * normal/menu_viewer.c: Removed. All users updated.
22205 * normal/term.c: New file.
22206 * util/console.c: Change order of includes to workaround a bug in
22207 ncurses headers.
22208 * term/terminfo.c: New argument oterm on all exported functions.
22209 All users updated.
22210 * util/grub-editenv.c (grub_term_input_class): Removed.
22211 (grub_term_output_class): Likewise.
22212
1a064917
RM
222132010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22214
22215 Make loader output a bit more user-friendly.
22216
22217 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22218 is being loaded. Likewise for the Hurd.
22219
22220 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22221 that kernel of FreeBSD ${version} is being loaded.
22222
22223 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
22224 grub_dprintf().
22225 (grub_cmd_initrd): Likewise.
22226 * util/grub.d/10_linux.in (linux_entry): Print message indicating
22227 that Linux ${version} is being loaded. Likewise for initrd.
22228
5ce0a83a 222292010-01-09 Carles Pina i Estany <carles@pina.cat>
22230
22231 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
22232
809bbfeb 222332010-01-08 Carles Pina i Estany <carles@pina.cat>
22234
22235 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
22236 (GRUB_MOD_INIT): Gettextizze.
22237 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
22238 (GRUB_MOD_INIT): Gettextizze.
22239 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
22240 (grub_cmd_linux): Capitalise Linux.
22241 (GRUB_MOD_INIT): Gettextizze.
22242 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
22243 (grub_cmd_linux): Capitalise Linux.
22244 (GRUB_MOD_INIT): Gettextizze.
22245 * loader/i386/linux.c: Include `<grub/i18n.h>'.
22246 (grub_cmd_linux): Capitalise Linux.
22247 (GRUB_MOD_INIT): Gettextizze.
22248 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
22249 (GRUB_MOD_INIT): Gettextizze.
22250 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
22251 (grub_cmd_linux): Capitalise Linux.
22252 (GRUB_MOD_INIT): Gettextizze.
22253 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
22254 (grub_cpu_xnu_init): Gettextizze.
22255 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
22256 (GRUB_MOD_INIT): Gettextizze.
22257 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
22258 (GRUB_MOD_INIT): Gettextizze.
22259 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
22260 (grub_linux_load64): Capitalise Linux.
22261 (GRUB_MOD_INIT): Gettextizze.
22262 * loader/xnu.c: Include `<grub/i18n.h>'.
22263 (GRUB_MOD_INIT): Gettextizze.
22264 * po/POTFILES: Add `loader/efi/appleloader.c',
22265 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
22266 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
22267 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
22268 `loader/i386/xnu.c', `loader/multiboot_loader.c',
22269 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
22270 and `loader/xnu.c'.
22271
b394b2ca
RM
222722010-01-08 Robert Millan <rmh.grub@aybabtu.com>
22273
22274 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
22275
222762010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
22277
22278 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
22279 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
22280 * util/mkisofs/mkisofs.c (main): Readjust --version output.
22281
bc8b32b3
RM
222822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22283
22284 Reset Multiboot 2 support. New loader implements the draft in
22285 /branches/multiboot2 and shares as much code as possible with the
22286 production Multiboot 1 implementation.
22287
22288 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
22289 * loader/multiboot2.c: Likewise.
22290 * loader/i386/multiboot_helper.S: Likewise.
22291 * include/multiboot2.h: Replace with latest version from the draft
22292 in /branches/multiboot2.
22293
22294 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
22295 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
22296 and `loader/multiboot2.c'.
22297 (pkglib_MODULES): Add `multiboot2.mod'.
22298 (multiboot2_mod_SOURCES): New variable.
22299 (multiboot2_mod_LDFLAGS): Likewise.
22300 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
22301
22302 * conf/i386-pc.rmk: Likewise.
22303
22304 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22305 (multiboot_mod_SOURCES): Remove variable.
22306 (multiboot_mod_LDFLAGS): Likewise.
22307 (multiboot_mod_CFLAGS): Likewise.
22308
22309 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
22310 `<multiboot2.h>' instead of `<multiboot.h>'.
22311 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
22312 (MULTIBOOT_HEADER_MAGIC): New macros.
22313
22314 * loader/multiboot_loader.c (module_version_status): Remove variable.
22315 (find_multi_boot2_header): Remove function.
22316 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
22317 logic. Always check for the Multiboot version we're compiling for.
22318 (grub_cmd_module_loader): Likewise.
22319 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
22320 command instead of `multiboot'.
22321
5d2c52b8
RM
223222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22323
22324 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
22325 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
22326 all users.
22327
53108d92
RM
223282010-01-07 Robert Millan <rmh.grub@aybabtu.com>
223292010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22330
22331 Fix breakage introduced with previous commit.
22332
22333 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
22334 commands.
22335 * normal/handler.c (read_handler_list): Revert part of previous commit
22336 affecting this file.
22337 * normal/main.c (read_lists): Move read_handler_list() call back to ...
22338 (grub_normal_execute): ... here.
22339
e2e936b2
RM
223402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22341
22342 Merge prefix-redefinition-fix branch.
22343
22344 * normal/autofs.c (read_fs_list): Make function capable of being
22345 run multiple times, gracefuly replacing the previous data
22346 structures.
22347 * normal/dyncmd.c (read_command_list): Likewise.
22348 * normal/handler.c (read_handler_list): Likewise.
22349 * normal/main.c (read_lists): New function. Calls all the
22350 list reading functions.
22351 (grub_normal_execute): Use read_lists() instead of calling all
22352 list reading functions explicitly. Register read_lists() as a
22353 variable hook attached to ${prefix}.
22354
607a3701
VS
223552010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 Merge crypto branch.
22358
22359 * Makefile.in (pkglib_DATA): Add crypto.lst.
22360 (crypto.lst): New target.
22361 * commands/hashsum.c: New file.
22362 * commands/password.c (check_password): Use grub_crypto_memcmp.
22363 * commands/password_pbkdf2.c: New file.
22364 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
22365 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
22366 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
22367 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
22368 -I$(srcdir)/lib/libgcrypt_wrap.
22369 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
22370 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
22371 password_pbkdf2.mod.
22372 (crypto_mod_SOURCES): New variable.
22373 (crypto_mod_CFLAGS): Likewise.
22374 (crypto_mod_LDFLAGS): Likewise.
22375 (hashsum_mod_SOURCES): New variable.
22376 (hashsum_mod_CFLAGS): Likewise.
22377 (hashsum_mod_LDFLAGS): Likewise.
22378 (pbkdf2_mod_SOURCES): New variable.
22379 (pbkdf2_mod_CFLAGS): Likewise.
22380 (pbkdf2_mod_LDFLAGS): Likewise.
22381 (password_pbkdf2_mod_SOURCES): New variable.
22382 (password_pbkdf2_mod_CFLAGS): Likewise.
22383 (password_pbkdf2_mod_LDFLAGS): Likewise.
22384 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
22385 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
22386 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
22387 Include conf/gcry.rmk.
22388 * include/grub/auth.h: Rewritten.
22389 * include/grub/crypto.h: New file.
22390 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
22391 * include/grub/normal.h (read_crypto_list): New prototype.
22392 * lib/crypto.c: New file.
22393 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22394 * lib/pbkdf2.c: Likewise.
22395 * normal/auth.c (grub_auth_strcmp): Removed.
22396 (grub_iswordseparator): Likewise.
22397 (grub_auth_strword): Likewise.
22398 (is_authenticated): Use grub_strword.
22399 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
22400 and grub_strword. Pass entered password to authentication callback.
22401 * normal/crypto.c: New file.
22402 * normal/main.c: Call read_crypto_list.
22403 * util/grub-mkpasswd-pbkdf2.c: New file.
22404 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
22405
42841caa
VS
224062010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 Fix descent and ascent calculation.
22409
22410 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
22411 (options): New option "asce".
22412 (usage): Likewise.
22413 (add_char): Ignore invalid glyphs for descent calculation.
22414 Calculate ascent from actual content.
22415 (print_glyphs): Use 'asce'.
22416 (write_font): Likewise. Allow ascent override.
22417 (main): Handle "asce" option.
22418
e7730de7 224192010-01-06 Carles Pina i Estany <carles@pina.cat>
22420
22421 * kern/err.c: Include `<grub/i18n.h>'.
22422 (grub_print_error): Add full stop. Gettextizze.
22423 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
22424 (grub_bsd_load_elf): Capitalise ELF.
22425 (grub_cmd_freebsd_loadenv): Add `s' in error string.
22426 (grub_cmd_freebsd_module): Likewise.
22427 (grub_cmd_freebsd_module_elf): Likewise.
22428 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
22429
40e3a41f 224302010-01-06 Carles Pina i Estany <carles@pina.cat>
22431
22432 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
22433 * commands/search_file.c (HELP_MESSAGE): New macro.
22434 * commands/search_label.c (HELP_MESSAGE): Likewise.
22435 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
22436 * po/POTFILES: Add `commands/search_file.c',
22437 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
22438 `commands/search.c'.
22439
83507e68
RM
224402010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22441
22442 * config.rpath: Update from Gnulib.
22443
465c787b
YB
224442010-01-05 Yves Blusseau <blusseau@zetam.org>
22445
22446 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
22447
6581dd3a
YB
224482010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
22449
22450 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
22451
3bff18c5
CW
224522010-01-05 Colin Watson <cjwatson@ubuntu.com>
22453
22454 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
22455 arguments to fread so that we get a return value in bytes, rather
22456 than something that will normally be rounded down to 0.
22457 Adjust error handling to avoid producing garbage when size_t is not
22458 the same size as long long.
22459
a1368118
CW
224602010-01-05 Colin Watson <cjwatson@ubuntu.com>
22461
22462 * util/mkisofs/write.c (padblock_write): Check return value of
22463 fread.
22464
7c302978
RM
224652010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22466
22467 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
22468 floppy images now.
22469
22470 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
22471
e33ace06
RM
224722010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22473
22474 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
22475 instead of manual alignment.
22476 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
22477 verbose). Avoid attempts to read past end of the device
22478 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
22479 but GRUB_DISK_CACHE_SIZE may exceed that).
22480
4b856776
RM
224812010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22482
22483 * commands/crc.c (grub_cmd_crc): Abort on read errors.
22484 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
22485 it to upper layer.
22486
52c2d97f
VS
224872010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22488
22489 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
22490 New constant.
22491 (grub_efi_piwg_device_path): New structure
22492 (grub_efi_piwg_device_path_t): New type.
22493 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
22494 (devpath_1): Transform to a structure. All users updated.
22495 (devpath_2): Likewise.
22496 (devpath_3): Likewise.
22497 (devpath_4): Likewise.
22498 (devpath_5): Likewise.
22499
98ff6a54
VS
225002010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 * loader/efi/appleloader.c: Restored. Update all users.
22503
3a73dcb6
RM
225042010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22505
22506 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
22507
22508 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
22509 (struct boot_blocklist): Move from here ...
22510 * include/grub/i386/pc/boot.h [ASM_FILE]
22511 (struct grub_boot_blocklist): ... to here. Update all users.
22512 (setup): Only initialize `start' member of `first_block'
22513 structure. Add assert() calls to verify the other members.
22514
22515 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
22516 (generate_image): Fix broken blocklist length initialization.
22517 Add assert() call to verify blocklist `segment' field.
22518
ab0eeb0c
RM
225192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22520
22521 * loader/efi/appleloader.c: Remove. Update all users.
22522
58bc8bd5
RM
225232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22524
22525 * boot/i386/pc/boot.S: Update copyright year.
22526 * boot/i386/pc/cdboot.S: Likewise.
22527 * boot/i386/pc/diskboot.S: Likewise.
22528 * boot/i386/pc/lnxboot.S: Likewise.
22529 * boot/i386/pc/pxeboot.S: Likewise.
22530 * bus/pci.c: Likewise.
22531 * commands/cmp.c: Likewise.
22532 * commands/help.c: Likewise.
22533 * commands/hexdump.c: Likewise.
22534 * commands/i386/pc/halt.c: Likewise.
22535 * commands/i386/pc/play.c: Likewise.
22536 * commands/i386/pc/vbeinfo.c: Likewise.
22537 * commands/ls.c: Likewise.
22538 * commands/test.c: Likewise.
22539 * disk/dmraid_nvidia.c: Likewise.
22540 * disk/i386/pc/biosdisk.c: Likewise.
22541 * disk/ieee1275/nand.c: Likewise.
22542 * disk/ieee1275/ofdisk.c: Likewise.
22543 * disk/lvm.c: Likewise.
22544 * disk/raid.c: Likewise.
22545 * disk/raid6_recover.c: Likewise.
22546 * disk/scsi.c: Likewise.
22547 * fs/affs.c: Likewise.
22548 * fs/cpio.c: Likewise.
22549 * fs/ext2.c: Likewise.
22550 * fs/hfs.c: Likewise.
22551 * fs/iso9660.c: Likewise.
22552 * fs/ntfs.c: Likewise.
22553 * fs/sfs.c: Likewise.
22554 * fs/udf.c: Likewise.
22555 * fs/ufs.c: Likewise.
22556 * fs/xfs.c: Likewise.
22557 * gencmdlist.sh: Likewise.
22558 * genmk.rb: Likewise.
22559 * include/grub/disk.h: Likewise.
22560 * include/grub/efi/api.h: Likewise.
22561 * include/grub/efi/efi.h: Likewise.
22562 * include/grub/efi/pe32.h: Likewise.
22563 * include/grub/elf.h: Likewise.
22564 * include/grub/fs.h: Likewise.
22565 * include/grub/i386/at_keyboard.h: Likewise.
22566 * include/grub/i386/pc/memory.h: Likewise.
22567 * include/grub/i386/pc/vbe.h: Likewise.
22568 * include/grub/i386/pci.h: Likewise.
22569 * include/grub/i386/tsc.h: Likewise.
22570 * include/grub/ieee1275/ieee1275.h: Likewise.
22571 * include/grub/ntfs.h: Likewise.
22572 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22573 * include/grub/sparc64/libgcc.h: Likewise.
22574 * include/grub/symbol.h: Likewise.
22575 * include/grub/types.h: Likewise.
22576 * include/multiboot2.h: Likewise.
22577 * io/gzio.c: Likewise.
22578 * kern/device.c: Likewise.
22579 * kern/disk.c: Likewise.
22580 * kern/efi/efi.c: Likewise.
22581 * kern/efi/mm.c: Likewise.
22582 * kern/elf.c: Likewise.
22583 * kern/file.c: Likewise.
22584 * kern/i386/dl.c: Likewise.
22585 * kern/i386/pc/init.c: Likewise.
22586 * kern/i386/pc/startup.S: Likewise.
22587 * kern/ieee1275/ieee1275.c: Likewise.
22588 * kern/ieee1275/init.c: Likewise.
22589 * kern/main.c: Likewise.
22590 * kern/mm.c: Likewise.
22591 * kern/powerpc/dl.c: Likewise.
22592 * kern/sparc64/dl.c: Likewise.
22593 * kern/x86_64/dl.c: Likewise.
22594 * lib/hexdump.c: Likewise.
22595 * loader/efi/appleloader.c: Likewise.
22596 * loader/i386/ieee1275/linux.c: Likewise.
22597 * loader/i386/pc/chainloader.c: Likewise.
22598 * loader/i386/pc/linux.c: Likewise.
22599 * loader/i386/pc/multiboot2.c: Likewise.
22600 * loader/ieee1275/multiboot2.c: Likewise.
22601 * loader/multiboot2.c: Likewise.
22602 * loader/multiboot_loader.c: Likewise.
22603 * loader/powerpc/ieee1275/linux.c: Likewise.
22604 * normal/completion.c: Likewise.
22605 * normal/menu_entry.c: Likewise.
22606 * partmap/apple.c: Likewise.
22607 * util/grub.d/10_hurd.in: Likewise.
22608 * util/hostfs.c: Likewise.
22609 * video/readers/png.c: Likewise.
22610
e2d70b5c
CW
226112010-01-03 Colin Watson <cjwatson@ubuntu.com>
22612
22613 * include/grub/misc.h (GNUC_PREREQ): New macro.
22614 (ATTRIBUTE_ERROR): New macro.
22615 * include/grub/list.h (grub_bad_type_cast_real): Use
22616 ATTRIBUTE_ERROR.
22617
a173283f 226182010-01-03 Carles Pina i Estany <carles@pina.cat>
22619
22620 * normal/menu_text.c (print_message): Change messages.
22621
7fa7ff74 226222010-01-03 Carles Pina i Estany <carles@pina.cat>
22623
22624 * normal/menu_entry.c (store_completion): Gettextizze.
22625
136d24f6 226262010-01-03 Carles Pina i Estany <carles@pina.cat>
22627
22628 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22629
f936862e 226302010-01-03 Carles Pina i Estany <carles@pina.cat>
22631
22632 * po/POTFILES: Sort correctly.
22633
29c44ad1 226342010-01-03 Carles Pina i Estany <carles@pina.cat>
22635
22636 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22637 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22638 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22639 full stop.
22640 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22641 summary. Gettextizze the strings.
22642 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22643 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22644 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22645 full stop.
22646 (GRUB_MOD_INIT): Remove command name from summary.
22647 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22648 summary.
22649 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22650 * term/i386/pc/serial.c (options): Add full stops.
22651 (GRUB_MOD_INIT): Remove command name from the summary.
22652
77a79592 226532010-01-03 Carles Pina i Estany <carles@pina.cat>
22654
22655 * commands/acpi.c: Gettextizze help strings and/or options. Include
22656 `grub/i18n.h' if needed.
22657 * commands/blocklist.c: Likewise.
22658 * commands/boot.c: Likewise.
22659 * commands/cat.c: Likewise.
22660 * commands/cmp.c: Likewise.
22661 * commands/configfile.c: Likewise.
22662 * commands/crc.c: Likewise.
22663 * commands/date.c: Likewise.
22664 * commands/echo.c: Likewise.
22665 * commands/efi/fixvideo.c: Likewise.
22666 * commands/efi/loadbios.c: Likewise.
22667 * commands/gptsync.c: Likewise.
22668 * commands/halt.c: Likewise.
22669 * commands/handler.c: Likewise.
22670 * commands/hdparm.c: Likewise.
22671 * commands/hexdump.c: Likewise.
22672 * commands/i386/cpuid.c: Likewise.
22673 * commands/i386/pc/drivemap.c: Likewise.
22674 * commands/i386/pc/halt.c: Likewise.
22675 * commands/i386/pc/pxecmd.c: Likewise.
22676 * commands/i386/pc/vbeinfo.c: Likewise.
22677 * commands/i386/pc/vbetest.c: Likewise.
22678 * commands/ieee1275/suspend.c: Likewise.
22679 * commands/keystatus.c: Likewise.
22680 * commands/loadenv.c: Likewise.
22681 * commands/ls.c: Likewise.
22682 * commands/lsmmap.c: Likewise.
22683 * commands/lspci.c: Likewise.
22684 * commands/memrw.c: Likewise.
22685 * commands/minicmd.c: Likewise.
22686 * commands/parttool.c: Likewise.
22687 * commands/password.c: Likewise.
22688 * commands/probe.c: Likewise.
22689 * commands/read.c: Likewise.
22690 * commands/reboot.c: Likewise.
22691 * commands/search.c: Likewise.
22692 * commands/sleep.c: Likewise.
22693 * commands/test.c: Likewise.
22694 * commands/true.c: Likewise.
22695 * commands/usbtest.c: Likewise.
22696 * commands/videotest.c: Likewise.
22697 * commands/xnu_uuid.c: Likewise.
22698 * disk/loopback.c: Likewise.
22699 * hello/hello.c: Likewise.
22700 * loader/i386/bsd.c: Likewise.
22701 * term/i386/pc/serial.c: Likewise.
22702 * po/POTFILES: Add new files.
22703
da8d5c53
CW
227042010-01-02 Colin Watson <cjwatson@ubuntu.com>
22705
22706 * term/i386/pc/at_keyboard.c
22707 (keyboard_controller_wait_untill_ready): Rename to ...
22708 (keyboard_controller_wait_until_ready): ... this. Update all users.
22709
33937904 227102010-01-01 Carles Pina i Estany <carles@pina.cat>
22711
22712 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22713 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22714 string using string width.
22715 * normal/menu_text.c (grub_print_message_indented): Use
22716 grub_print_spaces and not print_spaces.
22717 (print_timeout): Likewise.
22718 (print_spaces): Move to...
22719 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22720
3fd3b8d8
RM
227212010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22722
22723 Import from Gnulib.
22724
22725 * gnulib/getdelim.c: New file.
22726 * gnulib/getline.c: Likewise.
22727
33433555
VS
227282009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22729
22730 * include/grub/list.h (grub_assert_fail): Removed.
22731 (grub_bad_type_cast_real): New function.
22732 (grub_bad_type_cast): New macro.
22733 (GRUB_AS_LIST): Use grub_bad_type_cast.
22734 (GRUB_AS_LIST_P): Likewise.
e44721e8 22735 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22736 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22737 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22738 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22739 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22740
f5a51306
VS
227412009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22742
22743 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22744 Fix syntax error.
22745
90d1e879
RM
227462009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22747
22748 * configure.ac: Check for TARGET_CFLAGS initialization before we
22749 initialize it ourselves (sigh).
22750 Move a few modifications to TARGET_CFLAGS to be unconditional
22751 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22752 eh_frame)
22753
22754 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22755 * term/i386/pc/at_keyboard.c
22756 (keyboard_controller_wait_untill_ready): Likewise.
22757 (keyboard_controller_led): Rename `led_status' paramter to avoid
22758 name conflict.
22759
465b5a81 227602009-12-28 Carles Pina i Estany <carles@pina.cat>
22761
22762 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22763 quotes.
22764
c181849b
VS
227652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22766
22767 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22768
9c8739a4
VS
227692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22770
22771 * normal/menu_text.c (grub_print_message_indented): Prevent
22772 past-the-end-of-array dereference.
22773
3e74249c
VS
227742009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22775
22776 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22777 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22778
64fd18ed 227792009-12-27 Carles Pina i Estany <carles@pina.cat>
22780
22781 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22782 * normal/main.c (grub_normal_read_line): Remove a space from the
22783 default prompt.
22784
714af9b9 227852009-12-27 Carles Pina i Estany <carles@pina.cat>
22786
22787 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22788 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22789 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22790 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22791 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22792 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22793 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22794
82f3e412 227952009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22796
22797 * video/readers/jpeg.c (cmd): Declare.
22798 (grub_cmd_jpegtest): Use `grub_command_t' type.
22799 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22800 Assign to `cmd'.
22801 (GRUB_MOD_FINI): Use `cmd' to unregister.
22802 * video/readers/png.c (cmd): Declare.
22803 (grub_cmd_pngtest): Use `grub_command_t' type.
22804 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22805 Assign to `cmd'.
22806 (GRUB_MOD_FINI): Use `cmd' to unregister.
22807 * video/readers/tga.c (cmd): Declare.
22808 (grub_cmd_tgatest): Use `grub_command_t' type.
22809 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22810 Assign to `cmd'.
22811 (GRUB_MOD_FINI): Use `cmd' to unregister.
22812
82f3e412 228132009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22814
22815 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22816 stops.
22817 * kern/corecmd.c (grub_register_core_commands): Likewise.
22818 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22819 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22820 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22821 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22822 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22823 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22824 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22825 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22826 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22827 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22828 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22829 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22830 * normal/handler.c (insert_handler): Likewise.
22831 * normal/main.c (GRUB_MOD_INIT): Likewise.
22832 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22833
fdcdbb66 228342009-12-26 Carles Pina i Estany <carles@pina.cat>
22835
22836 * commands/help.c (grub_cmd_help): Print the command name before the
22837 summary.
22838 (GRUB_MOD_INIT): Remove command name from the summary.
22839 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22840 string as summary.
fdcdbb66 22841 * lib/arg.c (find_long): Print the command name before the summary.
22842 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22843 summary.
22844 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22845 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22846 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22847 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22848 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22849 * commands/date.c (GRUB_MOD_INIT): Likewise.
22850 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22851 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22852 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22853 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22854 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22855 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22856 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22857 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22858 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22859 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22860 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22861 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22862 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22863 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22864 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22865 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22866 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22867 * commands/password.c (GRUB_MOD_INIT): Likewise.
22868 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22869 * commands/read.c (GRUB_MOD_INIT): Likewise.
22870 * commands/search.c (GRUB_MOD_INIT): Likewise.
22871 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22872 * commands/test.c (GRUB_MOD_INIT): Likewise.
22873 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22874 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22875 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22876 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22877 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22878 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22879 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22880 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22881 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22882 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22883 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22884 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22885 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22886 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22887
9c288be2
VS
228882009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22889
22890 Use search command for preliminar UUID search.
22891
22892 * commands/search.c: Split into ...
22893 * commands/search_wrap.c: ...this
22894 * commands/search.c: ...and this.
22895 * commands/search_file.c: New file.
22896 * commands/search_label.c: New file.
22897 * commands/search_uuid.c: New file.
22898 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22899 Add commands/search_wrap.c, commands/search_file.c,
22900 commands/search_label.c and commands/search_uuid.c.
22901 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22902 (search_mod_SOURCES): Set to commands/search_wrap.c.
22903 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22904 search_label.mod.
22905 (search_fs_file_mod_SOURCES): New variable.
22906 (search_fs_file_mod_CFLAGS): Likewise.
22907 (search_fs_file_mod_LDFLAGS): Likewise.
22908 (search_label_mod_SOURCES): Likewise.
22909 (search_label_mod_CFLAGS): Likewise.
22910 (search_label_mod_LDFLAGS): Likewise.
22911 (search_fs_uuid_mod_SOURCES): New variable.
22912 (search_fs_uuid_mod_CFLAGS): Likewise.
22913 (search_fs_uuid_mod_LDFLAGS): Likewise.
22914 (fs_file_mod_SOURCES): Removed.
22915 (fs_file_mod_CFLAGS): Likewise.
22916 (fs_file_mod_LDFLAGS): Likewise.
22917 (fs_uuid_mod_SOURCES): Removed.
22918 (fs_uuid_mod_CFLAGS): Likewise.
22919 (fs_uuid_mod_LDFLAGS): Likewise.
22920 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22921 Set to util/grub-install.in.
22922 * disk/fs_file.c: Removed.
22923 * disk/fs_uuid.c: Likewise.
22924 * include/grub/search.h: New file.
22925 * util/grub-install.in: Handle sparc64.
22926 Create and use load.cfg.
22927 * util/sparc64/ieee1275/grub-install.in: Removed.
22928
db943399
VS
229292009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22932 Ignore return status if CF is cleared.
22933 (grub_biosdisk_get_diskinfo_standard): Likewise.
22934
3fdae612
RM
229352009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22936
22937 * term/i386/pc/at_keyboard.c
22938 (keyboard_controller_wait_untill_ready): New function.
22939 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22940 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22941 for keyboard polling, rather than duplicate the same loop. This
22942 saves a few bytes in code size.
22943
7ebaa2b4
VS
229442009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22945
22946 Support for (pxe[:server[:gateway]]) syntax and
22947 use environment variable for PXE.
22948
22949 * commands/i386/pc/pxecmd.c (options): Removed.
22950 (print_ip): Removed.
22951 (grub_cmd_pxe): Removed
22952 (grub_cmd_pxe_unload): New function.
22953 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22954 (grub_pxe_your_ip): Made static.
22955 (grub_pxe_default_server_ip): Likewise.
22956 (grub_pxe_default_gateway_ip): Likewise.
22957 (grub_pxe_blksize): Likewise.
22958 (parse_ip): New function.
22959 (grub_pxe_open): Support server and gateway specification.
22960 (grub_pxe_close): Free disk->data.
22961 (grub_pxefs_open): Use disk->data.
22962 (grub_pxefs_read): Likewise.
22963 (grub_env_write_readonly): New function.
22964 (set_mac_env): Likewise.
22965 (set_env_limn_ro): Likewise.
22966 (parse_dhcp_vendor): Likewise.
22967 (grub_pxe_detect): Set the environment variables.
22968 (set_ip_env): New function.
22969 (write_ip_env): Likewise.
22970 (grub_env_write_pxe_default_server): Likewise.
22971 (grub_env_write_pxe_default_gateway): Likewise.
22972 (grub_env_write_pxe_blocksize): Likewise.
22973 (GRUB_MOD_INIT(pxe)): Set environment variables.
22974 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22975 (grub_pxe_mac_addr_t): ... this. All users updated.
22976 (grub_pxe_your_ip): Removed.
22977 (grub_pxe_server_ip): Likewise.
22978 (grub_pxe_gateway_ip): Likewise.
22979 (grub_pxe_blksize): Likewise.
22980
ec5f98ab 229812009-12-25 Carles Pina i Estany <carles@pina.cat>
22982
22983 * commands/help.c: Include `<grub/i18n.h>'.
22984 (grub_cmd_help): Gettextizze.
22985 (GRUB_MOD_INIT): Likewise.
22986 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22987 (GRUB_MOD_INIT): Gettextizze.
22988 * commands/search.c: Include `<grub/i18n.h>'.
22989 (options): Gettextizze.
22990 (GRUB_MOD_INIT): Gettextizze.
22991 * lib/arg.c: Include `<grub/i18n.h>'.
22992 (help_options): Gettextizze.
22993 (find_long): Likewise.
22994 (grub_arg_show_help): Likewise.
22995 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22996 (read_command_list): Gettextizze.
22997 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22998 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22999
22815526
RM
230002009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23001
23002 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23003 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23004 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23005 (led_status): New variable.
23006 (keyboard_controller_led): New function.
23007 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23008 update led status for caps lock, num lock and scroll lock.
23009
0ad46fd7
FZ
230102009-12-25 Felix Zielcke <fzielcke@z-51.de>
23011
23012 * util/hostdisk.c (open_device): Fix a comment.
23013
d0e158c2
RM
230142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23015
23016 * util/grub-install.in (host_os): New variable.
23017 * util/i386/efi/grub-install.in (host_os): Likewise.
23018
401c0ad6
RM
230192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23020
23021 * util/mkisofs/write.c (padblock_write): Abort when given an
23022 excedingly large embed image, instead of silently truncating it.
23023
d14d3370
RM
230242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23025
23026 * include/multiboot.h: Indentation fixes.
23027
eeed10b4
RM
230282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23029
23030 * include/multiboot.h (struct multiboot_aout_symbol_table)
23031 (struct multiboot_elf_section_header_table): New structure
23032 declarations (stolen from GRUB Legacy).
23033 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23034 table information.
23035
23036 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23037 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23038 type aliases.
23039
681c70ab
RM
230402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23041
23042 * include/multiboot.h: Make comments src2texi-friendly.
23043
e4d47d8d
RM
230442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23045
23046 For consistency with [multiboot]/docs/boot.S.
23047
23048 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23049 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23050 (MULTIBOOT_MAGIC2): Rename from this ...
23051 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23052
a0b70bda
RM
230532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23054
23055 * include/multiboot.h: Remove `<grub/types.h>'.
23056 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23057 types. Update all users.
23058
61ba42be 230592009-12-25 Carles Pina i Estany <carles@pina.cat>
23060
23061 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23062 `couldn't' and `can not' by `cannot'.
23063 * commands/i386/pc/drivemap.c: Likewise.
23064 * disk/ata.c: Likewise.
23065 * disk/ieee1275/nand.c: Likewise.
23066 * fs/affs.c: Likewise.
23067 * fs/fat.c: Likewise.
23068 * fs/hfs.c: Likewise.
23069 * fs/hfsplus.c: Likewise.
23070 * fs/iso9660.c: Likewise.
23071 * fs/jfs.c: Likewise.
23072 * fs/minix.c: Likewise.
23073 * fs/reiserfs.c: Likewise.
23074 * fs/sfs.c: Likewise.
23075 * fs/udf.c: Likewise.
23076 * fs/ufs.c: Likewise.
23077 * fs/xfs.c: Likewise.
23078 * loader/powerpc/ieee1275/linux.c: Likewise.
23079 * loader/sparc64/ieee1275/linux.c: Likewise.
23080 * util/grub-probe.c: Likewise.
23081 * util/misc.c: Likewise.
23082
7fd0baee 230832009-12-24 Carles Pina i Estany <carles@pina.cat>
23084
23085 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23086 grub_errno calls.
23087 * commands/acpi.c: Likewise.
23088 * commands/blocklist.c: Likewise.
23089 * commands/efi/loadbios.c: Likewise.
23090 * commands/i386/pc/drivemap.c: Likewise.
23091 * commands/loadenv.c: Likewise.
23092 * commands/memrw.c: Likewise.
23093 * commands/password.c: Likewise.
23094 * commands/videotest.c: Likewise.
23095 * disk/ata.c: Likewise.
23096 * disk/ata_pthru.c: Likewise.
23097 * disk/dmraid_nvidia.c: Likewise.
23098 * disk/ieee1275/nand.c: Likewise.
23099 * disk/ieee1275/ofdisk.c: Likewise.
23100 * disk/loopback.c: Likewise.
23101 * disk/lvm.c: Likewise.
23102 * disk/mdraid_linux.c: Likewise.
23103 * disk/raid.c: Likewise.
23104 * disk/raid6_recover.c: Likewise.
23105 * disk/scsi.c: Likewise.
23106 * efiemu/main.c: Likewise.
23107 * efiemu/mm.c: Likewise.
23108 * efiemu/pnvram.c: Likewise.
23109 * efiemu/symbols.c: Likewise.
23110 * font/font.c: Likewise.
23111 * fs/cpio.c: Likewise.
23112 * fs/hfsplus.c: Likewise.
23113 * fs/iso9660.c: Likewise.
23114 * fs/jfs.c: Likewise.
23115 * fs/minix.c: Likewise.
23116 * fs/ntfs.c: Likewise.
23117 * fs/ntfscomp.c: Likewise.
23118 * fs/reiserfs.c: Likewise.
23119 * fs/ufs.c: Likewise.
23120 * fs/xfs.c: Likewise.
23121 * gettext/gettext.c: Likewise.
23122 * include/grub/auth.h: Likewise.
23123 * kern/elf.c: Likewise.
23124 * kern/file.c: Likewise.
23125 * kern/ieee1275/init.c: Likewise.
23126 * kern/ieee1275/mmap.c: Likewise.
23127 * kern/ieee1275/openfw.c: Likewise.
23128 * kern/powerpc/dl.c: Likewise.
23129 * kern/sparc64/dl.c: Likewise.
23130 * lib/arg.c: Likewise.
23131 * loader/i386/bsd.c: Likewise.
23132 * loader/i386/bsdXX.c: Likewise.
23133 * loader/i386/efi/linux.c: Likewise.
23134 * loader/i386/efi/xnu.c: Likewise.
23135 * loader/i386/ieee1275/linux.c: Likewise.
23136 * loader/i386/linux.c: Likewise.
23137 * loader/i386/multiboot.c: Likewise.
23138 * loader/i386/pc/linux.c: Likewise.
23139 * loader/i386/pc/multiboot2.c: Likewise.
23140 * loader/i386/xnu.c: Likewise.
23141 * loader/ieee1275/multiboot2.c: Likewise.
23142 * loader/macho.c: Likewise.
23143 * loader/machoXX.c: Likewise.
23144 * loader/multiboot2.c: Likewise.
23145 * loader/multiboot_loader.c: Likewise.
23146 * loader/powerpc/ieee1275/linux.c: Likewise.
23147 * loader/sparc64/ieee1275/linux.c: Likewise.
23148 * loader/xnu.c: Likewise.
23149 * loader/xnu_resume.c: Likewise.
23150 * mmap/i386/pc/mmap.c: Likewise.
23151 * normal/menu_viewer.c: Likewise.
23152 * partmap/acorn.c: Likewise.
23153 * partmap/amiga.c: Likewise.
23154 * partmap/apple.c: Likewise.
23155 * script/lexer.c: Likewise.
23156 * term/gfxterm.c: Likewise.
23157 * term/i386/pc/serial.c: Likewise.
23158 * term/i386/pc/vga.c: Likewise.
23159 * term/ieee1275/ofconsole.c: Likewise.
23160 * term/terminfo.c: Likewise.
23161 * video/bitmap.c: Likewise.
23162 * video/efi_gop.c: Likewise.
23163 * video/efi_uga.c: Likewise.
23164 * video/fb/video_fb.c: Likewise.
23165 * video/i386/pc/vbe.c: Likewise.
23166 * video/readers/tga.c: Likewise.
23167 * video/video.c: Likewise.
23168
0ad46fd7 231692009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
23170
23171 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23172 * commands/lspci.c: Likewise.
23173 * commands/probe.c: Likewise.
23174 * commands/xnu_uuid.c: Likewise.
23175 * conf/i386-coreboot.rmk: Likewise.
23176 * conf/i386-efi.rmk: Likewise.
23177 * conf/i386-ieee1275.rmk: Likewise.
23178 * conf/i386-pc.rmk: Likewise.
23179 * conf/powerpc-ieee1275.rmk: Likewise.
23180 * conf/sparc64-ieee1275.rmk: Likewise.
23181 * conf/x86_64-efi.rmk: Likewise.
23182 * fs/i386/pc/pxe.c: Likewise.
23183 * gettext/gettext.c: Likewise.
23184 * include/grub/efi/graphics_output.h: Likewise.
23185 * include/grub/i386/pc/memory.h: Likewise.
23186 * kern/env.c: Likewise.
23187 * kern/i386/qemu/startup.S: Likewise.
23188 * lib/i386/pc/biosnum.c: Likewise.
23189 * lib/i386/relocator.c: Likewise.
23190 * lib/i386/relocator_asm.S: Likewise.
23191 * lib/relocator.c: Likewise.
23192 * loader/i386/bsd.c: Likewise.
23193 * loader/i386/multiboot.c: Likewise.
23194 * loader/i386/pc/chainloader.c: Likewise.
23195 * loader/i386/xnu.c: Likewise.
23196 * loader/xnu.c: Likewise.
23197 * normal/main.c: Likewise.
23198 * normal/menu_text.c: Likewise.
23199 * util/getroot.c: Likewise.
23200 * util/grub-mkconfig_lib.in: Likewise.
23201 * util/grub.d/00_header.in: Likewise.
23202 * util/i386/pc/grub-mkimage.c: Likewise.
23203 * util/mkisofs/eltorito.c: Likewise.
23204 * util/mkisofs/exclude.h: Likewise.
23205 * util/mkisofs/hash.c: Likewise.
23206 * util/mkisofs/iso9660.h: Likewise.
23207 * util/mkisofs/joliet.c: Likewise.
23208 * util/mkisofs/mkisofs.c: Likewise.
23209 * util/mkisofs/mkisofs.h: Likewise.
23210 * util/mkisofs/multi.c: Likewise.
23211 * util/mkisofs/name.c: Likewise.
23212 * util/mkisofs/rock.c: Likewise.
23213 * util/mkisofs/tree.c: Likewise.
23214 * util/mkisofs/write.c: Likewise.
23215 * video/efi_gop.c: Likewise.
23216
009ec743
VS
232172009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23218
23219 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23220 size counting.
23221
0ad46fd7 232222009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
23223
23224 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
23225 * genmk.rb (class SCRIPT): Modify the target file instead of source.
23226
d3d30ea0
VS
232272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23228
23229 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
23230 (GRUB_MOD_INIT(memrw)): Update help line.
23231
a34f5c70
VS
232322009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23233
23234 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
23235 Use grub_extcmd_t. All users updated.
23236 (options): New variable.
23237 (grub_cmd_read): Restructure for readability. Support "-v" option.
23238 (grub_cmd_write): Restructure for readability.
23239
0ad46fd7 232402009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
23241
23242 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
23243
0ad46fd7 232442009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
23245
23246 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
23247 with the actual contents of the correspondending make variable.
23248 * util/grub-mkrescue.in (pkglib_DATA): New variable.
23249 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
23250 specifying `*.lst' and `efiemu??.o'
23251
0ad46fd7 232522009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
23253
23254 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
23255 after function name.
23256 Noticed by Rene Engelhard <rene@debian.org>.
23257
dc77a799
VS
232582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23259
23260 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
23261 (options): New variable.
23262 (iospace): Likewise.
23263 (grub_lspci_iter): List IO spaces if "-i" was given.
23264 (grub_cmd_lspci): Parse options.
23265 (GRUB_MOD_INIT(lspci)): Use extcmd.
23266 (GRUB_MOD_FINI(lspci)): Likewise.
23267
0ad46fd7 232682009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
23269
23270 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
23271 `function' keyword.
23272 Patch by Tony Mancill <tmancill@debian.org>.
23273
b5d5993b
VS
232742009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23275
23276 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
23277 (grub_uhci_portstatus): Likewise.
23278 (grub_uhci_portstatus): Add necessary delay.
11d18281 23279 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 23280
941903f2 232812009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 23282
941903f2 23283 * commands/acpi.c (options): Fix capitalizations and/or full stops.
23284 (GRUB_MOD_INIT): Likewise.
23285 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 23286 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
23287 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 23288 * commands/efi/loadbios.c (enable_rom_area): Likewise.
23289 (enable_rom_area): Likewise.
23290 (GRUB_MOD_INIT): Likewise.
23291 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23292 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
23293 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23294 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
23295 * commands/hexdump.c (options): Likewise.
23296 * commands/i386/cpuid.c (options): Likewise.
23297 (GRUB_MOD_INIT): Likewise.
23298 * commands/i386/pc/drivemap.c (options): Likewise.
23299 (GRUB_MOD_INIT): Likewise.
23300 * commands/i386/pc/halt (options): Likewise.
23301 (GRUB_MOD_INIT): Likewise.
23302 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23303 * commands/i386/pc/pxecmd.c (options): Likewise.
23304 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
23305 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
23306 * commands/keystatus.c (options): Likewise.
23307 (GRUB_MOD_INIT): Likewise.
23308 * commands/loadenv.c (options): Likewise.
23309 * commands/ls.c (options): Likewise.
23310 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23311 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23312 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23313 * commands/parttool.c (helpmsg): Likewise.
23314 * commands/probe.c (options): Likewise.
23315 * commands/read.c (GRUB_MOD_INIT): Likewise.
23316 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
23317 * commands/search.c (options): Likewise.
23318 * commands/sleep.c (options): Likewise.
23319 * commands/test.c (GRUB_MOD_INIT): Likewise.
23320 * commands/true.c (GRUB_MOD_INIT): Likewise.
23321 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
23322 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
23323 * lib/arg.c (help_options): Likewise.
e9bbb4e7 23324 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
23325 `$(XGETTEXT)'.
98a50553 23326 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 23327
0ad46fd7 233282009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 23329
ef3c2c3a 23330 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
23331 instead of specifying them explicit.
23332
7922f68b
RM
233332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23334
23335 * NEWS: Add grub-probe support for GNU/Hurd.
23336
537ce47f
RM
233372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23338
23339 * NEWS: gettext was added after 1.97.
23340
9b214e3a
RM
233412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23342
23343 * util/mkisofs/msdos_partition.h: New file (based on
23344 include/grub/msdos_partition.h).
23345 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
23346 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
23347 (ld_options, main): Recognize --protective-msdos-label.
23348 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
23349 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
23350 (padblock_write): If `use_protective_msdos_label' is set, patch a
23351 protective DOS-style label in the output image.
23352
23353 * util/grub-mkrescue.in: Use --protective-msdos-label.
23354
e9309813
RM
233552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23356
23357 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
23358 boot.
23359
0ae56929
RM
233602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23361
23362 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
23363 variables.
23364 (ld_options, main): Recognize `--embedded-boot'.
23365 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
23366 declarations.
23367 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
23368 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
23369 (padblock_write): Likewise. Rewrite to support embedded boot image.
23370
23371 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
23372 for BIOS-based disk boot instead of only ElTorito.
23373
b15937b1
RM
233742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23375
23376 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
23377 build (not needed for bootstrap).
23378
52cc3ce0
RM
233792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23380
23381 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
23382 from i386-pc build (not needed for bootstrap).
23383 Rewrite a pair of strings.
23384
36f5ff04
RM
233852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23386
23387 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
23388
973c6c85 233892009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
23390
23391 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
23392
05d21547
AB
233932009-12-21 Andreas Born <futur.andy@googlemail.com>
23394
23395 * kern/env.c (grub_env_context_open): Mark exported variable for
23396 reexport.
23397
0175d51f
AB
233982009-12-21 Andreas Born <futur.andy@googlemail.com>
23399
23400 * kern/env.c (grub_env_export): Create nonexistent variables before
23401 exporting.
23402
7f39d92f 234032009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 23404
7f39d92f 23405 * include/grub/auth.h: Include `<grub/i18n.h>'.
23406 (GRUB_GET_PASSWORD): Gettextizze string.
23407 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
23408 menu_text.c.
23409 (grub_utf8_to_ucs4_alloc): Fix indentation.
23410 (grub_print_ucs4): Likewise.
23411 (grub_getstringwidth): Likewise.
23412 (print_message_indented): New declaration.
23413 * normal/auth.c: Include `<grub/i18n.h>'.
23414 (grub_auth_check_authentication): Gettexttize string.
23415 * normal/cmdline.c: Include `<grub/i18n.h>'.
23416 (grub_cmdline_get): Gettextizze.
23417 * normal/color.c: Include `<grub/i18n.h>'.
23418 (grub_parse_color_name_pair): Gettexttize strings.
23419 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
23420 string (use `print_message_indented').
23421 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
23422 `include/grub/normal.h'.
23423 (print_message_indented): Renamed to ...
23424 (grub_print_message_indented): ... this. Remove `static' qualifer (now
23425 used in normal/main.c).
23426 (print_message): Use `grub_print_message_indented' instead of
23427 `print_message_indented'.
23428 (print_timeout): Likewise.
23429 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
23430 (grub_normal_print_device_info): Gettexttize strings.
23431 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
23432
3041d898
VS
234332009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23434
23435 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
23436 of arguments. Return number of tokens and not arguments. All users
23437 updated.
23438
de15bf8e
VS
234392009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23440
23441 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
23442 non-MSDOS paritions.
23443
e0a6ca52
VS
234442009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
23445
23446 * include/grub/types.h (UNUSED): Removed since it conflicts with
23447 NetBSD headers. All users changed to direct __attribute__ ((unused)).
23448 Reported by Grégoire Sutre.
23449
b99518d1 234502009-12-19 Carles Pina i Estany <carles@pina.cat>
23451
23452 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
23453 (grub_print_ucs4_alloc): Likewise.
23454 (grub_getstringwidth): Likewise.
23455 * normal/main.c (grub_normal_init_page): Gettextize version string.
23456 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
23457 (getstringwidth): Renamed to ...
23458 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
23459 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
23460 (grub_print_ucs4): Remove `static' qualifer (now used in
23461 normal/main.c).
23462 * po/POTFILES: Add normal/main.c.
23463
bfd5e52b 234642009-12-19 Carles Pina i Estany <carles@pina.cat>
23465
23466 * normal/menu_text.c (STANDARD_MARGIN): New macro.
23467 (print_message_indented): Add `margin_left' and `margin_right'
23468 parameters.
23469 (print_message): Update `print_message_indented' calls. Adds '\n' to the
23470 strings.
23471 (print_timeout): Use `print_message_indented' to print the message.
23472 Deletes `second_stage' parameter.
23473 (run_menu): Update `print_timeout' calls.
23474
5a1ad2b9
VS
234752009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23476
23477 Fix console palette on OpenFirmware.
23478
23479 * term/ieee1275/ofconsole.c (MAX): Removed.
23480 (colors): Redone based on VGA palette.
23481 (grub_ofconsole_setcolor): Discard brightness bit since only 8
23482 colors are supported.
23483 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
23484
b045f00a
VS
234852009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23486
23487 Fix potential EfiEmu double prepare.
23488
23489 * efiemu/main.c (prepared): New variable
23490 (grub_efiemu_unload): Set prepare to '0'.
23491 (grub_efiemu_prepare): Return if already prepared. Set prepared.
23492
23493 set_virtual_address_map support.
23494
23495 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
23496 prototype.
23497 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
23498 prototype.
23499 (grub_efiemu_crc32): Likewise.
23500 (grub_efiemu_crc64): Likewise.
23501 (grub_efiemu_set_virtual_address_map): Likewise.
23502 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
23503 New definition.
23504 (grub_autoefi_set_virtual_address_map): Likewise.
23505 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
23506 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
23507 Restructure flow to accomodate it.
23508 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
23509 (grub_efiemu_crc): Recompute CRC32.
23510 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
23511 (efiemu_ptv_relocated): ... this. Made global. All users updated.
23512 * efiemu/symbols.c (relocated_handle): New variable.
23513 (grub_efiemu_free_syms): Free relocated_handle.
23514 (grub_efiemu_alloc_syms): Allocate relocated_handle.
23515 (grub_efiemu_write_sym_markers): New function.
23516 (grub_efiemu_set_virtual_address_map): Likewise.
23517
23518 Newer XNU parameters.
23519
23520 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
23521 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
23522 (grub_xnu_fill_devicetree): New prototype.
23523 (grub_xnu_heap_real_start): New variable.
23524 * loader/xnu.c (get_name_ptr): New function.
23525 (grub_xnu_load_driver): Fill namelen and name.
23526
23527 64-bit xnu support.
23528
23529 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
23530 and 'loader/macho64.c'.
23531 * conf/i386-pc.rmk: Likewise.
23532 * conf/x86_64-efi.rmk: Likewise.
23533 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
23534 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
23535 * include/grub/macho.h (grub_macho_segment64): New structure.
23536 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
23537 (grub_macho_size32): ... to this.
23538 (grub_macho32_get_entry_point): Renamed from ...
23539 (grub_macho_get_entry_point32): ... to this.
23540 (grub_macho_contains_macho64): New prototype.
23541 (grub_macho_size64): Likewise.
23542 (grub_macho_get_entry_point64): Likewise.
23543 (grub_macho32_load): Renamed from ...
23544 (grub_macho_load32): ... to this.
23545 (grub_macho32_filesize): Renamed from ...
23546 (grub_macho_filesize32): ... to this.
23547 (grub_macho32_readfile): Renamed from ...
23548 (grub_macho_readfile32): ... to this.
23549 (grub_macho_filesize64): New prototype.
23550 (grub_macho_readfile64): Likewise.
23551 (grub_macho_parse32): Likewise.
23552 (grub_macho_parse64): Likewise.
23553 * loader/macho.c: Split into ...
23554 * loader/machoXX.c: ... and this. Replace 32 with XX.
23555 * loader/macho32.c: New file.
23556 * loader/macho64.c: Likewise.
23557 * loader/xnu.c (grub_xnu_is_64bit): New variable.
23558 (grub_cmd_xnu_kernel): Make 32-bit only.
23559 (grub_cmd_xnu_kernel64): New function.
23560 (grub_xnu_load_driver): Support Mach-O 64.
23561 (grub_cmd_xnu_mkext): Likewise.
23562 * util/grub.d/30_os-prober.in (osx_entry): New function.
23563 Generate entries for 64-bit boot too.
23564
23565 Eliminate ad-hoc tree format in XNU and EfiEmu.
23566
23567 * efiemu/main.c (grub_efiemu_prepare): Update comment.
23568 * efiemu/pnvram.c: Rewritten to use environment variables.
23569 All users updated.
23570
23571 Inline utf16_to_utf8.
23572
23573 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
23574 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
23575 All users updated.
23576 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
23577
23578 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
23579 * commands/usbtest.c (grub_usb_get_string): ... move here.
23580 (usb_print_str): Fix error handling.
23581 * include/grub/usb.h (grub_usb_get_string): Remove.
23582
23583 UTF-8 to UTF-16 transformation.
23584
23585 * conf/common.rmk (pkglib_MODULES): Add charset.mod
23586 (charset_mod_SOURCES): New variable.
23587 (charset_mod_CFLAGS): Likewise.
23588 (charset_mod_LDFLAGS): Likewise.
23589 * include/grub/utf.h: New file.
23590 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
23591
23592 Support for device properties.
23593
23594 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23595 (grub_xnu_devprop_device_header): Likewise.
23596 (grub_xnu_devprop_device_descriptor): Likewise.
23597 (grub_xnu_devprop_add_device): New prototype.
23598 (grub_xnu_devprop_remove_device): Likewise.
23599 (grub_xnu_devprop_remove_property): Likewise.
23600 (grub_xnu_devprop_add_property_utf8): Likewise.
23601 (grub_xnu_devprop_add_property_utf16): Likewise.
23602 (grub_cpu_xnu_init): Likewise.
23603 (grub_cpu_xnu_fini): Likewise.
23604 (grub_cpu_xnu_unload): Likewise.
23605 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23606 (property_descriptor): Likewise.
23607 (devices): New variable.
23608 (grub_xnu_devprop_remove_property): New function.
23609 (grub_xnu_devprop_add_device): Likewise.
23610 (grub_xnu_devprop_remove_device): Likewise.
23611 (grub_xnu_devprop_add_property): Likewise.
23612 (grub_xnu_devprop_add_property_utf8): Likewise.
23613 (grub_xnu_devprop_add_property_utf16): Likewise.
23614 (hextoval): Likewise.
23615 (grub_cpu_xnu_fill_devprop): Likewise.
23616 (grub_cmd_devprop_load): Likewise.
23617 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23618 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23619 (cmd_devprop_load): New variable.
23620 (grub_cpu_xnu_init): New function.
23621 (grub_cpu_xnu_fini): Likewise.
23622 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23623 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23624 (grub_cmd_xnu_devtree): Likewise.
23625 (hextoval): New function.
23626 (unescape): Likewise.
23627 (grub_xnu_fill_devicetree): Likewise.
23628
23629 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23630 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23631
0945f181
VS
236322009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23633
23634 Workaround for broken ATI VBE.
23635
23636 * video/i386/pc/vbe.c (last_set_mode): New variable.
23637 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23638 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23639 (grub_video_vbe_setup): Don't check for reserved flag.
23640
0ad46fd7 236412009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23642
23643 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23644 the `find' command.
23645
c179ebe4
VS
236462009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 UUID support for HFS.
23649
23650 * fs/hfs.c (grub_hfs_uuid): New function.
23651 (grub_hfs_fs): New value .uuid.
23652 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23653
0ad46fd7 236542009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23655
23656 Fix a segfault with parsing unknown long options.
23657
23658 * util/grub-mkrelpath.c (options): Zero terminate it.
23659
c4a3e41a
CPE
236602009-12-13 Carles Pina i Estany <carles@pina.cat>
23661
23662 * include/grub/misc.h (grub_puts): New declaration.
23663 (grub_puts_): Likewise.
a22008a6 23664 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23665 (grub_puts_): Likewise.
23666
2e8a7602
RM
236672009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23668
23669 * util/grub-probe.c (probe): Improve error message.
23670
b50b77b9
RM
236712009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23672
23673 * loader/i386/multiboot_elfxx.c
23674 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23675 initialization.
23676
236772009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23678
23679 Relocator framework
23680
23681 * loader/i386/xnu_helper.S: Removed. All users updated.
23682 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23683 (relocator_mod_SOURCES): New variable.
23684 (relocator_mod_CFLAGS): Likewise.
23685 (relocator_mod_LDFLAGS): Likewise.
23686 (relocator_mod_ASFLAGS): Likewise.
23687 * conf/x86_64.rmk: Likewise.
23688 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23689 (grub_multiboot_payload_entry_offset): Likewise.
23690 (grub_multiboot_forward_relocator): Likewise.
23691 (grub_multiboot_forward_relocator_end): Likewise.
23692 (grub_multiboot_backward_relocator): Likewise.
23693 (grub_multiboot_backward_relocator_end): Likewise.
23694 (grub_multiboot_payload_eip): New variable.
23695 (grub_multiboot_payload_orig): Likewise.
23696 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23697 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23698 * include/grub/i386/memory.h
23699 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23700 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23701 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23702 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23703 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23704 * include/grub/i386/relocator.h: New file.
23705 * include/grub/x86_64/relocator.h: Likewise.
23706 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23707 (XNU_RELOCATOR): New macro.
23708 (grub_xnu_launcher_start): Remove.
23709 (grub_xnu_launcher_end): Likewise.
23710 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23711 (grub_xnu_heap_real_start): Remove.
23712 (grub_xnu_heap_start): Change to void *. All users updated.
23713 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23714 * lib/i386/relocator.c: New file.
23715 * lib/i386/relocator_asm.S: Likewise.
23716 * lib/i386/relocator_backward.S: Likewise.
23717 * lib/mips/relocator.c: Likewise.
23718 * lib/mips/relocator_asm.S: Likewise.
23719 * lib/relocator.c: Likewise.
23720 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23721 (entry): Removed.
23722 (playground): Likewise.
23723 (grub_multiboot_payload_orig): New variable.
23724 (grub_multiboot_payload_dest): Likewise.
23725 (grub_multiboot_payload_size): Likewise.
23726 (grub_multiboot_payload_eip): Likewise.
23727 (grub_multiboot_payload_esp): Likewise.
23728 (grub_multiboot_boot): Use grub_relocator32_boot.
23729 (grub_multiboot_unload): Free relocators.
23730 (grub_multiboot): Setup stack. Use relocators.
23731 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23732 (grub_multiboot_load_elfXX): Use relocators.
23733 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23734 (grub_multiboot_payload_size): Likewise.
23735 (grub_multiboot_payload_dest): Likewise.
23736 (grub_multiboot_payload_entry_offset): Likewise.
23737 (grub_multiboot_forward_relocator): Likewise.
23738 (grub_multiboot_backward_relocator): Likewise.
23739 (grub_multiboot_real_boot): Likewise.
23740 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23741 (grub_xnu_entry_point): Likewise.
23742 (grub_xnu_arg1): Likewise.
23743 (grub_xnu_stack): Likewise.
23744 (grub_xnu_launch): Removed.
23745 (grub_xnu_boot_resume): New function.
23746 (grub_xnu_boot): Use relocators.
23747 * loader/i386/xnu_helper.S: Removed.
23748 * loader/xnu.c (grub_xnu_heap_start): New variable.
23749 (grub_xnu_heap_size): Likewise.
23750 (grub_xnu_heap_malloc): Use relocators.
23751 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23752
29eb90c6
VS
237532009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23756 anything.
23757
31027430
CPE
237582009-12-13 Carles Pina i Estany <carles@pina.cat>
23759
23760 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23761 GRUB_ERR_NONE before calling grub_env_set.
23762
dc0c71d9
RM
237632009-12-12 Robert Millan <rmh@aybabtu.com>
23764
23765 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23766 * genmk.rb (video): New variable.
23767 (CLEANFILES, VIDEOFILES): Add #{video}.
23768 (#{video}): New target rule.
23769 * genvideolist.sh: New file.
23770 * Makefile.in (pkglib_DATA): Add video.lst.
23771 (video.lst): New target rule.
23772 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23773 `video.lst'.
23774 * util/grub.d/30_os-prober.in: Replace `vbe' with
23775 ${GRUB_VIDEO_BACKEND}.
23776
2a4bfcf0
RM
237772009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23778
23779 * THANKS: Add David Miller.
23780
2a3aa4d5
RM
237812009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 libpciaccess support.
23784
23785 * Makefile.in (LIBPCIACCESS): New variable.
23786 (enable_grub_emu_pci): Likewise.
23787 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23788 util/pci.c and commands/lspci.c.
23789 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23790 * configure.ac (grub-emu-pci): New option.
23791 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23792 (grub_pci_device_unmap_range): Likewise.
23793 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23794 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23795 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23796 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23797 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23798 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23799 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23800 * include/grub/pciutils.h: New file.
23801 * util/pci.c: Likewise.
23802
0ad46fd7 238032009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23804
23805 * util/misc.c: Don't include <errno.h> twice.
23806
0ad46fd7 238072009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23808
23809 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23810 name in an error message.
23811 (grub_biosdisk_rw): Likewise.
23812
2e59983c
VS
238132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 Eliminate NTFS 4Gib barrier.
23816
23817 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23818 (read_run_data): Likewise.
23819 (grub_ntfs_read_run_list): Likewise.
23820 (grub_ntfs_read_block): Likewise.
23821 (grub_ntfs_iterate_dir): Likewise.
23822 (read_mft): Likewise.
23823 (read_data): Likewise.
23824 Use COM_LOG_LEN.
23825 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23826 to avoid 64-bit division
23827 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23828 (grub_ntfs_rlst): Use grub_disk_addr_t.
23829
71ee178a
VS
238302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23831
23832 Eliminate grub-fstest 4Gib barrier.
23833
23834 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23835 (read_file): Fix error reporting.
23836
2520d4b8
VS
238372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23838
23839 Eliminate hexdump 4Gib barrier.
23840
23841 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23842 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23843
e1f27065
VS
238442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23845
23846 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23847 Fixes amarsh bug.
23848
1a0f7f45
RM
238492009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23850
23851 Remove miscellaneous files in distclean target.
23852
23853 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23854
c631d9fb
CW
238552009-12-09 Colin Watson <cjwatson@ubuntu.com>
23856
23857 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23858 if they're already set. This resolves the conflict between my
23859 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23860 fixing the --grub-probe option again.
23861 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23862 change on 2009-10-06, so that we now once again source
23863 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23864
7c7b6106
RM
238652009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23866
23867 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23868 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23869 `util/devicemap.c'.
23870
e3069ec1
CPE
238712009-12-08 Carles Pina i Estany <carles@pina.cat>
23872
23873 * include/grub/misc.h (grub_printf_): New declaration.
23874 * kern/misc.c (grub_printf_): New definition.
23875 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23876 instead of `grub_printf' and `_'.
23877 * normal/menu_entry.c (store_completion): Likewise.
23878 (run): Likewise.
23879 (grub_menu_entry_run): Likewise.
23880 * normal/menu_text.c (grub_wait_after_message): Likewise.
23881 (notify_booting): Likewise.
23882 (notify_fallback): Likewise.
23883 (notify_execution_failure): Likewise.
23884
d6ceebf1
CW
238852009-12-07 Colin Watson <cjwatson@ubuntu.com>
23886
23887 * configure.ac: Check for vasprintf.
23888 * util/misc.c (asprintf): Move allocation from here ...
23889 (vasprintf): ... to here. New function.
23890 (xasprintf): New function.
23891 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23892 prototypes.
23893 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23894 * util/grub-mkfont.c (write_font): Likewise.
23895 * util/grub-probe.c (probe): Likewise.
23896 * util/hostdisk.c (make_device_name): Likewise.
23897
de6daa8b
DM
238982009-12-06 David S. Miller <davem@sunset.davemloft.net>
23899
23900 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23901 anything even prefixed with 'cdrom' as a cdrom.
23902
0ad46fd7 239032009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23904
23905 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23906 mount points.
23907
98d3dc02
CPE
239082009-12-05 Carles Pina i Estany <carles@pina.cat>
23909
23910 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23911 grub_gettext_msg_list.
23912 (grub_gettext_gettranslation_from_position): Return const char *
23913 and not char *.
a2c1332b 23914 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23915 returns from the list if existing there.
23916 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23917 (grub_gettext_delete_list): Delete the list.
23918 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23919 lang environment variable is changed.
23920 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23921
b283f108
VS
239222009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23923
23924 Rename kernel.mod to kernel.img.
23925
23926 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23927 (kernel_mod_EXPORTS): Rename to ...
23928 (kernel_img_EXPORTS): ... this.
23929 (kernel_mod_SOURCES): Rename to ...
23930 (kernel_img_SOURCES): ... this.
23931 (kernel_mod_HEADERS): Rename to ...
23932 (kernel_img_HEADERS): ... this. All users updated.
23933 (kernel_mod_CFLAGS): Rename to ...
23934 (kernel_img_CFLAGS): ... this.
23935 (kernel_mod_ASFLAGS): Rename to ...
23936 (kernel_img_ASFLAGS): ... this.
23937 (kernel_mod_LDFLAGS): Rename to ...
23938 (kernel_img_LDFLAGS): ... this.
23939 * conf/x86_64-efi.rmk: Likewise.
23940 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23941 (read_kernel_image): ... this. All users updated.
23942 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23943
69055f8a
CPE
239442009-12-05 Carles Pina i Estany <carles@pina.cat>
23945
23946 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23947 (print_spaces): New function.
23948 (grub_print_ucs4): New function.
23949 (getstringwidth): New function.
23950 (print_message_indented): New function.
23951 (print_message): Gettexttize strings using print_message_indented.
23952 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23953 width.
23954 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23955 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23956 Gettextize.
23957 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23958 string.
23959 (run): Likewise.
23960 (grub_menu_entry_run): Likewise.
23961 * PO/POTFILES: Add normal/menu_entry.c.
23962
f616f51c
VS
239632009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23964
23965 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23966
57bbe3be
CPE
239672009-12-05 Carles Pina i Estany <carles@pina.cat>
23968
23969 * util/grub-install.in: Install gettext .mo files.
23970 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23971
013d67a1
CPE
239722009-12-05 Carles Pina i Estany <carles@pina.cat>
23973
23974 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23975 grub_dprintf.
23976
fb954db0
RM
239772009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23980 non-firmware-dependant one in realmode.S takes precedence.
23981
6b8474f8
RM
239822009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23983
23984 * commands/halt.c: Replace misc arch-specific headers with
23985 `<grub/misc.h>'.
23986 * commands/reboot.c: Likewise.
23987 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23988 `<grub/misc.h>'.
23989 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23990 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23991 (kernel_img_SOURCES): ... to here.
23992
23993 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23994 * include/grub/i386/pc/init.h: Likewise.
23995 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23996 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23997
23998 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23999
24000 * include/grub/i386/halt.h: Remove.
24001 * include/grub/i386/reboot.h: Likewise.
24002
24003 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24004
4b2e6ca2
DM
240052009-12-03 David S. Miller <davem@sunset.davemloft.net>
24006
24007 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24008 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24009 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24010 "progname.h"
24011 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24012 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24013 (usage): Add missing comma in printf.
24014
5239348f
RM
240152009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24016
24017 Use the same reboot approach on i386 coreboot and qemu as we do on
24018 BIOS.
24019
24020 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24021 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24022 * kern/i386/reboot.c: Remove.
24023 * include/grub/i386/reboot.h (grub_reboot): Export function.
24024 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24025 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24026 0xf000:0xfff0 instead of 0xffff:0x0000.
24027 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24028 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24029
ef34cbd4
RM
240302009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24031
24032 Fix $srcdir != $objdir build.
24033
24034 * Makefile.in (po/%.po): Rewrite as ...
24035 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24036
dc9837ea
ST
240372009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24038
24039 Fix GNU/Hurd grub-install crash.
24040 * util/grub-probe.c (probe): Try to access `path' only when it is not
24041 NULL.
24042
2f857f98
VS
240432009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24044
24045 Correct module naming.
24046
24047 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24048 (GRUB_MOD_INIT(efi_uga)): ... to this
24049 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24050 (GRUB_MOD_FINI(efi_uga)): ... to this
24051 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24052 (GRUB_MOD_INIT(efi_gop)): ... to this
24053 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24054 (GRUB_MOD_FINI(efi_gop)): ... to this
24055
c5448046
RM
240562009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24057
24058 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24059 translatable.
24060 (usage): Translate `arg' strings using gettext().
24061 Thanks to Jordi Mallach for the suggestion.
24062
c85184ad
VS
240632009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24064
24065 GOP support. Based on patch from Bean
24066 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24067
24068 * video/efi_gop.c: New file.
24069 * include/grub/efi/graphics_output.h: Likewise.
24070 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24071 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24072 variables.
24073 * conf/x86_64-efi.rmk: Likewise.
24074
8a4c48d8
VS
240752009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24076
24077 Rename efi_fb to efi_uga.
24078
24079 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24080 'efi_uga.mod'.
24081 (efi_fb_mod_SOURCES): Rename this ...
24082 (efi_uga_mod_SOURCES): ... to this.
24083 (efi_fb_mod_CFLAGS): Rename this ...
24084 (efi_uga_mod_CFLAGS): ... to this.
24085 (efi_fb_mod_LDFLAGS): Rename this ...
24086 (efi_uga_mod_LDFLAGS): ... to this.
24087 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24088 'efi_uga.mod'.
24089 (efi_fb_mod_SOURCES): Rename this ...
24090 (efi_uga_mod_SOURCES): ... to this.
24091 (efi_fb_mod_CFLAGS): Rename this ...
24092 (efi_uga_mod_CFLAGS): ... to this.
24093 (efi_fb_mod_LDFLAGS): Rename this ...
24094 (efi_uga_mod_LDFLAGS): ... to this.
24095 * video/efi_fb.c: Move this ...
24096 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24097
fb6c1a7b
RM
240982009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24099
24100 * po/README: New file. Explain our PO file workflow.
24101
3bc7896c
RM
241022009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24103
24104 * po/ChangeLog: Remove. Move relevant entries back to ...
24105 * ChangeLog: ... here.
24106 * po/ca.po: Remove (now handled by TLP).
24107 * po/id.po: Likewise.
24108 * po/zh_CN.po: Likewise.
24109 * Makefile.in (LINGUAS): Initialize in a way that supports
24110 empty set.
24111
9ed4841d
RM
241122009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24113
24114 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24115 reliing on po/LINGUAS.
24116 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24117 (po/%.po): ... this.
24118
0ad46fd7 241192009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
24120
24121 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24122 (main): Use `program_name' instead of nonexistent `progname'.
24123
e30dd392
FZ
241242009-11-26 Felix Zielcke <fzielcke@z-51.de>
24125
24126 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24127 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24128
7656de4f
RM
241292009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24130
24131 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24132 commit.
24133 * conf/i386-efi.rmk: Likewise.
24134 * conf/i386-ieee1275.rmk: Likewise.
24135 * conf/powerpc-ieee1275.rmk: Likewise.
24136 * conf/sparc64-ieee1275.rmk: Likewise.
24137 * conf/x86_64-efi.rmk: Likewise.
24138
db77c4d4
FZ
241392009-11-26 Felix Zielcke <fzielcke@z-51.de>
24140
24141 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24142
a755bb04
FZ
241432009-11-26 Felix Zielcke <fzielcke@z-51.de>
24144
24145 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
24146
8a4c07fd
RM
241472009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24148
24149 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24150 (grub_mkdevicemap_SOURCES): New variable.
24151 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24152 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24153 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24154 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24155 (grub_mkdevicemap_SOURCES): Remove.
24156 * conf/i386-efi.rmk: Likewise.
24157 * conf/i386-ieee1275.rmk: Likewise.
24158 * conf/i386-pc.rmk: Likewise.
24159 * conf/powerpc-ieee1275.rmk: Likewise.
24160 * conf/sparc64-ieee1275.rmk: Likewise.
24161 * conf/x86_64-efi.rmk: Likewise.
24162 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24163 (usage): Fix strings to use `program_name'.
24164 (main): Initialize gettext.
24165 * util/grub-editenv.c: Likewise.
24166 * util/grub-emu.c: Likewise.
24167 * util/grub-fstest.c: Likewise.
24168 * util/grub-mkdevicemap.c: Likewise.
24169 * util/grub-mkfont.c: Likewise.
24170 * util/grub-mkrelpath.c: Likewise.
24171 * util/grub-pe2elf.c: Likewise.
24172 * util/grub-probe.c: Likewise.
24173 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24174 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24175 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24176
24177 * util/misc.c: Include `"progname.h"'.
24178 (progname): Remove variable.
24179 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24180
6f61ed55
FZ
241812009-11-25 Felix Zielcke <fzielcke@z-51.de>
24182
24183 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24184 printf and print a newline after the menuentry header line.
24185 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24186
f022876b
FZ
241872009-11-25 Felix Zielcke <fzielcke@z-51.de>
24188
24189 autoconf >= 2.60 support $(localedir).
24190
24191 * INSTALL: Note that autoconf 2.60 is required.
24192 * configure.ac (AC_PREREQ): Bump to 2.60.
24193 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24194 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24195
6717926e
YB
241962009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24197
24198 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24199 aclocal is run.
24200
08806a54
RM
242012009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24202
24203 * normal/main.c (grub_normal_read_line): Fix off-by-one
24204 buffer overflow.
24205
13b33fba
RM
242062009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24207
24208 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24209 "parser.grub" in grub_command_execute() call.
24210
4a8572e9
CPE
242112009-11-24 Carles Pina i Estany <carles@pina.cat>
24212
24213 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24214 * conf/i386-efi.rmk: Likewise.
24215 * conf/i386-ieee1275.rmk: Likewise.
24216 * conf/i386-pc.rmk: Likewise.
24217 * conf/powerpc-ieee1275.rmk: Likewise.
24218 * conf/sparc64-ieee1275.rmk: Likewise.
24219 * conf/x86_64-efi.rmk: Likewise.
24220 * gettext/gettex.c: Include <grub/i18n.h>.
24221 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24222 here ...
24223 * include/grub/i18n.h: ... to here
24224 * include/grub/i18n.h: ... to here.
24225 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 24226 (grub_gettext_dummy): Move above user.
4a8572e9 24227
bee48093
FZ
242282009-11-24 Felix Zielcke <fzielcke@z-51.de>
24229
24230 * util/Makefile.in (install-local): Convert a `for' into a normal
24231 shell expansion.
24232
a031e91c
RM
242332009-11-24 Robert Millan <rmh.grub@aybabtu.com>
24234
24235 * autogen.sh: Add automake call.
24236 * config.guess: Remove.
24237 * config.sub: Likewise.
24238 * install-sh: Likewise.
24239
26bec39d
FZ
242402009-11-24 Felix Zielcke <fzielcke@z-51.de>
24241
24242 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
24243
8e2532fd
FZ
242442009-11-24 Felix Zielcke <fzielcke@z-51.de>
24245
24246 * util/Makefile.in (install-local): Convert a make `$(foreach)'
24247 function to a normal shell `for'.
24248
fefa1b7d
FZ
242492009-11-24 Felix Zielcke <fzielcke@z-51.de>
24250
24251 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24252
4501250b
FZ
242532009-11-24 Felix Zielcke <fzielcke@z-51.de>
24254
24255 * util/grub-mkrelpath.c: New file.
24256 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
24257 (grub_mkrelpath_SOURCES): New variable.
24258 * include/grub/util/misc.h: New function prototype.
24259 * util/misc.c (make_system_path_relative_to_its_root): New function.
24260
24261 * util/grub-mkconfig_lib.in (bindir): New variable.
24262 (grub_mkrelpath): Likewise.
24263 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
24264
24265 * util/probe.c (probe): Make the file path relative to its root.
24266 Change a info message to use the GRUB path. Enable again the
24267 check if we can read the file with GRUB facilities.
24268
24269 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
24270 to its root.
24271
11d9778b
FZ
242722009-11-24 Felix Zielcke <fzielcke@z-51.de>
24273
24274 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
24275 platform.
24276
4465287d
FZ
242772009-11-24 Felix Zielcke <fzielcke@z-51.de>
24278
24279 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
24280 strncmp().
24281
62b47f22
FZ
242822009-11-24 Felix Zielcke <fzielcke@z-51.de>
24283
24284 * util/getroot.c (grub_util_is_dmraid): New function.
24285 (grub_util_get_dev_abstraction): Treat dmraid and multipath
24286 devices as normal ones, not as LVM.
24287
1eafb9b9 242882009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
24289
24290 * conf/common.rmk: Add grub-gettext_lib target and updates
24291 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
24292 LDFLAGS.
24293 * gettext/gettext.c: New file. (Reads mo files).
24294 * include/grub/file.h (grub_file_pread): New prototype.
24295 * include/grub/i18n.h (_): New prototype.
24296 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
24297 prototypes.
24298 * kern/misc.c (grub_gettext_dummy): New function.
24299 * normal/menu_text.c: Include <grub/i18n.h>.
24300 * normal/menu_text.c (print_timeout): Gettexttize string.
24301 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
24302 * po/POTFILES: Add `normal/menu_text.c'.
24303 * po/ca.po: Add new translations.
c3ea6bd4
CPE
24304 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
24305 gettext module and defines locale_dir and lang in grub.cfg.
24306 * NEWS: Add gettext support.
24307
0fdb2568
RM
243082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24309
24310 * util/hostdisk.c: Include `<grub/i18n.h>'.
24311 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
24312 (make_device_name): Rewrite using asprintf.
24313 (convert_system_partition_to_system_disk): Replace 0 with NULL.
24314 (find_system_device): If a device is not found, generate one just
24315 by reusing the OS path name.
24316 (read_device_map): Make it permissible for device.map not to exist.
24317
f515aa62
RM
243182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24319
24320 * script/sh/execute.c: Move from here ...
24321 * script/execute.c: ... to here. Update all users.
24322 * script/sh/function.c: Move from here ...
24323 * script/function.c: ... to here. Update all users.
24324 * script/sh/lexer.c: Move from here ...
24325 * script/lexer.c: ... to here. Update all users.
24326 * script/sh/main.c: Move from here ...
24327 * script/main.c: ... to here. Update all users.
24328 * script/sh/parser.y: Move from here ...
24329 * script/parser.y: ... to here. Update all users.
24330 * script/sh/script.c: Move from here ...
24331 * script/script.c: ... to here. Update all users.
24332
f84b481b
RM
243332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24334
24335 * configure.ac: Detect all `emu' platforms. Define
24336 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
24337 --enable-grub-emu logic. Disable include/grub/machine
24338 symlink on `emu' platforms.
24339
24340 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
24341 * gensymlist.sh.in: Likewise.
24342
24343 * include/grub/i386/coreboot/machine.h: Remove file.
24344 * include/grub/i386/efi/machine.h: Likewise.
24345 * include/grub/i386/ieee1275/machine.h: Likewise.
24346 * include/grub/i386/pc/machine.h: Likewise.
24347 * include/grub/i386/qemu/machine.h: Likewise.
24348 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24349 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24350 * include/grub/x86_64/efi/machine.h: Likewise.
24351
24352 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
24353 * commands/halt.c: Likewise.
24354 * commands/reboot.c: Likewise.
24355 * include/grub/autoefi.h: Likewise.
24356 * include/grub/i386/at_keyboard.h: Likewise.
24357 * include/grub/i386/kernel.h: Likewise.
24358 * include/grub/i386/loader.h: Likewise.
24359 * include/grub/i386/pc/memory.h: Likewise.
24360 * kern/dl.c: Likewise.
24361 * kern/i386/coreboot/init.c: Likewise.
24362 * loader/i386/bsd.c: Likewise.
24363 * loader/i386/linux.c: Likewise.
24364 * loader/multiboot_loader.c: Likewise.
24365 * term/i386/pc/serial.c: Likewise.
24366 * term/usb_keyboard.c: Likewise.
24367
24368 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
24369 `<grub/machine/machine.h>'
24370 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
24371 * util/misc.c: Remove `<grub/machine/machine.h>' and
24372 `<grub/machine/time.h>'.
24373
24374 * Makefile.in (enable_grub_emu): Remove variable.
24375 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
24376
24377 * conf/any-emu.rmk: New file.
24378 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
24379 (grub_emu_init.c): Move from here ...
24380 * conf/any-emu.rmk: ... to here.
24381
24382 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
24383 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
24384 * conf/any-emu.rmk: ... to here.
24385
4efeab03
RM
243862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24387
24388 * include/grub/parser.h (grub_parser_register): Document need
24389 of `name' parameter.
24390 * normal/main.c (grub_normal_read_line): Simplify prompt string.
24391 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
24392 "sh" to "grub".
24393
ea1dd8bf
RM
243942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24395
24396 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
24397 `$(XGETTEXT)'.
24398 * include/grub/i18n.h (N_): New macro.
24399 * util/mkisofs/mkisofs.h: Likewise.
24400 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
24401 around N_().
24402 (usage): Use gettext() to translate help strings when printing them.
24403
0c140626
RM
244042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24405
24406 Based on patch from Bean
24407 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24408
24409 * video/efi_fb.c: New file.
24410 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
24411 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24412 variables.
24413 * conf/x86_64-efi.rmk: Likewise.
24414
87d58298
RM
244152009-11-22 Robert Millan <rmh.grub@aybabtu.com>
24416
24417 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
24418 * util/i386/pc/grub-setup.c: Likewise.
24419
994cc3a3
ST
244202009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24421
24422 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
24423 <hurd/fs.h>
24424 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
24425 file_get_storage_info to implement grub_guess_root_device.
24426
26a61d6a
FZ
244272009-11-21 Felix Zielcke <fzielcke@z-51.de>
24428
24429 * Makefile.in (target): Use make's builtin $(shell) function
24430 instead of calling directly $(SHELL) to create the locale directories,
24431 inside the $(foreach) function.
24432
74ff1dd5
FZ
244332009-11-21 Felix Zielcke <fzielcke@z-51.de>
24434
24435 * util/grub-mkrescue.in: Print an error and usage if output option
24436 has not been given.
24437
0b787d0e
FZ
244382009-11-21 Felix Zielcke <fzielcke@z-51.de>
24439
24440 Patch from Loïc Minier <loic.minier@ubuntu.com>.
24441 * util/grub.d/30_os-prober.in: Cope with Linux entries where
24442 root and /boot are on different devices.
24443
1164b270
RM
244442009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24445
24446 Fix build for srcdir != objdir.
24447
24448 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
24449 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
24450 $(srcdir).
24451 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
24452 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
24453 reference for input.
24454
13774a2f
RM
244552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24456
24457 * util/grub-mkrescue.in: Use source directory direcly (without copiing
24458 or hardlinking it). Remove -J option, Joliet is not compatible with
24459 multiple source directories.
24460
efda854e
RM
244612009-11-21 Carles Pina i Estany <carles@pina.cat>
244622009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24463
24464 * util/grub-mkrescue.in: Recognize `--override-directory' option.
24465 (process_input_dir): New function. Process an arbitrary input
24466 directory.
24467 Misc adjustments to support both "override mode" and system-wide mode.
24468
6c09890c
FZ
244692009-11-20 Felix Zielcke <fzielcke@z-51.de>
24470
24471 * configure.ac (UNIFONT_BDF): Rename to ...
24472 (FONT_SOURCE): ... this. Update all users.
24473
a797824f
FZ
244742009-11-20 Felix Zielcke <fzielcke@z-51.de>
24475
24476 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
24477 to the list of unifont files to look for.
24478
cd4f42b0
RM
244792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24480
24481 Patch from Joe Auricchio <jauricchio@gmail.com>
24482 * commands/minicmd.c (grub_mini_cmd_clear): New function.
24483 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
24484 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
24485
393c783d
FZ
244862009-11-19 Felix Zielcke <fzielcke@z-51.de>
24487
24488 * Makefile.in (install-local): Add a missing backslash.
24489
b2f1e327
FZ
244902009-11-19 Felix Zielcke <fzielcke@z-51.de>
24491
24492 * include/grub/x86_64/io.h: New file.
24493
f577f7a0
RM
244942009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24495
24496 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
24497 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
24498 Include `"progname.h"'.
24499 (main): Initialize gettext.
24500 * util/i386/pc/grub-setup.c: Gettexttize.
24501 * util/i386/pc/grub-mkimage.c: Likewise.
24502
24503 * Makefile.in (po/*.po): Redefine as ...
24504 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
24505
3bc7896c
RM
24506 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
24507
c37943b6
RM
245082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24509
24510 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
24511 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
24512 (program_name): Remove.
24513 (main): Initialize gettext support.
6323f705
RM
24514 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
24515 Include `<libintl.h>'.
24516 (_): New macro.
c37943b6
RM
24517
24518 * util/mkisofs/eltorito.c: Gettexttize.
24519 * util/mkisofs/joliet.c: Likewise.
24520 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
24521 * util/mkisofs/multi.c: Likewise.
24522 * util/mkisofs/rock.c: Likewise.
24523 * util/mkisofs/tree.c: Likewise.
24524 * util/mkisofs/write.c: Likewise.
24525
3bc7896c
RM
24526 * po/POTFILES: Update with new files.
24527
5ce77c6e
RM
245282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24529
24530 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
24531 * util/mkisofs/iso9660.h: Likewise.
24532 * util/mkisofs/joliet.c: Likewise.
24533 * util/mkisofs/mkisofs.c: Likewise.
24534 * util/mkisofs/mkisofs.h: Likewise.
24535 * util/mkisofs/rock.c: Likewise.
24536 * util/mkisofs/tree.c: Likewise.
24537 * util/mkisofs/write.c: Likewise.
24538
24539 * util/mkisofs/eltorito.c (rcsid): Remove.
24540 * util/mkisofs/hash.c: Likewise.
24541 * util/mkisofs/joliet.c: Likewise.
24542 * util/mkisofs/name.c: Likewise.
24543 * util/mkisofs/rock.c: Likewise.
24544 * util/mkisofs/tree.c: Likewise.
24545 * util/mkisofs/write.c: Likewise.
24546
1dabbc77
RM
245472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24548
24549 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
24550 instead of static allocation.
24551 * util/mkisofs/match.h: Likewise.
24552
633877cb
RM
245532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24554
3bc7896c
RM
24555 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
24556 and `util/grub.d/10_linux.in'.
633877cb
RM
24557 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
24558 translatable Shell files.
24559
af1c0c85
RM
245602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24561
24562 * Makefile.in ($(srcdir)/aclocal.m4): New target.
24563
769ae37b
RM
245642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24565
24566 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 24567 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
24568 * util/grub.d/10_kfreebsd.in (bindir): New variable.
24569 Add gettext initialization.
24570 (kfreebsd_entry): Make menuentry output translatable.
24571
245722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24573
24574 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
24575 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
24576 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
24577 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
24578 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 24579 * po/LINGUAS: New file.
769ae37b
RM
24580
245812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24582
24583 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
24584 other things).
24585 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
24586 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
24587 bindtextdomain() calls for gettext initialization.
24588
245892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24590
24591 * gnulib/progname.c: New file (imported from Gnulib).
24592 * gnulib/progname.h: Likewise.
24593 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24594 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24595 (usage): Replace `progname' with `program_name'.
24596 (main): Use set_program_name() for program name initialization.
24597
245982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24599
24600 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24601 from here ...
24602 * Makefile.in (CPPFLAGS): ... to here.
24603
246042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24605
24606 * aclocal.m4: Move from here ...
24607 * acinclude.m4: ... to here.
24608 * autogen.sh: Add call to `aclocal'.
24609 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24610
246112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24612
24613 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24614 (LINGUAS): New variable.
24615 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24616 (install-local): Install MO files.
24617 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24618 * include/grub/i18n.h: New file.
3bc7896c
RM
24619 * po/POTFILES: New file.
24620 * po/ca.po: New file.
769ae37b
RM
24621 * util/grub.d/10_linux.in (bindir): New variable.
24622 Add gettext initialization.
24623 (linux_entry): Make menuentry output translatable.
24624 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24625 (usage): Make --help output translatable.
24626 (main): Initialize gettext.
24627
02c0a6ad
RM
246282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24629
24630 * import_gcry.py: New file (written by Vladimir with minor
24631 adjustments).
24632 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24633 ciphers.
24634 * INSTALL: Document that Python is required for bootstrap.
24635
246362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24637
24638 Import ciphers from libgcrypt 1.4.4.
24639
24640 * lib/libgcrypt/cipher/ChangeLog
24641 * lib/libgcrypt/cipher/ac.c
24642 * lib/libgcrypt/cipher/arcfour.c
24643 * lib/libgcrypt/cipher/bithelp.h
24644 * lib/libgcrypt/cipher/blowfish.c
24645 * lib/libgcrypt/cipher/camellia-glue.c
24646 * lib/libgcrypt/cipher/camellia.c
24647 * lib/libgcrypt/cipher/camellia.h
24648 * lib/libgcrypt/cipher/cast5.c
24649 * lib/libgcrypt/cipher/cipher.c
24650 * lib/libgcrypt/cipher/crc.c
24651 * lib/libgcrypt/cipher/des.c
24652 * lib/libgcrypt/cipher/dsa.c
24653 * lib/libgcrypt/cipher/ecc.c
24654 * lib/libgcrypt/cipher/elgamal.c
24655 * lib/libgcrypt/cipher/hash-common.c
24656 * lib/libgcrypt/cipher/hash-common.h
24657 * lib/libgcrypt/cipher/hmac-tests.c
24658 * lib/libgcrypt/cipher/md.c
24659 * lib/libgcrypt/cipher/md4.c
24660 * lib/libgcrypt/cipher/md5.c
24661 * lib/libgcrypt/cipher/primegen.c
24662 * lib/libgcrypt/cipher/pubkey.c
24663 * lib/libgcrypt/cipher/rfc2268.c
24664 * lib/libgcrypt/cipher/rijndael-tables.h
24665 * lib/libgcrypt/cipher/rijndael.c
24666 * lib/libgcrypt/cipher/rmd.h
24667 * lib/libgcrypt/cipher/rmd160.c
24668 * lib/libgcrypt/cipher/rsa.c
24669 * lib/libgcrypt/cipher/seed.c
24670 * lib/libgcrypt/cipher/serpent.c
24671 * lib/libgcrypt/cipher/sha1.c
24672 * lib/libgcrypt/cipher/sha256.c
24673 * lib/libgcrypt/cipher/sha512.c
24674 * lib/libgcrypt/cipher/tiger.c
24675 * lib/libgcrypt/cipher/twofish.c
24676 * lib/libgcrypt/cipher/whirlpool.c
24677
af2f93ac
RM
246782009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24679
24680 Fix build for systems without error().
24681
24682 * gnulib/error.c: New file (imported from Gnulib).
24683 * gnulib/error.h: Likewise.
24684 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24685 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24686 (this variable is now used by error()).
24687
73fb3dd5
FZ
246882009-11-16 Felix Zielcke <fzielcke@z-51.de>
24689
814f5e96
FZ
24690 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24691 instead of relying that char is signed.
73fb3dd5 24692
a691ca33
VS
246932009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24694
24695 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24696 blocksize different from specified.
24697 (grub_pxefs_read): Likewise.
24698
2af8f0f4
FZ
246992009-11-16 Felix Zielcke <fzielcke@z-51.de>
24700
24701 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24702
24703 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24704 (grub_ata_readwrite): Likewise. Update 2 format strings.
24705 (grub_atapi_read): Likewise.
24706
24707 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24708 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24709 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24710 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24711 (ata_mod_LDFLAGS): Move from here ...
24712 * conf/i386.rmk: ... to here ...
24713 * conf/x86_64-efi.rmk: ... and here.
24714 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24715 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24716
83bdecaf
RM
247172009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24718
24719 Relicense multiboot.h, with RMS' blessing.
24720
24721 * include/multiboot.h: Change to X11 license.
24722
fd6fd3d7
RM
247232009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24724
24725 Support --version in grub-mkisofs.
24726
24727 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24728 (OPTION_VERSION): New macro.
24729 (ld_options): Recognize --version.
24730 (usage): Move `program_name' from here ...
24731 (program_name): ... to here. Add `static' qualifier.
24732 (main): Recognize `OPTION_VERSION'.
24733
16a88c49
FZ
247342009-11-15 Felix Zielcke <fzielcke@z-51.de>
24735
24736 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24737 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24738
a4158476
RM
247392009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24740
24741 Fix help2man generation for mkisofs.
24742
24743 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24744 (usage): Send output to stdout (rather than stderr).
24745
fc2208b0
RM
247462009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24747
24748 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24749 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24750 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24751 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24752 (bin_SCRIPTS): Add `grub-mkfloppy'.
24753 (grub_mkfloppy_SOURCES): New variable.
24754
24755 * util/grub-mkrescue.in: New file.
24756 * util/i386/pc/grub-mkfloppy.in: New file.
24757
24758 * util/i386/coreboot/grub-mkrescue.in: Remove.
24759 * util/i386/pc/grub-mkrescue.in: Remove.
24760
8d0edf4a
RM
247612009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24762
24763 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24764 from here ...
24765 * include/multiboot.h (struct multiboot_header): ... to here. Update
24766 all users.
24767 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24768 from here ...
24769 * include/multiboot.h (struct multiboot_info): ... to here. Update
24770 all users.
24771 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24772 from here ...
24773 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24774 Update all users.
24775 * include/grub/multiboot.h (struct grub_mod_list): Move
24776 from here ...
24777 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24778 Update all users.
24779
a73f5969
RM
247802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24781
24782 * include/multiboot2.h (multiboot_word): Rename from this ...
24783 (multiboot2_word): ... to this. Update all users.
24784 (multiboot_header): Rename from this ...
24785 (multiboot2_header): ... to this. Update all users.
24786 (multiboot_tag_header): Rename from this ...
24787 (multiboot2_tag_header): ... to this. Update all users.
24788 (multiboot_tag_start): Rename from this ...
24789 (multiboot2_tag_start): ... to this. Update all users.
24790 (multiboot_tag_name): Rename from this ...
24791 (multiboot2_tag_name): ... to this. Update all users.
24792 (multiboot_tag_module): Rename from this ...
24793 (multiboot2_tag_module): ... to this. Update all users.
24794 (multiboot_tag_memory): Rename from this ...
24795 (multiboot2_tag_memory): ... to this. Update all users.
24796 (multiboot_tag_unused): Rename from this ...
24797 (multiboot2_tag_unused): ... to this. Update all users.
24798 (multiboot_tag_end): Rename from this ...
24799 (multiboot2_tag_end): ... to this. Update all users.
24800
1c8927f0
RM
248012009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24802
24803 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24804 this platform we should support Multiboot1 first.
24805
24806 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24807 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24808 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24809
6e1e0d89
RM
248102009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24811
24812 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24813 of write calls (converting them to fwrite() if they aren't already).
24814 (get_torito_desc): Likewise.
24815 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24816
7f2b34d8
RM
248172009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24818
24819 * util/i386/pc/grub-install.in: Move from here ...
24820 * util/grub-install.in: ... to here. Update all users.
24821
c0ef3311
CW
248222009-11-11 Colin Watson <cjwatson@ubuntu.com>
24823
24824 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24825
e1f240ff
RM
248262009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24827
24828 Support for El Torito without floppy emulation.
24829
24830 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24831 (init_boot_catalog): Improve error handling.
24832 (get_torito_desc): Don't use floppy emulation unless requested by
24833 user. Patch boot information table when requested via
24834 `-boot-info-table'.
24835 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24836 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24837 (use_boot_info_table): New variables.
24838 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24839 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24840 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24841 `--eltorito-emul-floppy'.
24842 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24843 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24844 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24845 (use_boot_info_table, get_731): New prototypes.
24846 * util/mkisofs/write.c (get_731): New function.
24847
af7d4de5
FZ
248482009-11-11 Felix Zielcke <fzielcke@z-51.de>
24849
24850 Fix the generation of the man page.
24851
24852 * util/pc/i386/grub-install.in: Source
24853 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24854
2c55dbc0
RM
248552009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24856
24857 Large file support for grub-mkisofs.
24858
24859 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24860 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24861 (session_start): Upgrade type to `uint64_t'. Update all users.
24862 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24863 (struct directory_entry): Upgrade type of `starting_block' and
24864 `size' to `uint64_t'. Update all users.
24865 (struct deferred): Remove unused structure.
24866 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24867 Update all users.
24868 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24869 file is larger than `UINT32_MAX'.
24870 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24871 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24872 return value.
24873 (struct deferred_write): Upgrade type of `extent' and `size' to
24874 `uint64_t'. Update all users.
24875 (last_extent_written): Upgrade type to `uint64_t'. Update all
24876 users.
24877 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24878 Update all users. Upgrade type of `remain' to `int64_t' and
24879 `use' to `size_t'. Use error() to handle fread() errors.
24880 (write_files): Rely on write_one_file() rather than calling
24881 xfwrite() directly.
24882
6a9cead5
FZ
248832009-11-09 Felix Zielcke <fzielcke@z-51.de>
24884
24885 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24886
4825d790
RM
248872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24888
24889 * util/mkisofs/fnmatch.c: Remove.
24890 * util/mkisofs/getopt1.c: Likewise.
24891 * util/mkisofs/getopt.c: Likewise.
24892 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24893 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24894 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24895 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24896 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24897
24898 * configure.ac: Detect `mingw32msvc' host_os.
24899 Check for lstat(), getuid() and getgid().
24900
24901 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24902 instances of `u_char' with `uint8_t'.
24903
24904 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24905 [!HAVE_GETUID] (getuid): New function (stub).
24906 [!HAVE_GETGID] (getgid): Likewise.
24907 [!HAVE_LSTAT] (lstat): Likewise.
24908 [!S_IROTH] (S_IROTH): New macro (dummy).
24909 [!S_IRGRP] (S_IRGRP): Likewise.
24910
84b860d8
RM
249112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24912
24913 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24914 conditional expression).
24915
66e9b712
RM
249162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24917
24918 Import from Gnulib.
24919
24920 * gnulib/fnmatch.c: New file.
24921 * gnulib/fnmatch.h: Likewise.
24922 * gnulib/fnmatch_loop.c: Likewise.
24923 * gnulib/getopt.c: Likewise.
24924 * gnulib/getopt.h: Likewise.
24925 * gnulib/getopt1.c: Likewise.
24926 * gnulib/getopt_int.h: Likewise.
24927 * gnulib/gettext.h: Likewise.
24928
34f4a5b0
RM
249292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24930
24931 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24932 * normal/handler.c (read_handler_list): Likewise.
24933
ac451143
RM
249342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24935
24936 Misc cleanup.
24937
24938 * kern/command.c (grub_register_command_prio): Use
24939 grub_zalloc() instead of explicitly zeroing data.
24940 * kern/list.c: Include `<grub/mm.h>'.
24941 (grub_named_list_find): Replace `0' with `NULL'.
24942 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24943 (fs_module_list): Change type to `grub_named_list_t'. Update all
24944 users.
24945 * normal/dyncmd.c (read_command_list): Add space between function
24946 call and parenthesis.
24947 * normal/handler.c (read_handler_list): Likewise.
24948
4089b167
RM
249492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24950
24951 * normal/auth.c (punishment_delay): Moved from here ...
24952 (grub_auth_strcmp): ... to here (inside function).
24953
325f5037
RM
249542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24955
24956 * include/grub/list.h (struct grub_named_list): Remove `const'
24957 qualifier from `name'.
24958 (struct grub_prio_list): Likewise.
24959
7aea29a3
RM
249602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24961
24962 * normal/auth.c: Include `<grub/time.h>'.
24963 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24964
3fd6f044
RM
249652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24966
24967 * normal/auth.c (punishment_delay): New variable.
24968 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24969 (grub_auth_check_authentication): Punish failed login attempts with
24970 an incremental (2^N) delay.
24971
a4cd68e4
RM
249722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24973
24974 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24975 path with $(srcdir).
24976
7ad12f43
VS
249772009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24978
24979 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24980
c1129f03
RM
249812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24982
24983 * util/i386/coreboot/grub-mkrescue.in: New file.
24984 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24985 variables.
24986
24987 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24988 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24989 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24990 requirements.
24991 * util/mkisofs/defaults.h: New file.
24992 * util/mkisofs/eltorito.c: Likewise.
24993 * util/mkisofs/exclude.h: Likewise.
24994 * util/mkisofs/fnmatch.c: Likewise.
24995 * util/mkisofs/getopt.c: Likewise.
24996 * util/mkisofs/getopt1.c: Likewise.
24997 * util/mkisofs/hash.c: Likewise.
24998 * util/mkisofs/include/fctldefs.h: Likewise.
24999 * util/mkisofs/include/mconfig.h: Likewise.
25000 * util/mkisofs/include/prototyp.h: Likewise.
25001 * util/mkisofs/include/statdefs.h: Likewise.
25002 * util/mkisofs/iso9660.h: Likewise.
25003 * util/mkisofs/joliet.c: Likewise.
25004 * util/mkisofs/match.c: Likewise.
25005 * util/mkisofs/match.h: Likewise.
25006 * util/mkisofs/mkisofs.c: Likewise.
25007 * util/mkisofs/mkisofs.h: Likewise.
25008 * util/mkisofs/multi.c: Likewise.
25009 * util/mkisofs/name.c: Likewise.
25010 * util/mkisofs/rock.c: Likewise.
25011 * util/mkisofs/tree.c: Likewise.
25012 * util/mkisofs/write.c: Likewise.
25013
ec8bb77d
VS
250142009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25017 being insecure.
25018
3716b12c
RM
250192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25020
25021 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25022 `grub-mkimage' (and use $0 when possible).
25023
b97b7b91
RM
250242009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25025
25026 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25027 error message for excessively large memory map.
25028
04114812
RM
250292009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25030
25031 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25032 executable bit.
25033
e4eb2373
RM
250342009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25035
25036 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25037 message for coreboot users.
25038
c926e1d5 250392009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25040
25041 Fix build with GNU gold.
25042
25043 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25044 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25045 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25046 link addresses.
25047 * aclocal.m4: Likewise.
25048
86e5b1db 250492009-11-04 Felix Zielcke <fzielcke@z-51.de>
25050
25051 * configure.ac (AC_PREREQ): Bump to 2.59d.
25052 * INSTALL: Make it more clear when Autoconf and Ruby are
25053 needed and when to run `./autogen.sh'.
25054
246cd78f 250552009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25056
25057 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25058 OSes.
25059
4f9dfb37 250602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25061
25062 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25063
b82bd5e1 250642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25065
25066 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25067 giving it to GNU Mach.
25068
ff1a9bca 250692009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25070
25071 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25072 GNU partition number to get internal GRUB partition number.
25073
61697d9c 250742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25075
25076 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25077 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25078
a50569e1 250792009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25080
25081 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25082 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25083 case.
25084
5b153867 250852009-11-01 Felix Zielcke <fzielcke@z-51.de>
25086
25087 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25088
d9e2cd70 250892009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25090
25091 Fix build problem.
25092
25093 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25094 `-isystem=$(srcdir)/include'.
25095
805111a4 250962009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25097
25098 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25099 checked (grub-install doesn't currently rely on it).
25100
fa6e945f 251012009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25102
25103 Revert SVN r2660.
25104
25105 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25106 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25107 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25108 * conf/i386-ieee1275.rmk: Likewise.
25109 * conf/i386-pc.rmk: Likewise.
25110 * conf/powerpc-ieee1275.rmk: Likewise.
25111 * conf/sparc64-ieee1275.rmk: Likewise.
25112 * conf/x86_64-efi.rmk: Likewise.
25113
cee15086 251142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25115
25116 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25117
95b9239e 251182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25119
25120 * include/grub/misc.h: Stop checking for APPLE_CC.
25121
2ed19dfd 251222009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25123
25124 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25125 doesn't cause an infinite call loop.
25126
fdcdde19 251272009-10-28 Felix Zielcke <fzielcke@z-51.de>
25128
25129 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25130 strings.
25131
cefabfe1 251322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25133
25134 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25135 variable.
25136 * Makefile.in: Likewise.
25137
ed96ab6d 251382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25139
25140 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25141
0579b753 251422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25143
25144 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
25145
478df409 251462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25147
25148 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25149
083d1679 251502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25151
25152 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25153 from here ...
25154 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25155
5947ae32 251562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25157
25158 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25159 in $(MAKEINFO) invocation. This makes it clear in output that
25160 errors are being ignored.
25161
94180ff6 251622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25163
25164 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25165 from here ...
25166 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25167 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25168 * conf/i386-ieee1275.rmk: Likewise.
25169 * conf/i386-pc.rmk: Likewise.
25170 * conf/powerpc-ieee1275.rmk: Likewise.
25171 * conf/sparc64-ieee1275.rmk: Likewise.
25172 * conf/x86_64-efi.rmk: Likewise.
25173
9031b03a 251742009-10-26 Colin Watson <cjwatson@ubuntu.com>
25175
25176 * util/grub-editenv.c (main): If only a command is given, use
25177 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25178 (usage): FILENAME is now optional and has a default.
25179
e4f6809b 251802009-10-26 Colin Watson <cjwatson@ubuntu.com>
25181
25182 Improve grub-mkconfig performance when there are several menu
25183 entries on a single filesystem.
25184
25185 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25186 prepare_grub_to_access_device.
25187 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25188 * util/grub.d/30_os-prober.in: Likewise.
25189
67937d4d 251902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25191
25192 * util/grub.d/10_freebsd.in: Remove.
25193 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25194 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25195
ee3756cc 251962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25197
5c35048e 25198 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 25199
4dea1c6f 252002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25201
25202 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25203 grub_util_error() call.
25204
042484d7 252052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25206
25207 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25208 `reserved_first_sector' member.
25209 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25210 `reserved_first_sector' to 1.
25211 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25212 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25213 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25214 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25215 filesystems which begin at first sector.
25216 (options): New option --skip-fs-probe.
25217 (main): Handle --skip-fs-probe and pass it to setup().
25218
d64448a7 252192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25220
25221 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25222 (memset): Fix function prototype.
25223
508d42ec 252242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
252252009-10-25 Vasily Averin <vvs@parallels.com>
25226
25227 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
25228 `dirent.direntlen == 0'.
25229
b240e30c 252302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25231
25232 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
25233 `cpio'.
25234 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
25235
346e7fbe 252362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25237
25238 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
25239 `__trampoline_setup' and `__ucmpdi2'.
25240 * include/grub/powerpc/libgcc.h: Only export symbols for functions
25241 that libgcc provides.
25242
cdb308b0 252432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25244
25245 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
25246 * include/grub/sparc64/libgcc.h (memset): Likewise.
25247 * include/grub/misc.h (memset, memcmp): New function prototypes.
25248
fb26abc2 252492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25250
25251 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
25252 `cpio'.
25253 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
25254
f6693890 252552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25256
25257 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
25258 * docs/grub.cfg: Compensate for recent change in multiboot
25259 loader (since 2009-08-14 it won't pass filename to payload).
25260 * util/grub.d/10_hurd.in: Likewise.
25261
0933cdc0 252622009-10-21 Felix Zielcke <fzielcke@z-51.de>
25263
25264 * config.guess: Update to latest version from config git
25265 repository.
25266 * config.sub: Likewise.
25267
3b2fe8c2 252682009-10-20 Robert Millan <rmh.grub@aybabtu.com>
25269
25270 Fix build on sparc64.
25271
25272 * configure.ac: Perform checks for libgcc symbols before
25273 adding `-nostdlib' to LDFLAGS.
25274
46695a62 252752009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25276
25277 Let user specify OpenBSD root device.
25278
25279 * loader/i386/bsd.c (openbsd_root): New variable.
25280 (openbsd_opts): New option 'root'.
25281 (OPENBSD_ROOT_ARG): New macro.
25282 (grub_openbsd_boot): Use 'openbsd_root'.
25283 (grub_cmd_openbsd): Fill 'openbsd_root'.
25284
d2b6b7fc 252852009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25286
25287 * NEWS: Misc adjustments.
25288
421bd7ac 252892009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25290
25291 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
25292
f1d29d87 252932009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25294
25295 * configure.ac: Bump version to 1.97.
25296
6f3cd880 252972009-10-16 Colin Watson <cjwatson@ubuntu.com>
25298
25299 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
25300 -mno-3dnow on x86 architectures. Some toolchains enable these
25301 features by default, but they rely on registers that aren't enabled
25302 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
25303
035f7122 253042009-10-15 Robert Millan <rmh.grub@aybabtu.com>
25305
25306 Make entry text a bit more readable.
25307
25308 * util/grub.d/10_linux.in: Add `with' before `Linux'.
25309
44998e58 253102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
25313
cd2851b3 253142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
25317 operations.
25318
c6f3b249 253192009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25320
25321 * configure.ac: Add missing dollar.
25322
6b5886ba 253232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25324
25325 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
25326
25327 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
25328 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
25329 exports.
25330 * include/grub/sparc64/libgcc.h: Likewise. Use
25331 preprocessor conditionals.
25332
e9d66f6d 253332009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25334
25335 * conf/common.rmk (grub-dumpbios): Remove rule.
25336 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
25337 * util/grub-dumpbios.in: Remove file.
25338
9155bc17 253392009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25340
25341 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
25342 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
25343
25344 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
25345 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
25346 users.
25347
25348 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
25349 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
25350 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
25351 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
25352 users.
25353
bf7f7a18 253542009-10-12 Robert Millan <rmh.grub@aybabtu.com>
25355
25356 * term/tparm.c: Switch to GPLv3.
25357
86564c26 253582009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25359
25360 * include/grub/i386/cpuid.h: Add header protection.
25361
5c936493 253622009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25363
25364 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
25365
25366 * include/grub/i386/cpuid.h: New file.
25367 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
25368 (has_longmode): Rename to ...
25369 (grub_cpuid_has_longmode): ... this. Update all users. Remove
25370 `static' attribute.
25371 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
25372 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
25373 on a CPU that doesn't implement AMD64 instruction set.
25374
186e7cf2 253752009-10-06 Colin Watson <cjwatson@ubuntu.com>
25376
25377 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
25378 that version.texi is rebuilt on version number changes.
25379
83b65c4a 253802009-10-06 Colin Watson <cjwatson@ubuntu.com>
25381
25382 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
25383 Fixes bug #27602.
25384
d244281c 253852009-10-06 Colin Watson <cjwatson@ubuntu.com>
25386
25387 * util/i386/pc/grub-install.in: Source
25388 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
25389 that the --grub-probe option will work.
25390 * util/sparc64/ieee1275/grub-install.in: Likewise.
25391
da25306d 253922009-10-05 Robert Millan <rmh.grub@aybabtu.com>
25393
25394 * configure.ac: Bump version to 1.97~beta4.
25395
e8ee83c0 253962009-10-03 Robert Millan <rmh.grub@aybabtu.com>
25397
25398 Resync grub-mkdevicemap in x86_64-efi.
25399
25400 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
25401 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
25402 `util/devicemap.c'.
25403
50dcabcf 254042009-10-01 Colin Watson <cjwatson@ubuntu.com>
25405
25406 * util/grub-editenv.c (create_envblk_file): Write new block with a
25407 .new suffix and then rename it into place, to ensure atomic
25408 creation.
25409
0e51c3a7 254102009-09-28 Robert Millan <rmh.grub@aybabtu.com>
25411
25412 Do not automatically install headers.
25413
25414 * Makefile.in (include_DATA): Remove. Update all users.
25415
31299a95 254162009-09-26 Robert Millan <rmh.grub@aybabtu.com>
25417
25418 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
25419 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
25420
25421 * util/osdetect.lua: Remove.
25422 * script/lua/lauxlib.c: Likewise.
25423 * script/lua/ldebug.c: Likewise.
25424 * script/lua/grub_main.c: Likewise.
25425 * script/lua/lauxlib.h: Likewise.
25426 * script/lua/ldebug.h: Likewise.
25427 * script/lua/ltablib.c: Likewise.
25428 * script/lua/liolib.c: Likewise.
25429 * script/lua/lstrlib.c: Likewise.
25430 * script/lua/lualib.h: Likewise.
25431 * script/lua/ldo.c: Likewise.
25432 * script/lua/ldump.c: Likewise.
25433 * script/lua/ldo.h: Likewise.
25434 * script/lua/loslib.c: Likewise.
25435 * script/lua/lundump.c: Likewise.
25436 * script/lua/grub_lib.c: Likewise.
25437 * script/lua/ldblib.c: Likewise.
25438 * script/lua/lundump.h: Likewise.
25439 * script/lua/lmem.c: Likewise.
25440 * script/lua/grub_lib.h: Likewise.
25441 * script/lua/lmathlib.c: Likewise.
25442 * script/lua/lstate.c: Likewise.
25443 * script/lua/ltm.c: Likewise.
25444 * script/lua/lvm.c: Likewise.
25445 * script/lua/lmem.h: Likewise.
25446 * script/lua/lstate.h: Likewise.
25447 * script/lua/ltm.h: Likewise.
25448 * script/lua/ltable.c: Likewise.
25449 * script/lua/lvm.h: Likewise.
25450 * script/lua/llex.c: Likewise.
25451 * script/lua/lgc.c: Likewise.
25452 * script/lua/grub_lua.h: Likewise.
25453 * script/lua/loadlib.c: Likewise.
25454 * script/lua/lfunc.c: Likewise.
25455 * script/lua/lopcodes.c: Likewise.
25456 * script/lua/lparser.c: Likewise.
25457 * script/lua/ltable.h: Likewise.
25458 * script/lua/llex.h: Likewise.
25459 * script/lua/lgc.h: Likewise.
25460 * script/lua/lfunc.h: Likewise.
25461 * script/lua/lbaselib.c: Likewise.
25462 * script/lua/lopcodes.h: Likewise.
25463 * script/lua/lparser.h: Likewise.
25464 * script/lua/lzio.c: Likewise.
25465 * script/lua/linit.c: Likewise.
25466 * script/lua/lobject.c: Likewise.
25467 * script/lua/llimits.h: Likewise.
25468 * script/lua/lstring.c: Likewise.
25469 * script/lua/lzio.h: Likewise.
25470 * script/lua/lapi.c: Likewise.
25471 * script/lua/lcode.c: Likewise.
25472 * script/lua/lua.h: Likewise.
25473 * script/lua/lobject.h: Likewise.
25474 * script/lua/lstring.h: Likewise.
25475 * script/lua/lapi.h: Likewise.
25476 * script/lua/lcode.h: Likewise.
25477 * script/lua/luaconf.h: Likewise.
25478
cb8a2c38 254792009-09-26 Colin Watson <cjwatson@ubuntu.com>
25480
25481 * docs/grub.texi (Command-line and menu entry commands): Document
25482 date and echo commands.
25483
6b9b6276 254842009-09-24 Pavel Roskin <proski@gnu.org>
25485
25486 * include/grub/kernel.h (struct grub_module_header): Remove
25487 `grub_module_header_types'. Make `type' unsigned. Make `size'
25488 32-bit on all platforms.
25489 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
25490 8-bit field. Use grub_host_to_target32() for `size'.
25491 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
25492 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
25493 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
25494
4e5a02a7 254952009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25496
25497 Fix "lost keypress" bug in at_keyboard.
25498
25499 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
25500 Checks for readyness of input buffer (without flushing it).
25501 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
25502 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
25503
c6dcedf6 255042009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25505
25506 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
25507 size check within GRUB_MACHINE_PCBIOS section.
25508
74c958b1 255092009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25510
25511 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
25512 return value.
25513 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
25514 KEYBOARD_ISREADY check.
25515 (grub_at_keyboard_checkkey): Rename to ...
25516 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
25517 Remove gratuitous cast.
25518
ff420223 255192009-09-23 Colin Watson <cjwatson@ubuntu.com>
25520
25521 * configure.ac: Call AC_PROG_MKDIR_P.
25522 * Makefile.in (docs/stamp-vti): Create docs directory. Create
25523 version.texi in $(builddir) rather than $(srcdir).
25524 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
25525 to makeinfo's @include search path.
25526
d96875df 255272009-09-23 Felix Zielcke <fzielcke@z-51.de>
25528
25529 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
25530
9b3f8365 255312009-09-23 Felix Zielcke <fzielcke@z-51.de>
25532
25533 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
25534 for `*.dpkg-new'.
25535
c44c90db 255362009-09-21 Colin Watson <cjwatson@ubuntu.com>
25537
25538 Build info documentation. Some code borrowed from Automake.
25539
25540 * configure.ac: Check for makeinfo.
25541 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
25542 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
25543 docs/version.texi.
25544 (MOSTLYCLEANFILES): Add vti.tmp.
25545 (docs/version.texi, docs/stamp-vti): Update automatically.
25546 (docs/grub.info): Build info documentation. Use --force and ignore
25547 errors for now.
25548 (all-local): Add $(INFOS).
25549 (install-local): Install info files.
25550 (uninstall): Uninstall info files.
25551 * docs/version.texi: Remove from revision control. This file is
25552 automatically generated on build now.
25553 * gendistlist.sh: Add `*.info'.
25554
e0b37bb5 255552009-09-21 Felix Zielcke <fzielcke@z-51.de>
25556
25557 * kern/term.c: Fix indentation.
25558
5a78865b 255592009-09-21 Felix Zielcke <fzielcke@z-51.de>
25560
25561 * util/hostdisk.c: Fix a comment.
25562
dace7e8a 255632009-09-20 Robert Millan <rmh.grub@aybabtu.com>
25564
25565 Fix regression introduced in r2539.
25566
25567 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
25568 to 0xA1.
25569
a83d079b 255702009-09-19 Colin Watson <cjwatson@ubuntu.com>
25571
25572 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 25573 os-prober. Under normal operation, it does not print anything to
25574 stderr; if it does, we need to debug it, and throwing away stderr
25575 makes that excessively difficult.
a83d079b 25576
be94a509 255772009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
25578
25579 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
25580
63f745e8 255812009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25582
25583 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
25584 AC_LANG_PROGRAM from autoconf.
25585 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
25586 prototypes (fixes warning).
25587
25588 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
25589 `--disable-werror' was used.
25590
bbb2a70f 255912009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25592
25593 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25594 uninitialized `lastaddr'.
25595
77c24f1d 255962009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25597
0f0b8c87 25598 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25599
07197f23 256002009-09-14 Colin Watson <cjwatson@ubuntu.com>
25601
25602 * commands/test.c (get_fileinfo): Return immediately if
25603 grub_fs_probe fails.
25604
dabf1798 256052009-09-14 José Martínez <xosemp@gmail.com>
25606
25607 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25608
d52109a7 256092009-09-14 Colin Watson <cjwatson@ubuntu.com>
25610
25611 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25612 output.
25613
56532179 256142009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25615
25616 * configure.ac: Remove --enable-grub-pe2elf. Only build
25617 grub-pe2elf when needed by the build system itself.
25618 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25619
8ef070f5 256202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25621
25622 * configure.ac: Bump version to 1.97~beta3.
25623 * docs/version.texi: Likewise.
25624
61229557 256252009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25626
25627 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25628 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25629 from here ...
25630 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25631 (grub_linux_setup_video): ... to here (with some adjustments).
25632
5c9f8d84 256332009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25634
25635 Fix memory corruption issue (spotted by Colin Watson).
25636
25637 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25638 causing returned size to be stored in an incorrect memory location.
25639 Fix use of uninitialized value when storing the returned size.
25640
e8f5d6e9 256412009-09-12 Yves Blusseau <blusseau@zetam.org>
25642
25643 Change clean rules to properly remove files
25644
25645 * genmk.rb: add new clean rules
25646 * Makefile.in (clean): add the new targets
25647 (mostlyclean): likewise
25648
cda2a409 256492009-09-11 Colin Watson <cjwatson@ubuntu.com>
25650
25651 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25652 to grub_uint64_t.
25653 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25654 non-resident files.
25655
86695375 256562009-09-11 Colin Watson <cjwatson@ubuntu.com>
25657
25658 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25659 part of bug #27349.
25660
8aa1541a 256612009-09-10 Felix Zielcke <fzielcke@z-51.de>
25662
25663 * util/grub-mkconfig.in: Make the created config mode 400 and
25664 print a warning if it fails.
25665
48d9bb0a 256662009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25667
25668 * util/grub.d/40_custom.in: Ask user to type custom entries below
25669 comment, rather than below 'exec tail' line.
25670
3b0521be 256712009-09-10 Colin Watson <cjwatson@ubuntu.com>
25672
25673 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25674 visible in grub.cfg.
25675
50051d55 256762009-09-10 Colin Watson <cjwatson@ubuntu.com>
25677
25678 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25679 file.
25680
c0d34387 256812009-09-10 Felix Zielcke <fzielcke@z-51.de>
25682
25683 * docs/grub.cfg: Add an example menu entry for memtest86+.
25684
80a608f3 256852009-09-09 Felix Zielcke <fzielcke@z-51.de>
25686
a2094832 25687 * config.guess: Update to latest version from config git.
80a608f3 25688 * config.sub: Likewise.
25689
99423078 256902009-09-08 Colin Watson <cjwatson@ubuntu.com>
25691
25692 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25693 unknown-command case. Fixes bug #27320.
25694
44454e4c 256952009-09-08 Felix Zielcke <fzielcke@z-51.de>
25696
25697 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25698 `help' if the command exists.
25699
e30d87ad 257002009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25701
25702 * INSTALL: Require GCC 4.1.3 or later.
25703
9a86f1ec 257042009-09-06 Yves Blusseau <blusseau@zetam.org>
25705
25706 * Makefile.in (RMKFILES): add i386-qemu.rmk
25707 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25708 $(srcdir)/stamp-h.in
25709
7f26d466 257102009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25711
25712 * util/grub-probe.c (probe): Comment out buggy codepath, which
25713 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25714 should be re-enabled after 1.97.
25715
3a613259 257162009-09-05 Felix Zielcke <fzielcke@z-51.de>
25717
25718 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25719 find searches for.
25720
197f76c7 257212009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25722
25723 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25724 unnecessary calls to grub_error.
25725
70ba68ce 257262009-09-04 Colin Watson <cjwatson@ubuntu.com>
25727
25728 * NEWS: Mention `keystatus' and Unicode fonts.
25729
4ff0d7a4 257302009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25731
25732 * configure.ac: Bump version to 1.97~beta2.
25733 * docs/version.texi: Likewise.
25734
77c55a87 257352009-09-03 Colin Watson <cjwatson@ubuntu.com>
25736
25737 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25738 containing unwind information in some cases where it previously did
25739 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25740 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25741 discussion.
25742
f79572cd 257432009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25744
25745 Embedding loadenv module into grub-emu
25746
25747 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25748 commands/loadenv.c
25749 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25750 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25753 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25754 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25755
93a81088 257562009-09-03 Magnus Granberg <zorry@ume.nu>
25757
25758 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25759 include -fPIE in the default specs.
25760 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25761 to TARGET_CFLAGS.
25762
160034b2 257632009-09-03 Felix Zielcke <fzielcke@z-51.de>
25764
25765 * INSTALL: Note that GNU Bison 2.3 or later is required.
25766
087c07c4 257672009-09-03 Colin Watson <cjwatson@ubuntu.com>
25768
25769 * kern/i386/pc/startup.S: Fix typo.
25770
cbf978c0 257712009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25772
25773 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25774 according to GCS.
25775
257762009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25777
25778 * docs/grub.texi (Naming convention): Describe one-based partition
25779 numbering.
25780 (Device syntax): Likewise.
25781 (File name syntax): Likewise.
25782 (Block list syntax): Likewise.
25783 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25784 menu.lst.
25785 (File name syntax): Likewise.
25786 (Command-line and menu entry commands): Document acpi, blocklist,
25787 crc, export, insmod, keystatus, ls, set, and unset commands.
25788
f3e8cdfd 257892009-09-02 Colin Watson <cjwatson@ubuntu.com>
25790
25791 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25792 to avoid implying that only one of --shift, --ctrl, or --alt may be
25793 used.
25794
c0bc232b 257952009-09-02 Colin Watson <cjwatson@ubuntu.com>
25796
25797 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25798 rather than comparing against S_IFREG, which will almost never work.
25799
aa0f752d 258002009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25801
25802 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25803 (write_blocklists): Likewise.
25804
ecb3166a 258052009-09-01 Colin Watson <cjwatson@ubuntu.com>
25806
25807 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25808 argument to grub_printf.
25809
c403a125 258102009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25811
25812 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25813 non GNU test.
31aba781 25814
b5e7312c 258152009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25816
25817 * kern/file.c (grub_file_read): Spelling fix
25818
fe00f472 258192009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25822 loading of headers in some cases.
25823
cc55302e 258242009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25825
25826 * configure.ac: Bump version to 1.97~beta1.
25827 * docs/version.texi: Likewise.
25828
5c90cdd2 258292009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25830
25831 * include/grub/i386/xnu.h: Add license header.
25832 include grub/err.h explicitly.
25833
c90edae4 258342009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25835
25836 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25837 to `ufs' in the vfs.root.mountfrom kernel parameter.
25838
d8888b5c 258392009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25840
25841 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25842
25843 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25844 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25845
25846 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25847 `ARRAY_SIZE' macro.
25848
6f07b921 258492009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25850
25851 * kern/file.c (grub_file_read): Check offset.
25852 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25853 * fs/jfs.c (grub_jfs_read_file): Likewise.
25854 * fs/ntfs.c (grub_ntfs_read): Likewise.
25855 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25856 * fs/minix.c (grub_minix_read_file): Correct offset check.
25857 * fs/ufs.c (grub_ufs_read_file): Likewise.
25858
b4f34077 258592009-08-28 Colin Watson <cjwatson@ubuntu.com>
25860
25861 * term/i386/pc/console.c (bios_data_area): Cast
25862 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25863
e7c69859 258642009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25865
25866 1-bit optimised blitters.
25867
25868 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25869 prototype.
25870 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25871 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25872 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25873 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25874 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25875 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25876 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25877 function.
25878 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25879 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25880 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25881 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25882 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25883 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25884 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25885 when possible.
25886 * video/video.c (grub_video_get_blit_format): Return
25887 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25888
a57da43f 258892009-08-28 Colin Watson <cjwatson@ubuntu.com>
25890
25891 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25892 the first argument to grub_printf.
25893
4cbe67e5 258942009-08-28 Colin Watson <cjwatson@ubuntu.com>
258952009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25896
25897 Add `getkeystatus' terminal method. Add a new `keystatus' command
25898 to query it.
25899
25900 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25901 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25902 modifier key bitmasks.
25903 (struct grub_term_input): Add `getkeystatus' member.
25904 (grub_getkeystatus): Add prototype.
25905 * kern/term.c (grub_getkeystatus): New function.
25906
25907 * include/grub/i386/pc/memory.h
25908 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25909 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25910 Data Area layout.
25911 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25912 (grub_console_term_input): Set `getkeystatus' member.
25913 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25914 constants.
25915 (grub_usb_keyboard_getreport): Likewise.
25916 (grub_usb_keyboard_checkkey): Likewise.
25917 (grub_usb_keyboard_getkeystatus): New function.
25918 (grub_usb_keyboard_term): Set `getkeystatus' member.
25919
25920 * commands/keystatus.c: New file.
25921 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25922 (keystatus_mod_SOURCES): New variable.
25923 (keystatus_mod_CFLAGS): Likewise.
25924 (keystatus_mod_LDFLAGS): Likewise.
25925 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25926 commands/keystatus.c.
25927 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25928 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25929 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25932 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25933
6e2a9085 259342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 Split befs.mod and afs.mod into *_be.mod and *.mod
25937
25938 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25939 (grub_fstest_SOURCES): Likewise.
25940 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25941 (afs_be_mod_SOURCES): New variable.
25942 (afs_be_mod_CFLAGS): Likewise.
25943 (afs_be_mod_LDFLAGS): Likewise.
25944 (befs_be_mod_SOURCES): Likewise.
25945 (befs_be_mod_CFLAGS): Likewise.
25946 (befs_be_mod_LDFLAGS): Likewise.
25947 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25948 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25949 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25950 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25951 (grub_emu_SOURCES): Likewise.
25952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25953 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25954 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25955 * fs/afs_be.c: New file.
25956 * fs/befs_be.c: New file.
25957 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25958 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25959 (U16): Replaced with ...
25960 (grub_afs_to_cpu16): ...this. All users updated.
25961 (U32): Replaced with ...
25962 (grub_afs_to_cpu32): ...this. All users updated.
25963 (U64): Replaced with ...
25964 (grub_afs_to_cpu64): ...this. All users updated.
25965 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25966 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25967 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25968 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25969 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25970 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25971 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25972 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25973 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25974 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25975 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25976
32a71655 259772009-08-26 Bean <bean123ch@gmail.com>
25978
25979 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25980 64-bit number.
25981 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25982 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25983 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25984
552bf6c5 259852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25986
25987 NetBSD memory map support.
25988
25989 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25990 (grub_netbsd_btinfo_mmap_header): New structure.
25991 (grub_netbsd_btinfo_mmap_entry): Likewise.
25992 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25993
1ae2078c 259942009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25995
25996 Enable bsd.mod on coreboot.
25997
25998 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25999 (bsd_mod_SOURCES): New variable.
26000 (bsd_mod_CFLAGS): Likewise.
26001 (bsd_mod_LDFLAGS): Likewise.
26002 (bsd_mod_ASFLAGS): Likewise.
26003 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26004 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26005
beefc598 260062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 Cleanup NetBSD root support.
26009
26010 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26011 grub_bsd_get_device.
26012 Fix typo.
26013
3b76e68b 260142009-08-25 Felix Zielcke <fzielcke@z-51.de>
26015
26016 * util/grub.d/00_header.in: Move check for the video backend of
26017 gfxterm from here ...
26018 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26019 a suitable video backend.
26020
aea664ea 260212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26022
26023 Fix breakage in grub-setup.
26024
26025 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26026 "msdos_partition_map".
26027
ff747d50 260282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26029
26030 Fix breakage in normal/auth.c.
26031
26032 * normal/auth.c (grub_iswordseparator): New function.
26033
e7e1f93f 260342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26035
26036 Authentication support.
26037
26038 * commands/password.c: New file.
26039 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26040 (password_mod_SOURCES): New variable.
26041 (password_mod_CFLAGS): Likewise.
26042 (password_mod_LDFLAGS): Likewise.
26043 (normal_mod_SOURCES): Add normal/auth.c.
26044 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26045 normal/auth.c.
26046 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26047 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26048 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26050 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26051 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26052 * include/grub/auth.h: New file.
26053 * include/grub/err.h (grub_err_t): New enum value
26054 GRUB_ERR_ACCESS_DENIED.
26055 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26056 'users'.
26057 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26058 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26059 users updated.
26060 * normal/auth.c: New file.
26061 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26062 (grub_cmdline_run): Don't allow to go to command line without
26063 authentication.
26064 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26065 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26066 menuentry without superuser rights.
26067 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26068 user isn't a superuser.
26069
70f1161d 260702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26071
26072 Save space by inlining misc.c functions.
26073
26074 * kern/misc.c (grub_iswordseparator): Made static.
26075 * kern/misc.c (grub_strcat): Moved from here ...
26076 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26077 * kern/misc.c (grub_strncat): Moved from here ...
26078 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26079 * kern/misc.c (grub_strcasecmp): Moved from here ...
26080 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26081 * kern/misc.c (grub_strncasecmp): Moved from here ...
26082 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26083 * kern/misc.c (grub_isalpha): Moved from here ...
26084 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26085 * kern/misc.c (grub_isdigit): Moved from here ...
26086 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26087 * kern/misc.c (grub_isgraph): Moved from here ...
26088 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26089 * kern/misc.c (grub_tolower): Moved from here ...
26090 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26091
48e40bff 260922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 * script/sh/function.c (grub_script_function_find): Cut error message
26095 not to flood terminal.
26096 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26097 limit.
26098 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26099
c385bfc3 261002009-08-24 Colin Watson <cjwatson@ubuntu.com>
26101
26102 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26103 `report' grub_uint8_t *.
26104 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26105 Use a 50-millisecond timeout rather than just repeating
26106 grub_usb_keyboard_getreport 50 times.
26107 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26108
2d21e3e8 261092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26110
26111 Rename *_partition_map to part_*
26112
26113 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26114 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26115 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26116 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26117 All users updated.
26118 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26119 All users updated.
26120 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26121 * util/grub-probe.c (probe_partmap): Don't transform partition name
26122 to get module name.
26123
dd103c4e 261242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26125
26126 Fix OpenBSD and NetBSD support.
26127
26128 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26129 memory address conflict.
26130 (OPENBSD_MMAP_ACPI): New definition.
26131 (OPENBSD_MMAP_NVS): Likewise.
26132 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26133 and OPENBSD_MMAP_NVS.
26134 Add memory map terminator
26135 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 26136 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 26137
16c84d74 261382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26139
26140 Let user specify NetBSD root device.
26141
26142 * loader/i386/bsd.c (netbsd_root): New variable.
26143 (netbsd_opts): New option 'root'.
26144 (NETBSD_ROOT_ARG): New macro.
26145 (grub_netbsd_boot): Use 'netbsd_root'.
26146 (grub_bsd_unload): Free 'netbsd_root'.
26147 (grub_cmd_netbsd): Fill 'netbsd_root'.
26148
adb29902 261492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26150
26151 Support for 64-bit NetBSD.
26152
26153 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26154 point when booting non-FreeBSD.
26155
f5ae9f74 261562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26157
26158 Support --no-smp and --no-acpi for NetBSD.
26159
26160 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26161 (NETBSD_AB_NOACPI): Likewise.
26162 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26163 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26164
de74f136 261652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26168 errors.
26169 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26170 errors. Call grub_error when needed.
26171
e9a925da 261722009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26173
26174 * commands/search.c (search_fs): Try searching without autoload first.
26175 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26176 filesystem module explicitly for faster booting.
26177
5174302b 261782009-08-23 Colin Watson <cjwatson@ubuntu.com>
26179
26180 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26181
c8c80635 261822009-08-23 Colin Watson <cjwatson@ubuntu.com>
26183
26184 * util/grub.d/30_os-prober.in: Disable os-prober if
26185 `GRUB_DISABLE_OS_PROBER' was set to true.
26186
71acf5e5 261872009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26188
26189 * partmap/pc.c: Rename to ...
26190 * partmap/msdos.c: ... this. Update all users.
26191 (grub_pc_partition_map): Rename to ...
26192 (grub_msdos_partition_map): ... this. Update all users.
26193
26194 * parttool/pcpart.c: Rename to ...
26195 * parttool/msdospart.c: ... this. Update all users.
26196
26197 * include/grub/pc_partition.h: Rename to ...
26198 * include/grub/msdos_partition.h: ... this. Update all users.
26199 (grub_pc_partition_bsd_entry): Rename to ...
26200 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26201 (grub_pc_partition_disk_label): Rename to ...
26202 (grub_msdos_partition_disk_label): ... this. Update all users.
26203 (grub_pc_partition_entry): Rename to ...
26204 (grub_msdos_partition_entry): ... this. Update all users.
26205 (grub_pc_partition_mbr): Rename to ...
26206 (grub_msdos_partition_mbr): ... this. Update all users.
26207 (grub_pc_partition): Rename to ...
26208 (grub_msdos_partition): ... this. Update all users.
26209 (grub_pc_partition_is_empty): Rename to ...
26210 (grub_msdos_partition_is_empty): ... this. Update all users.
26211 (grub_pc_partition_is_extended): Rename to ...
26212 (grub_msdos_partition_is_extended): ... this. Update all users.
26213 (grub_pc_partition_is_bsd): Rename to ...
26214 (grub_msdos_partition_is_bsd): ... this. Update all users.
26215
26216 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26217 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26218 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26219 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26220 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26221 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26222 (gpt_mod_LDFLAGS): Rename to ...
26223 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
26224 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
26225 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
26226 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
26227 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
26228 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
26229 (part_gpt_mod_LDFLAGS): ... this.
26230 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
26231 `pcpart.mod' to `msdospart.mod'.
26232 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
26233 to ...
26234 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
26235 (msdospart_mod_LDFLAGS): ... this.
26236
c11fded5 262372009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26238
26239 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
26240 (openbsd_opts): Likewise.
26241 (netbsd_opts): Likewise.
26242 (freebsd_flags): Added 0 terminator.
26243 (openbsd_flags): Likewise.
26244 (netbsd_flags): Likewise.
26245 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
26246 (grub_cmd_freebsd): Transformed into extended command.
26247 (grub_cmd_openbsd): Likewise.
26248 (grub_cmd_netbsd): Likewise.
26249 (cmd_freebsd): Changed type to grub_extcmd_t.
26250 (cmd_openbsd): Likewise.
26251 (cmd_netbsd): Likewise.
26252 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
26253 grub_cmd_openbsd as extended commands.
26254 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
26255 cmd_netbsd and cmd_openbsd
26256
11d1c769 262572009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26258
26259 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
26260
7a9094e5 262612009-08-21 Pavel Roskin <proski@gnu.org>
26262
5496c37e 26263 * Makefile.in (install-local): When checking if a file is in the
26264 build directory, use "test -e" to detect symlinks.
26265
7a9094e5 26266 * Makefile.in (install-local): Remove all files in
26267 $(DESTDIR)$(pkglibdir) before installing new files there.
26268
e53cea11 262692009-08-18 Felix Zielcke <fzielcke@z-51.de>
26270
26271 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
26272 grub-mkelfimage.
26273
9aced544 262742009-08-18 Felix Zielcke <fzielcke@z-51.de>
26275
26276 * util/grub-mkconfig.in: Don't use gfxterm by default if not
26277 explicitly specified by the user.
26278
b7da6bab 262792009-08-18 Pavel Roskin <proski@gnu.org>
26280
26281 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
26282 grub_uint8_t pointer for data.
26283 * include/grub/fbutil.h (struct grub_video_fbblit_info):
26284 Likewise.
26285 * video/fb/fbutil.c: Remove unnecessary casts.
26286
19f1b335 262872009-08-17 Michal Suchanek <hramrach@centrum.cz>
26288
26289 VBE cleanup.
26290
26291 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
26292 (grub_vbe_set_video_mode): Save active mode info
26293 only after setting the mode.
26294 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
26295 second argument.
26296
2f467aa9 262972009-08-17 Michal Suchanek <hramrach@centrum.cz>
26298
26299 Rename variables for clarity.
26300
26301 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
26302 (active_vbe_mode_info): ... this. All users updated.
26303 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
26304 All users updated.
26305 (initial_mode): Rename to ...
26306 (initial_vbe_mode): ... this. All users updated.
26307 (mode_in_use): Rename to ..
26308 (vbe_mode_in_use): ... this. All users updated.
26309 (mode_list): Rename to ..
26310 (vbe_mode_list): ... this. All users updated.
26311 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
26312 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
26313 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
26314 'mode_list_size' to 'vbe_mode_list_size'.
26315 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
26316 'best_mode_info' to 'best_vbe_mode_info' and
26317 'best_mode' to 'best_vbe_mode'
26318
6025fcd7 263192009-08-17 Michal Suchanek <hramrach@centrum.cz>
26320
26321 Remove duplicate grub_video_fb_get_video_ptr.
26322
26323 * include/grub/fbutil.h (get_data_ptr): Rename to ...
26324 (grub_video_fb_get_video_ptr): ... this.
26325 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
26326 * video/fb/fbutil.c: Add comment about addressing.
26327 (get_data_ptr): Rename to ...
26328 (grub_video_fb_get_video_ptr): ... this. All users updated.
26329 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
26330
cc8c6faf 263312009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26332
26333 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
26334 grub_dprintf() that was just added.
26335
08aa61f0 263362009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26337
26338 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
26339 (DEFAULT_VIDEO_MODE): Remove macros.
26340 (grub_linux_boot): Remove assumption that Linux has FB support,
26341 and use "text" as default video mode.
26342
7cef4f75 263432009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
26344
26345 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
26346 grub_dprintf.
26347 * fs/fat.c (grub_fat_read_data): Likewise.
26348
e1f39873 263492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26350
26351 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
26352 payload.
26353 (grub_module): Likewise.
26354
c166d79e 263552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26356
26357 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
26358 mbi->cmdline but free playground.
26359
c60cee8e 263602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26361
26362 Handle group offset on UFS1.
26363
26364 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
26365 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
26366
c0d8b5d4 263672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 Split ufs.mod into ufs1.mod and ufs2.mod.
26370
26371 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
26372 (grub_fstest_SOURCES): Likewise.
26373 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
26374 (ufs_mod_SOURCES): Remove.
26375 (ufs_mod_CFLAGS): Likewise.
26376 (ufs_mod_LDFLAGS): Likewise.
26377 (ufs1_mod_SOURCES): New variable.
26378 (ufs1_mod_CFLAGS): Likewise.
26379 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 26380 (ufs2_mod_SOURCES): New variable.
26381 (ufs2_mod_CFLAGS): Likewise.
26382 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 26383 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
26384 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26385 Likewise.
26386 (grub_emu_SOURCES): Likewise.
26387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26388 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26389 (grub_setup_SOURCES): Likewise.
26390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26391 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
26392 (grub_setup_SOURCES): Likewise.
26393 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26394 Likewise.
26395 * fs/ufs2.c: New file.
26396 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
26397
d3539132 263982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26399
26400 Framebuffer split.
26401
26402 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
26403 subsystem at the end.
26404 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
26405 (video_fb_mod_SOURCES): New variable.
26406 (video_fb_mod_CFLAGS): Likewise.
26407 (video_fb_mod_LDFLAGS): Likewise.
26408 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
26409 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
26410 * video/i386/pc/vbeblit.c: Moved from here ...
26411 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
26412 * video/i386/pc/vbefill.c: Moved from here ...
26413 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
26414 * video/i386/pc/vbeutil.c: Moved from here ...
26415 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
26416 * include/grub/i386/pc/vbeblit.h: Moved from here ...
26417 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
26418 * include/grub/i386/pc/vbefill.h: Moved from here ...
26419 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
26420 * include/grub/i386/pc/vbeutil.h: Moved from here ...
26421 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
26422 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
26423 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
26424 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
26425 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
26426 (grub_video_adapter): Added 'get_info_and_fini'.
26427 (grub_video_get_info_and_fini): New prototype.
26428 (grub_video_set_mode): make modestring const char *.
26429 * loader/i386/linux.c (grub_linux_setup_video): Use
26430 grub_video_get_info_and_fini.
26431 (grub_linux_boot): Move modesetting just before booting.
26432 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
26433 grub_video_get_info_and_fini.
26434 * video/i386/pc/vbe.c: Moved framebuffer part ...
26435 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
26436 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
26437 grub_video_fbstd_colors and grub_video_fb_set_palette.
26438 (grub_video_vbe_init): Clear 'framebuffer' variable and use
26439 grub_video_fb_init.
26440 (grub_video_vbe_fini): Use grub_video_fb_fini.
26441 (grub_video_vbe_setup): Use framebuffer.render_target instead of
26442 render_target and use grub_video_fb_set_active_render_target and
26443 grub_video_fb_set_palette.
26444 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
26445 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
26446 (grub_video_vbe_adapter): Use framebuffer.
26447 * video/video.c (grub_video_get_info_and_fini): New function.
26448 (grub_video_set_mode): Make modestring const char *.
26449 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
26450 values are already initialised.
26451
d404ee56 264522009-08-14 Pavel Roskin <proski@gnu.org>
26453
26454 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
26455 ABS and APPLE_CC.
26456 * boot/i386/pc/diskboot.S: Likewise.
26457 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
26458 sectors allow compilation on MacOSX.
26459 * conf/i386-pc.rmk: Enable unconditional compilation of
26460 lnxboot.img.
26461
9a10df16 264622009-08-13 Colin Watson <cjwatson@ubuntu.com>
26463
26464 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
26465 * util/grub.d/00_header.in: Enter interruptible sleep if
26466 GRUB_HIDDEN_TIMEOUT is set.
26467
be3c9ca7 264682009-08-13 Yves Blusseau <blusseau@zetam.org>
26469
26470 * include/grub/symbol.h: Add the LOCAL macro.
26471 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
26472 starting with "L_".
26473
1f9e557e 264742009-08-13 Pavel Roskin <proski@gnu.org>
26475
9ca62843 26476 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
26477 any modern compilers we support.
26478
1f9e557e 26479 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
26480 Use local labels starting with "L_" so that Apple assembler
26481 knows they are local.
26482
81623db6 264832009-08-10 Robert Millan <rmh.grub@aybabtu.com>
26484
26485 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
26486 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
26487 (bsd_kernel_types): ... this enum.
26488
26489 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
26490 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
26491 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
26492
26493 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
26494 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
26495 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
26496 messages.
26497
f5d35e7a 264982009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 * util/grub-dumpdevtree: Moved from here ...
26501 * util/i386/efi/grub-dumpdevtree: ... to here.
26502 (hexify): New function. Converts a string to its hex version.
26503 Generate hex versions of "efi" and "device-properties" by calling
26504 hexify() on the ASCII strings rather than by hardcoding numbers.
26505
d1e1d527 265062009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26507
26508 * fs/jfs.c: Update copyright year.
26509
1ebbe064 265102009-08-08 Felix Zielcke <fzielcke@z-51.de>
26511
26512 * util/grub.d/00_header.in: Fix a comment.
26513 * util/grub.d/10_linux.in: Likewise.
26514 * util/grub.d/10_windows.in: Likewise.
26515 * util/grub.d/10_hurd.in: Likewise.
26516
a78c8d24 265172009-08-08 Felix Zielcke <fzielcke@z-51.de>
26518
26519 * util/grub-mkconfig.in: Allow the user to specify the used font
26520 with GRUB_FONT.
26521
29a6b9e8 265222009-08-08 Pavel Roskin <proski@gnu.org>
26523
b5f16cc4 26524 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
26525 available, xfs.mod needs it now.
26526
2f5cb827 26527 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
26528 the "g" modifier in sed when the intention is to strip something
26529 once. This fixes comparison of kernels with multiple dashes.
26530
29a6b9e8 26531 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
26532 on it. Add missing space before closing bracket. Fix
26533 misleading formatting.
26534
892a3d98 265352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26536
26537 * docs/grub.texi: Major overhaul. Remove all sections that are
26538 specific to GRUB Legacy, or mostly composed of Legacy-specific
26539 information.
26540
ed94253f 265412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26542
26543 * docs/version.texi: New file. Provides version information for
26544 grub.texi.
26545
126d6628 265462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26547
26548 * docs/grub.texi: Update CVS information to SVN.
26549 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
26550
998b5aa9 265512009-08-07 Felix Zielcke <fzielcke@z-51.de>
26552
26553 * util/grub-mkconfig.in: Remove a wrong `fi'.
26554
818e094a 265552009-08-07 Felix Zielcke <fzielcke@z-51.de>
26556
26557 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
26558 (grub_jfs_uuid): New function.
26559 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
26560
b969c52f 265612009-08-07 Felix Zielcke <fzielcke@z-51.de>
26562
26563 * util/grub-mkconfig_lib.in (font_path): Move the functionality
26564 of it to ...
26565 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
26566 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
26567
7a4894cc 265682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26569
26570 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
26571 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
26572 Update all users.
26573
26574 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
26575 not just "vmlinu[zx]".
26576 Moved from here ...
26577 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
26578 all users.
26579
26580 * util/grub.d/10_linux.in (find_latest): Moved from here ...
26581 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
26582 all users.
26583
4e2171f8 265842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26585
26586 * util/grub.d/10_freebsd.in: Use an absolute device path for
26587 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
26588
6dcfcb32 265892009-08-06 Felix Zielcke <fzielcke@z-51.de>
26590
26591 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26592 handling of multiple abstraction modules.
26593
f56a8756 265942009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26595
26596 Fix a bug resulting in black screen when loading Linux using a
26597 packed video mode.
26598
26599 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26600 function.
26601
26602 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26603 (grub_vbe_bios_getset_dac_palette_width): New function.
26604 (grub_vbe_bios_get_dac_palette_width)
26605 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26606 grub_vbe_bios_getset_dac_palette_width()).
26607
26608 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26609 check for return status.
26610 (grub_vbe_get_video_mode_info): When getting information for a packed
26611 mode (<= 8 bpp), obtain DAC palette width using
26612 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26613 {red,green,blue}_mark_size.
26614
222671b2 266152009-08-04 Felix Zielcke <fzielcke@z-51.de>
26616
ecb1a6d9 26617 * commands/search.c (options): Fix help output to match actual code.
222671b2 26618
f84114f5 266192009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26620
26621 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26622 of homegrown code.
26623
bd288a20 266242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26625
26626 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26627 on XFS or ReiserFS.
26628
8aab5e25 266292009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26630
26631 Support Apple partition map with sector size different from 512 bytes.
26632
26633 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26634 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26635 and 'apart.partmap_size'.
26636
6ad6258a 266372009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
266382009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26639
26640 Fix cpuid command.
26641
26642 * commands/i386/cpuid.c (options): New variable.
26643 (grub_cmd_cpuid): Return real error.
26644 (GRUB_MOD_INIT(cpuid)): Declare options.
26645
67459bc6 266462009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26647
26648 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26649 valid.
26650
fbc6ab54 266512009-07-31 Bean <bean123ch@gmail.com>
26652
26653 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26654 log2_inode.
26655 (grub_fshelp_node): Move inode field to the end.
26656 (grub_xfs_data): Remove inode field.
26657 (grub_xfs_inode_block): Calculate inode size using sblock.
26658 (grub_xfs_inode_offset): Likewise.
26659 (grub_xfs_read_inode): Calculate inode size using sblock.
26660 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26661 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26662 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26663 to match inode size.
26664 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26665 not accessible when data is null.
26666 (grub_xfs_open): Likewise.
26667
f45d6cfc 266682009-07-31 Bean <bean123ch@gmail.com>
26669
26670 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26671 Don't change pv->disk if it's already set.
26672
26673 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26674 (grub_raid_register): ... here.
26675 (grub_raid_rescan): Removed.
26676
26677 * include/grub/raid.h (grub_raid_rescan): Removed.
26678
26679 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26680 (fstest): Replace grub_raid_rescan with module fini function followed
26681 by init function.
26682
26683 * util/grub-probe.c: Add include file <grub/raid.h>.
26684 (probe_raid_level): New function.
26685 (probe): Detect abstraction by walking the disk device, support two
26686 level of abstraction (LVM on RAID) when detecting partition map.
26687
24443b5a 266882009-07-31 Pavel Roskin <proski@gnu.org>
26689
26690 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26691 to grub_zalloc(), it was erroneous.
26692 Reported by Bean <bean123ch@gmail.com>
26693
a275d9e7 266942009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26695
26696 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26697 embedding zone, not only the first one.
a275d9e7 26698
56c5a47f 266992009-07-29 Joe Auricchio <jauricchio@gmail.com>
26700
26701 * term/gfxterm.c (clear_char): New function.
26702 (grub_virtual_screen_setup): Use clear_char.
26703 (scroll_up): Likewise.
26704 (grub_virtual_screen_cls): Likewise.
26705
67bb323a 267062009-07-29 Felix Zielcke <fzielcke@z-51.de>
26707
26708 * util/deviceiter.c (get_acceleraid_disk_name): New static
26709 function.
26710 (grub_util_iterate_devices): Handle Accelraid devices.
26711 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26712
388a7c75 267132009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26714
26715 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26716 separator for the suggested gfxpayload string (';' collides with the
26717 parser and needs escaping).
26718
3bb7abcf 267192009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26720
26721 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26722 Clear direction flag before jumping to OS.
26723 (grub_multiboot2_real_boot): Likewise.
26724
2ddd36d7 267252009-07-28 Felix Zielcke <fzielcke@z-51.de>
26726
26727 * util/i386/pc/grub-install: Fix parsing of --disk-module
26728 option.
26729
c521b62b 267302009-07-28 Felix Zielcke <fzielcke@z-51.de>
26731
26732 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26733 when embedding.
26734
880e0a0c 267352009-07-26 Felix Zielcke <fzielcke@z-51.de>
26736
26737 * util/grub-mkconfig.in (package_version): New variable.
26738 Use it do display the version.
26739
2366e356 267402009-07-25 Felix Zielcke <fzielcke@z-51.de>
26741
26742 * kern/file.c (grub_file_open): Revert to previous check with
26743 grub_errno.
26744
7ad8c80e 267452009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26746
26747 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26748 from help line. It's out of sync with code.
26749
72b9658b 267502009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26751
26752 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26753 entries on failed boot.
26754
77435277 267552009-07-25 Felix Zielcke <fzielcke@z-51.de>
26756
26757 * kern/file.c (grub_file_open): Fix an error check.
26758
fcaa8b21 267592009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26760
35d16c74 26761 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26762 partition map couldn't be identified.
fcaa8b21 26763
48904cd1 267642009-07-23 Pavel Roskin <proski@gnu.org>
26765
ef3c317f 26766 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26767 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26768 case of little endian words becomes just an optimization.
26769 Respect const modifier.
ad8ea1f4 26770 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26771
48904cd1 26772 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26773 to avoid loss of upper bits if align is unsigned and shorter
26774 than addr.
26775
260c9a89 267762009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26777
26778 UUID support for UFS
26779
26780 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26781 (grub_ufs_uuid): New function.
26782 (grub_ufs_fs): add .uuid
26783
f76ce889 267842009-07-21 Pavel Roskin <proski@gnu.org>
26785
26786 * kern/dl.c (grub_dl_check_header): Make static.
26787
6a6cbcaf 267882009-07-21 Felix Zielcke <fzielcke@z-51.de>
26789
26790 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26791 add drivemap for Vista. It breaks Windows 7.
26792
cffcddb2 267932009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26794
26795 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26796 128 bytes
26797
1ef44b80 267982009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26799
26800 Add BFS support
26801
26802 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26803 (grub_fstest_SOURCES): Likewise.
26804 (pkglib_MODULES): Add befs.mod.
26805 (befs_mod_SOURCES): New variable.
26806 (befs_mod_CFLAGS): Likewise.
26807 (befs_mod_LDFLAGS): Likewise.
26808 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26809 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26811 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26812 (grub_setup_SOURCES): Likewise.
26813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26814 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26815 (grub_setup_SOURCES): Likewise.
26816 * fs/befs.c: New file.
26817 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26818 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26819 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26820 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26821 (B_KEY_INDEX_ALIGN): New declaration.
26822 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26823 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26824 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26825 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26826 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26827 (grub_afs_mount) [MODE_BFS]: Likewise.
26828 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26829 (grub_afs_fs): Use GRUB_AFS_FSNAME
26830 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26831 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26832 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26833 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26834
4f253044 268352009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26836
26837 * util/getroot.c (find_root_device): Add support for MacOSX.
26838 * util/hostdisk.c: Likewise.
26839
57a55913 268402009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26841
26842 * font/font.c (find_glyph): Check whether a font is present to avoid
26843 segmentation fault.
75421ca9 26844
268452009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26846
26847 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26848
e98cd0c2 268492009-07-20 Pavel Roskin <proski@gnu.org>
26850
26851 * configure.ac: Trim excessively wordy excuses.
26852
1d2d169a 268532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 Add symlink, mtime and label support to AtheFS.
26856
26857 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26858 (grub_afs_iterate_dir): Handle symlinks.
26859 (grub_afs_open): Use grub_afs_read_symlink.
26860 (grub_afs_dir): Likewise.
26861 Pass mtime.
26862 (grub_afs_label): New function.
26863 (grub_afs_fs): Add grub_afs_label.
26864 (grub_afs_read_symlink): New function.
26865
186f3189 268662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26867
26868 Fix AtheFS support.
26869
26870 * fs/afs.c: Fix comments style.
26871 (grub_afs_blockrun): Declare as packed.
26872 (grub_afs_datastream): Likewise.
26873 (grub_afs_bnode): Likewise.
26874 (grub_afs_btree): Likewise.
26875 (grub_afs_sblock): Likewise.
26876 Declare `name' as char.
26877 (grub_afs_inode): Declare as packed.
26878 Change void *vnode to grub_uint32_t unused.
26879 (grub_afs_iterate_dir): Check that key_size is positive.
26880 (grub_afs_mount): Don't read superblock twice.
75421ca9 26881 (grub_afs_dir): Don't free node in case of error,
186f3189 26882 grub_fshelp_find_file already handles this.
26883 (grub_afs_open): Likewise.
26884
5680109e 268852009-07-19 Pavel Roskin <proski@gnu.org>
26886
26887 * Makefile.in: Remove LIBLZO and enable_lzo.
26888 * conf/i386-pc.rmk: Remove lzo support.
26889 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26890 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26891 support.
26892 * kern/i386/pc/lzo1x.S: Remove.
26893 * kern/i386/pc/startup.S: Remove lzo support.
26894 * util/i386/pc/grub-mkimage.c: Likewise.
26895
ac70fa32 268962009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26897
26898 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26899 * fs/xfs.c (grub_xfs_dir): Likewise.
26900 * fs/afs.c (grub_afs_dir): Likewise.
26901 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26902 (grub_iso9660_open): Likewise.
26903 * fs/jfs.c (grub_jfs_open): Likewise.
26904 * fs/ext2.c (grub_ext2_dir): Likewise.
26905 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26906 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26907
eab58da2 269082009-07-16 Pavel Roskin <proski@gnu.org>
26909
d2838156 26910 * configure.ac: Never add "-c" to CFLAGS.
26911
55c70904 26912 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26913
43e6200c 26914 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26915 grub_cv_cc_efiemu should be used.
26916
ce7a733d 26917 * configure.ac: Typo fixes.
26918
eab58da2 26919 * kern/mm.c (grub_zalloc): New function.
26920 (grub_debug_zalloc): Likewise.
26921 * include/grub/mm.h: Declare grub_zalloc() and
26922 grub_debug_zalloc().
26923 * util/misc.c (grub_zalloc): New function.
26924 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26925 instead of grub_malloc(), remove unneeded initializations.
26926 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26927 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26928 * commands/parttool.c (grub_cmd_parttool): Likewise.
26929 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26930 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26931 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26932 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26933 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26934 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26935 (grub_cmd_efiemu_pnvram): Likewise.
26936 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26937 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26938 (grub_iso9660_iterate_dir): Likewise.
26939 * fs/jfs.c (grub_jfs_opendir): Likewise.
26940 * fs/ntfs.c (list_file): Likewise.
26941 (grub_ntfs_mount): Likewise.
26942 * kern/disk.c (grub_disk_open): Likewise.
26943 * kern/dl.c (grub_dl_load_core): Likewise.
26944 * kern/elf.c (grub_elf_file): Likewise.
26945 * kern/env.c (grub_env_context_open): Likewise.
26946 (grub_env_set): Likewise.
26947 (grub_env_set_data_slot): Likewise.
26948 * kern/file.c (grub_file_open): Likewise.
26949 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26950 * loader/i386/multiboot.c (grub_module): Likewise.
26951 * loader/xnu.c (grub_xnu_create_key): Likewise.
26952 (grub_xnu_create_value): Likewise.
26953 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26954 (read_config_file): Likewise.
26955 * normal/menu_entry.c (make_screen): Likewise.
26956 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26957 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26958 * script/sh/script.c (grub_script_parse): Likewise.
26959 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26960 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26961 * video/readers/png.c (grub_png_output_byte): Likewise.
26962 (grub_video_reader_png): Likewise.
26963
830afef7 269642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26965
26966 Enable all targets that can be built by default
26967
830afef7 26968 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26969 grub-mkfont and grub-fstest if they can be built
26970
ee293aee 269712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26972
26973 Fix hang and segmentation fault in grub-emu-usb
26974
26975 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26976 * util/usb.c (grub_libusb_devices): likewise
26977 (grub_libusb_init): rename to ...
26978 (GRUB_MOD_INIT (libusb)):...this
26979 (grub_libusb_fini): rename to ..
26980 (GRUB_MOD_FINI (libusb)):...this
26981 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26982 * include/grub/disk.h (grub_raid_init): removed, it's useless
26983 (grub_raid_fini): likewise
26984 (grub_lvm_init): likewise
26985 (grub_lvm_fini): likewise
26986 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26987 by grub_init_all
26988
94414221 269892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26990
26991 Fix libusb
26992
26993 * Makefile.in (LIBUSB): new macro
26994 * genmk.rb (Utility/print_tail): new method
26995 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26996 (top level): call util.print_tail at the end.
26997
59ade63d 269982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26999
27000 Make FreeBSD accept zpool.cache
27001
27002 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27003 type is /boot/zfs/zpool.cache
27004
a58da8c7 270052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27006
27007 Fix 64-bit efiemu
27008
27009 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27010 correct wrong typedef
27011 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27012
20591577 270132009-07-15 Pavel Roskin <proski@gnu.org>
27014
560ca572 27015 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27016 * kern/disk.c (struct grub_disk_cache): Likewise.
27017
e8e8e4fd 27018 * commands/probe.c (options): Typo fix.
27019
fde24e10 27020 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27021 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27022 accordingly.
27023 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27024
379c54c1 27025 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27026 the end of "Error" to make the message more readable.
27027
7bd8f5bf 27028 * boot/i386/pc/boot.S (kernel_segment): Remove.
27029 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27030 for destination.
27031
40b132c5 27032 * boot/i386/pc/boot.S (boot_version): Remove.
27033 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27034 Remove.
27035
20591577 27036 * include/grub/i386/pc/boot.h: Sort all offsets.
27037 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27038 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27039 * boot/i386/pc/boot.S: Assert location of every offset listed in
27040 include/grub/i386/pc/boot.h.
27041
2df32b2c 270422009-07-13 Pavel Roskin <proski@gnu.org>
27043
44b5d879 27044 * include/grub/i386/coreboot/machine.h: Rename
27045 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27046 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27047 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27048
17dc3751 27049 * kern/dl.c: Force native word size to suppress warnings when
27050 compiling grub-emu.
27051
2df32b2c 27052 * kern/device.c (grub_device_iterate): Change struct part_ent to
27053 hold the name, not a pointer to it. Use one grub_malloc() per
27054 partition, not two. Free partition_name if grub_malloc() fails.
27055 Set ents to NULL only before grub_partition_iterate() is called.
27056
75c59f59 270572009-07-11 Bean <bean123ch@gmail.com>
27058
27059 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27060 childname.
27061
0ae1bf88 270622009-07-10 Bean <bean123ch@gmail.com>
270632009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27064
27065 * kern/ieee1275/openfw.c (grub_children_iterate)
27066 (grub_devalias_iterate): Fix size evaluation for property or path
27067 strings, which was broken since r2132.
27068
8279cade 270692009-07-07 Pavel Roskin <proski@gnu.org>
27070
7d8a52d3 27071 * commands/search.c (search_file): Merge into ...
27072 (search_fs): ... this. Accept search type as argument.
27073 (grub_cmd_search): Pass search type to search_fs().
27074
25f9a05a 27075 * include/grub/util/console.h: New file.
27076 * util/console.c: Use it instead of grub/machine/console.h.
27077 * util/grub-emu.c: Likewise.
27078
8279cade 27079 * lib/arg.c (find_long_option): Remove.
27080 (find_long): Add `len' argument, make `s' const char *.
27081 (grub_arg_parse): Parse long options in place, not in a
27082 temporary buffer.
27083
4a11b60f 270842009-07-06 Pavel Roskin <proski@gnu.org>
27085
99f68041 27086 * commands/search.c (search_fs): Fix potential NULL pointer
27087 dereference.
27088
4a11b60f 27089 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27090 function pointer.
27091
e110f4de 270922009-07-06 Daniel Mierswa <impulze@impulze.org>
27093
27094 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27095 comparison.
27096
46eeb6a2 270972009-07-05 Pavel Roskin <proski@gnu.org>
27098
bab74958 27099 * include/grub/i386/linux.h (struct linux_kernel_params):
27100 Restore padding3, it's still needed.
27101
46eeb6a2 27102 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27103 FreeBSD.
27104 * util/osdetect.lua: Likewise.
27105
b4a1dc79 271062009-07-05 Bean <bean123ch@gmail.com>
27107
27108 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27109
27110 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27111 (grub_lua_getenv): Likewise.
27112 (grub_lua_setenv): Likewise.
27113 (save_errno): New function.
27114 (push_result): Likewise.
27115 (grub_lua_enum_device): Likewise.
27116 (grub_lua_enum_file): Likewise.
27117 (grub_lua_file_open): Likewise.
27118 (grub_lua_file_close): Likewise.
27119 (grub_lua_file_seek): Likewise.
27120 (grub_lua_file_read): Likewise.
27121 (grub_lua_file_getline): Likewise.
27122 (grub_lua_file_getsize): Likewise.
27123 (grub_lua_file_getpos): Likewise.
27124 (grub_lua_file_eof): Likewise.
27125 (grub_lua_file_exist): Likewise.
27126 (grub_lua_add_menu): Likewise.
27127
27128 * script/lua/grub_lua.h (isupper): New inline function.
27129 (islower): Likewise.
27130 (ispunct): Likewise.
27131 (isxdigit): Likewise.
27132 (strcspn): Change to normal function.
27133 (strpbkr): New function declaration.
27134 (memchr): Likewise.
27135
27136 * script/lua/grub_main.c (scan_str): New function.
27137 (strcspn): Likewise.
27138 (strpbrk): Likewise.
27139 (memchr): Likewise.
27140
27141 * script/lua/linit.c (lualibs): Enable the string library.
27142
27143 * util/osdetect.lua: New file.
27144
2da92295 271452009-07-04 Robert Millan <rmh.grub@aybabtu.com>
27146
27147 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27148 `capabilities' member.
27149
b2582ec9 271502009-07-02 Pavel Roskin <proski@gnu.org>
27151
27152 * genparttoollist.sh: Add missing newline at the end.
27153
32622956 271542009-07-01 Pavel Roskin <proski@gnu.org>
27155
87a7339e 27156 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27157
d23af54e 27158 * util/hostdisk.c (open_device): Remove `const' from
27159 `sysctl_size', as sysctlbyname() can change it (in this case it
27160 doesn't actually happen).
27161
c94b18a9 27162 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27163 using signed long int constants.
27164
c6cd3ef0 27165 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27166 constant to avoid a warning on FreeBSD.
27167
0df63420 27168 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27169 where it's needed.
27170
999577f1 27171 * Makefile.in: Install include/grub/machine symlink.
27172
6f41557f 27173 * Makefile.in: When installing symlinks, use "cp -fR", which
27174 works on FreeBSD and MacOSX.
27175 From Yves Blusseau <cl7m42e02@sneakemail.com>
27176
c8d22988 27177 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27178 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27179
1b96e952 27180 * util/misc.c: Move grub_reboot() and grub_halt() ...
27181 * util/grub-emu.c: ... here. Make main_env static.
27182 * include/grub/util/misc.h: Remove main_env.
27183
2ef0084d 27184 * kern/mm.c: Use correct format to print size_t.
27185
32622956 27186 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27187 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27188 * kern/powerpc/dl.c: Likewise.
27189 * kern/sparc64/dl.c: Likewise.
27190 * kern/x86_64/dl.c: Likewise.
27191
3f7f0cd0 271922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27193
27194 Fix grub-emu build on sparc64-ieee1275.
27195
75421ca9 27196 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 27197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27198
211d06b5 271992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27200
27201 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27202 (grub_reboot, grub_halt): New functions.
27203
27204 * util/i386/pc/misc.c: Delete. Update all users.
27205 * util/sparc64/ieee1275/misc.c: Likewise.
27206 * util/powerpc/ieee1275/misc.c: Likewise.
27207
aaf53e3c 272082009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27209
27210 * conf/i386.rmk (setjmp_mod_SOURCES)
27211 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27212 * conf/common.rmk (setjmp_mod_SOURCES)
27213 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27214 to use $(target_cpu).
27215 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27216 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27217 * conf/powerpc-ieee1275.rmk: Likewise.
27218 * conf/sparc64-ieee1275.rmk: Likewise.
27219
27220 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27221 $(target_cpu) for kern/$(target_cpu)/dl.c.
27222 * conf/i386-efi.rmk: Likewise.
27223 * conf/i386-ieee1275.rmk: Likewise.
27224 * conf/x86_64-efi.rmk: Likewise.
27225 * conf/i386-coreboot.rmk: Likewise.
27226 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
27227 $(target_cpu) for kern/$(target_cpu)/dl.c and for
27228 kern/$(target_cpu)/cache.S.
27229 * conf/sparc64-ieee1275.rmk: Likewise.
27230
a337130b 272312009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27232
27233 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
27234 type to `grub_uint8_t', and adjust `padding9' accordingly.
27235
c6fe4d53 272362009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27237
b09db61d 27238 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
27239
c6fe4d53 27240 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
27241 assembly in final jump, using register constraints.
27242
b09db61d 27243 (grub_linux_boot): For text mode, initialize `have_vga' using
27244 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
27245
27246 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
27247 right before the final jump.
27248
27249 Set `video_mode' to 0x3.
27250
27251 Document initialization of `video_page', `video_mode' and
27252 `video_ega_bx'.
27253
28333ad0 272542009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27255
27256 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
27257 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 27258 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 27259
02164e1b 272602009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27261
27262 Fix build on Debian / sparc.
27263
27264 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
27265
18b6c557 272662009-06-28 Pavel Roskin <proski@gnu.org>
27267
85f2aab6 27268 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
27269 fix a warning.
27270
18b6c557 27271 * util/grub.d/10_linux.in: Match SUSE style initrd names.
27272
ad760f81 272732009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27274
27275 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
27276 `err'.
27277
87a4623b 272782009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27279
27280 Revert r2338.
27281
27282 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
27283 file can't be opened. grub_file_open() is already supposed to set
75421ca9 27284 grub_errno / grub_errmsg appropriately.
87a4623b 27285 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27286
8231fb77 272872009-06-27 Pavel Roskin <proski@gnu.org>
272882009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27289
27290 * include/grub/dl.h: Include grub/elf.h.
27291 (struct grub_dl): Add symtab field.
27292 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
27293 GRUB_MODULES_MACHINE_READONLY.
27294 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
27295 of the header for read-only modules.
27296 (grub_dl_unload): Free mod->symtab for read-only modules.
27297 * kern/i386/dl.c: Use mod->symtab.
27298 * kern/powerpc/dl.c: Likewise.
27299 * kern/sparc64/dl.c: Likewise.
27300 * kern/x86_64/dl.c: Likewise.
27301
27302 * conf/i386-qemu.rmk: New file.
27303 * kern/i386/qemu/startup.S: Likewise.
27304 * kern/i386/qemu/mmap.c: Likewise.
27305 * boot/i386/qemu/boot.S: Likewise.
27306 * include/grub/i386/qemu/time.h: Likewise.
27307 * include/grub/i386/qemu/serial.h: Likewise.
27308 * include/grub/i386/qemu/kernel.h: Likewise.
27309 * include/grub/i386/qemu/console.h: Likewise.
27310 * include/grub/i386/qemu/boot.h: Likewise.
27311 * include/grub/i386/qemu/init.h: Likewise.
27312 * include/grub/i386/qemu/machine.h: Likewise.
27313 * include/grub/i386/qemu/loader.h: Likewise.
27314 * include/grub/i386/qemu/memory.h: Likewise.
27315
27316 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
27317 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
27318 [qemu] (pkglib_IMAGES): Add `boot.img'.
27319 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
27320 [qemu] (boot_img_FORMAT): New variables.
27321 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
27322 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
27323 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
27324 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27325 [qemu] (kernel_img_FORMAT): New variables.
27326
27327 * configure.ac: Recognise `i386-qemu'.
27328
27329 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
27330 (for no compression).
27331 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
27332 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
27333 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
27334 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
27335 ifdefs).
27336
97fe384e 273372009-06-27 Pavel Roskin <proski@gnu.org>
27338
27339 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
27340 read.
27341 * efiemu/prepare32.c: Likewise.
27342 * efiemu/prepare64.c: Likewise.
27343
c402ab17 273442009-06-26 Pavel Roskin <proski@gnu.org>
27345
27346 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
27347 * include/grub/elf.h: Define symbols without "32" or "64" based
27348 on GRUB_TARGET_WORDSIZE.
27349 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
27350 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
27351 ELF definitions.
27352 * efiemu/loadcore64.c: Likewise.
27353 * loader/i386/bsd32.c: Likewise.
27354 * loader/i386/bsd64.c: Likewise.
27355 * kern/dl.c: Remove own ELF definitions.
27356 * util/i386/efi/grub-mkimage.c: Likewise.
27357
9bbdfd4d 273582009-06-23 Robert Millan <rmh.grub@aybabtu.com>
27359
27360 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
27361 segment 0x0 unconditionally, because the reference generated by
27362 GAS is an absolute address.
27363
a42ce6e9 273642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27365
27366 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
27367 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
27368
c952cf92 273692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27370
27371 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
27372 indexes. Check for -f explicitly.
cc3752ad 27373 (search_file): Improve error message.
27374 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 27375
132a0a59 273762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27377
27378 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
27379 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
27380
387a140c 273812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27382
27383 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
27384 * conf/i386-ieee1275.rmk: Likewise.
27385 * conf/i386-coreboot.rmk: Likewise.
27386
27387 * kern/i386/pc/startup.S (grub_stop): Remove function.
27388 * kern/i386/ieee1275/startup.S: Likewise.
27389 * kern/i386/coreboot/startup.S: Likewise.
27390 * kern/i386/misc.S (grub_stop): New function.
27391
41da9665 273922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27393
27394 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
27395 * kern/i386/realmode.S (real_to_prot): ... to here.
27396
bf337234 273972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27398
27399 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
27400 with `kernel.img'.
27401 (kernel_elf_SOURCES): Rename to ...
27402 (kernel_img_SOURCES): ... this.
27403 (kernel_elf_HEADERS): Rename to ...
27404 (kernel_img_HEADERS): ... this. Update all users.
27405 (kernel_elf_ASFLAGS): Rename to ...
27406 (kernel_img_ASFLAGS): ... this.
27407 (kernel_elf_CFLAGS): Rename to ...
27408 (kernel_img_CFLAGS): ... this.
27409 (kernel_elf_LDFLAGS): Rename to ...
27410 (kernel_img_LDFLAGS): ... this.
27411 * conf/i386-coreboot.rmk: Likewise.
27412 * conf/powerpc-ieee1275.rmk: Likewise.
27413
27414 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
27415 with "kernel.img".
27416
f52196ff 274172009-06-21 Pavel Roskin <proski@gnu.org>
27418
c3cee413 27419 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
27420 to match nested functions.
27421 * loader/sparc64/ieee1275/linux.c: Likewise.
27422
f52196ff 27423 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
27424
58750afc 274252009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27426
27427 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
27428 all i386 platforms.
27429
15355c7d 274302009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27431
27432 Fix asm file handling on ELF, and remove workarounds.
27433
27434 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 27435 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 27436 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
27437 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
27438
3f3ec72b 274392009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
27440
27441 Load BSD ELF modules
27442
27443 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
27444 and loader/i386/bsd64.c
27445 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
27446 (FREEBSD_MODTYPE_ELF_MODULE): New definition
27447 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
27448 (grub_freebsd_load_elfmodule32): New declaration
27449 (grub_freebsd_load_elfmoduleobj64): Likewise
27450 (grub_freebsd_load_elf_meta32): Likewise
27451 (grub_freebsd_load_elf_meta64): Likewise
27452 (grub_freebsd_add_meta): Likewise
27453 (grub_freebsd_add_meta_module): Likewise
27454 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
27455 (grub_freebsd_add_meta_module): Likewise and move module-specific
27456 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
27457 (grub_cmd_freebsd): Add elf-kernel specific parts
27458 based on grub_freebsd_add_meta_module
27459 (grub_cmd_freebsd_module): Add type parsing moved from
27460 grub_freebsd_add_meta_module
27461 (grub_cmd_freebsd_module_elf): New function
27462 (cmd_freebsd_module_elf): New variable
27463 (GRUB_MOD_INIT): Register freebsd_module_elf
27464 * loader/i386/bsd32.c: New file
27465 * loader/i386/bsd64.c: Likewise
27466 * loader/i386/bsdXX.c: Likewise
27467 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
27468 (grub_elf64_load): Likewise
27469 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
27470 All users updated
27471 (grub_elf64_load_hook_t): Likewise
27472
0db15301 274732009-06-21 Colin Watson <cjwatson@ubuntu.com>
27474
27475 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
27476 variable.
27477 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
27478 don't write a menu entry for recovery mode.
27479
546796c1 274802009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27481
27482 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
27483 after it's no longer needed.
27484
cd7310d5 274852009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27486
27487 * include/grub/i386/loader.h (grub_linux_prot_size)
27488 (grub_linux_tmp_addr, grub_linux_real_addr)
27489 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
27490 GRUB_MACHINE_PCBIOS.
27491 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
27492 common grub_util_info() call to ...
27493 (generate_image): ... here.
27494 Fix use of uninitialized memory, comparison of signed with
27495 unsigned integers and memory leak.
27496 Remove bogus module address message.
27497
ab32d3b5 274982009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27499
27500 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
27501 grub_raid_register
27502 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
27503
024ef597 275042009-06-19 Pavel Roskin <proski@gnu.org>
27505
27506 * configure.ac: Remove stray AC_MSG_CHECKING.
27507
3ac72b51 275082009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
27509
27510 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 27511
e14cd814 275122009-06-18 Pavel Roskin <proski@gnu.org>
27513
27514 * conf/common.rmk: Add fs_file.mod.
27515 * disk/fs_file.c: New file.
27516 * include/grub/disk.h (enum grub_disk_dev_id): Add
27517 GRUB_DISK_DEVICE_FILE_ID.
27518
26586d98 275192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27520
27521 Fix build with Apple's toolchain. Part 2
27522
27523 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
27524 a fake start
27525
26de2bcd 275262009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 Fix build with Apple's toolchain. Part 1
27529
27530 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
27531 for long calls
27532 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 27533 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 27534 Apple's toolchain
27535
09b3490b 275362009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27537
27538 Fix warnings
27539
27540 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
27541 (decomp_block): initialize ch
27542 use grub_memcpy instead of memcpy
27543
c22a006a 275442009-06-17 Pavel Roskin <proski@gnu.org>
27545
d3638678 27546 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
27547 version, use declarations needed to use vga_text as the startup
27548 console.
27549
c22a006a 27550 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
27551 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
27552 the kernel.
27553 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
27554 and grub_at_keyboard_fini(), it's done on module load and
27555 unload.
27556
05b129e0 275572009-06-17 Felix Zielcke <fzielcke@z-51.de>
27558
27559 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
27560 file can't be found.
27561 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27562
cf24ed9e 275632009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27564
27565 Fix newline handling
27566
27567 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 27568 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 27569 (grub_script_yylex): don't segfault on unterminated script
27570 newline terminates command and variable
27571
74aa8e4b 275722009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27573
27574 avoid double grub_adjust_range call. Bug reported by David Simner
27575
27576 * kern/disk.c (grub_disk_write): change to raw disk access before
27577 calling disk_read
27578
1bd265f3 275792009-06-17 Colin Watson <cjwatson@ubuntu.com>
27580
27581 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
27582 spaces, for the benefit of help2man.
27583 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27584
a2d08c06 275852009-06-16 Pavel Roskin <proski@gnu.org>
27586
27587 * kern/i386/halt.c: Include grub/machine/init.h.
27588 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
27589
b97bcb19 275902009-06-16 Felix Zielcke <fzielcke@z-51.de>
27591
27592 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27593 drivemap menuentry.
27594
0644f96c 275952009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27596
27597 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27598 `echo' command.
27599
3ef17a2e 276002009-06-16 Pavel Roskin <proski@gnu.org>
27601
27602 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27603 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27604 save %dx, we only need %dl and we never change it.
27605 * boot/i386/pc/cdboot.S: Don't set the root drive.
27606 * boot/i386/pc/pxeboot.S: Likewise.
27607 * include/grub/i386/pc/boot.h: Remove
27608 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27609 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27610 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27611 * kern/i386/pc/init.c (make_install_device): Remove references
27612 to grub_root_drive.
27613 * kern/i386/pc/startup.S: Likewise.
27614 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27615
693fe637 276162009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27617
27618 xnu_uuid command
27619
27620 * commands/xnu_uuid.c: new file
27621 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27622 (xnu_uuid_mod_SOURCES): new variable
27623 (xnu_uuid_mod_CFLAGS): likewise
27624 (xnu_uuid_mod_LDFLAGS): likewise
27625 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27626 * conf/i386-ieee1275.rmk: likewise
27627 * conf/i386-pc.rmk: likewise
27628 * conf/powerpc-ieee1275.rmk: likewise
27629 * conf/sparc64-ieee1275.rmk: likewise
27630 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27631
c9da87d0 276322009-06-16 Pavel Roskin <proski@gnu.org>
27633
27634 * configure.ac: Avoid '==' in test command, it's not portable.
27635
9c6f4596 276362009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27637
27638 Probe command
27639
27640 * commands/probe.c: new file
27641 * conf/common.rmk (pkglib_MODULES): add probe.mod
27642 (probe_mod_SOURCES): new variable
27643 (probe_mod_CFLAGS): likewise
27644 (probe_mod_LDFLAGS): likewise
27645 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27646 * conf/i386-ieee1275.rmk: likewise
27647 * conf/i386-pc.rmk: likewise
27648 * conf/powerpc-ieee1275.rmk: likewise
27649 * conf/sparc64-ieee1275.rmk: likewise
27650
70b7f9fd 276512009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27652
27653 Fix handling of string like \"hello\" and "a
27654 b"
27655
27656 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27657 (grub_script_yylex): fix parsing of quoting, escaping and newline
27658
71c79a6b 276592009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27660
dd74360c 27661 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27662 handling
dd74360c 27663
0644f96c 276642009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27665
27666 * util/grub-mkconfig.in: Fix parsing of --output option.
27667
e40893c3 276682009-06-12 Pavel Roskin <proski@gnu.org>
27669
27670 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27671 genmk.rb don't need to be generated or installed.
27672
3a1acfe2 276732009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27674
27675 * commands/i386/pc/drivemap_int13h.S: add more comments
27676
3a4575d4 276772009-06-11 Pavel Roskin <proski@gnu.org>
27678
0658e928 27679 * Makefile.in (uninstall): Uninstall manuals.
27680
ca0388f0 27681 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27682 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27683 and update-grub_lib in two places.
27684 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27685
e3b27c39 27686 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27687 a compiler warning.
27688
3a4575d4 27689 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27690 `entry_lo' to fix variable shadowing.
27691
af1f4f55 276922009-06-11 Christian Franke <franke@computer.org>
27693
27694 * kern/misc.c (__enable_execute_stack): Add missing return type
27695 to prevent gcc warning.
27696
5225e649 276972009-06-11 Felix Zielcke <fzielcke@z-51.de>
27698
27699 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27700
7d83bd47 277012009-06-11 Pavel Roskin <proski@gnu.org>
27702
c1cb63ba 27703 * Makefile.in: Don't rely on any scripts being executable.
27704 Always use $(SHELL) to run shell scripts.
27705
7d83bd47 27706 * configure.ac: Always define ___main if using -nostdlib. This
27707 fixes tests on Cygwin.
27708
948f48e7 277092009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27710
27711 UDF fix
27712
7d83bd47 27713 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27714 is in bytes and not in blocks
7d83bd47 27715
8ada9bc1 277162009-06-11 Pavel Roskin <proski@gnu.org>
27717
27718 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27719 warning.
27720
25ad2323 277212009-06-11 Felix Zielcke <fzielcke@z-51.de>
27722
27723 * util/grub.d/30_os-prober.in: Fix a comment. Source
27724 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27725 to set the root device. Place drivemap command in the generated
27726 chain entry.
27727
e65acb0c 277282009-06-11 Pavel Roskin <proski@gnu.org>
27729
27730 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27731 have long been resolved.
27732
f285fe2d 277332009-06-11 Colin Watson <cjwatson@ubuntu.com>
27734
bd47b0b5 27735 * util/grub.d/10_linux.in: Capitalise "Linux".
27736
f285fe2d 27737 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27738
a0c62e4e 277392009-06-11 Pavel Roskin <proski@gnu.org>
27740
b6783cb2 27741 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27742 fix a gcc warning and ensure that the function won't ever exit.
27743
dde032e8 27744 * kern/i386/ieee1275/init.c: Add missing prototype for
27745 grub_stop_floppy().
27746
22cd079d 27747 * loader/ieee1275/multiboot2.c [__i386__]: Include
27748 grub/cpu/multiboot.h.
27749
a0c62e4e 27750 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27751 casts to short - they are not portable and cause warnings. Fix
27752 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27753
63963d17 277542009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27755
27756 Drivemap fixes
27757
27758 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27759 new function
27760 (grub_get_root_biosnumber_saved): new variable
27761 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27762 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27763 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27764 %dx after the call if necessary
27765 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27766 (boot_mod_SOURCES): remove
27767 (boot_mod_CFLAGS): remove
27768 (boot_mod_LDFLAGS): remove
27769 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27770 (boot_mod_SOURCES): new variable
27771 (boot_mod_CFLAGS): likewise
27772 (boot_mod_LDFLAGS): likewise
27773 * conf/i386-efi.rmk: likewise
27774 * conf/i386-ieee1275.rmk: likewise
27775 * conf/i386-pc.rmk: likewise
27776 * conf/powerpc-ieee1275.rmk: likewise
27777 * conf/sparc64-ieee1275.rmk: likewise
27778 * conf/x86_64-efi.rmk: likewise
27779 * include/grub/i386/pc/biosnum.h: new file
27780 * lib/i386/pc/biosnum.c: likewise
27781 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27782 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27783 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27784
33abf7ae 277852009-06-10 Pavel Roskin <proski@gnu.org>
27786
5ac35b35 27787 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27788 Use separate variables. Read only the file size at the end, but
27789 not the checksum that we don't use.
27790
5c5215d5 27791 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27792 Adjust all callers.
27793
27d5fef7 27794 * kern/ieee1275/openfw.c: Remove libc includes.
27795 * kern/ieee1275/cmain.c: Likewise.
27796 * include/grub/ieee1275/ieee1275.h: Likewise.
27797
33abf7ae 27798 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27799 compiler warnings.
27800
19d50c2b 278012009-06-10 Felix Zielcke <fzielcke@z-51.de>
27802
27803 * Makefile.in: Remove all trailing whitespace.
27804 * conf/i386-pc.rmk: Likewise.
27805 * conf/powerpc-ieee1275.rmk: Likewise.
27806 * conf/sparc64-ieee1275.rmk: Likewise.
27807 * docs/grub.texi: Likewise.
27808 * docs/texinfo.tex: Likewise.
27809 * disk/fs_uuid.c: Likewise.
27810 * disk/lvm.c: Likewise.
27811 * disk/scsi.c: Likewise.
27812 * disk/ata.c: Likewise.
27813 * disk/ieee1275/ofdisk.c: Likewise.
27814 * disk/i386/pc/biosdisk.c: Likewise.
27815 * disk/host.c: Likewise.
27816 * disk/raid.c: Likewise.
27817 * disk/efi/efidisk.c: Likewise.
27818 * disk/usbms.c: Likewise.
27819 * disk/memdisk.c: Likewise.
27820 * disk/loopback.c: Likewise.
27821 * kern/powerpc/dl.c: Likewise.
27822 * kern/device.c: Likewise.
27823 * kern/dl.c: Likewise.
27824 * kern/sparc64/dl.c: Likewise.
27825 * kern/ieee1275/ieee1275.c: Likewise.
27826 * kern/term.c: Likewise.
27827 * kern/fs.c: Likewise.
27828 * kern/i386/dl.c: Likewise.
27829 * kern/i386/pc/startup.S: Likewise.
27830 * kern/i386/pc/init.c: Likewise.
27831 * kern/i386/pc/mmap.c: Likewise.
27832 * kern/i386/pc/lzo1x.S: Likewise.
27833 * kern/i386/ieee1275/init.c: Likewise.
27834 * kern/i386/realmode.S: Likewise.
27835 * kern/i386/tsc.c: Likewise.
27836 * kern/partition.c: Likewise.
27837 * kern/corecmd.c: Likewise.
27838 * kern/file.c: Likewise.
27839 * kern/efi/efi.c: Likewise.
27840 * kern/efi/init.c: Likewise.
27841 * kern/efi/mm.c: Likewise.
27842 * kern/main.c: Likewise.
27843 * kern/err.c: Likewise.
27844 * kern/env.c: Likewise.
27845 * kern/disk.c: Likewise.
27846 * kern/generic/millisleep.c: Likewise.
27847 * kern/generic/rtc_get_time_ms.c: Likewise.
27848 * kern/misc.c: Likewise.
27849 * kern/parser.c: Likewise.
27850 * genmk.rb: Likewise.
27851 * configure.ac: Likewise.
27852 * boot/i386/pc/diskboot.S: Likewise.
27853 * boot/i386/pc/pxeboot.S: Likewise.
27854 * boot/i386/pc/boot.S: Likewise.
27855 * boot/i386/pc/lnxboot.S: Likewise.
27856 * boot/i386/pc/cdboot.S: Likewise.
27857 * parttool/pcpart.c: Likewise.
27858 * video/readers/tga.c: Likewise.
27859 * video/video.c: Likewise.
27860 * video/bitmap.c: Likewise.
27861 * lib/envblk.c: Likewise.
27862 * lib/i386/setjmp.S: Likewise.
27863 * fs/xfs.c: Likewise.
27864 * fs/afs.c: Likewise.
27865 * fs/fat.c: Likewise.
27866 * fs/ntfs.c: Likewise.
27867 * fs/udf.c: Likewise.
27868 * fs/affs.c: Likewise.
27869 * fs/iso9660.c: Likewise.
27870 * fs/hfs.c: Likewise.
27871 * fs/fshelp.c: Likewise.
27872 * fs/ext2.c: Likewise.
27873 * fs/jfs.c: Likewise.
27874 * fs/reiserfs.c: Likewise.
27875 * fs/hfsplus.c: Likewise.
27876 * fs/minix.c: Likewise.
27877 * fs/cpio.c: Likewise.
27878 * fs/sfs.c: Likewise.
27879 * fs/ufs.c: Likewise.
27880 * efiemu/prepare.c: Likewise.
27881 * efiemu/loadcore_common.c: Likewise.
27882 * efiemu/runtime/efiemu.sh: Likewise.
27883 * efiemu/runtime/efiemu.S: Likewise.
27884 * efiemu/runtime/efiemu.c: Likewise.
27885 * efiemu/pnvram.c: Likewise.
27886 * efiemu/main.c: Likewise.
27887 * efiemu/i386/pc/cfgtables.c: Likewise.
27888 * efiemu/i386/loadcore64.c: Likewise.
27889 * efiemu/i386/loadcore32.c: Likewise.
27890 * efiemu/loadcore.c: Likewise.
27891 * efiemu/symbols.c: Likewise.
27892 * efiemu/mm.c: Likewise.
27893 * include/grub/autoefi.h: Likewise.
27894 * include/grub/datetime.h: Likewise.
27895 * include/grub/term.h: Likewise.
27896 * include/grub/hfs.h: Likewise.
27897 * include/grub/lvm.h: Likewise.
27898 * include/grub/i386/tsc.h: Likewise.
27899 * include/grub/i386/linux.h: Likewise.
27900 * include/grub/i386/xnu.h: Likewise.
27901 * include/grub/i386/efiemu.h: Likewise.
27902 * include/grub/i386/pc/biosdisk.h: Likewise.
27903 * include/grub/i386/pc/memory.h: Likewise.
27904 * include/grub/i386/pc/vbe.h: Likewise.
27905 * include/grub/parttool.h: Likewise.
27906 * include/grub/video.h: Likewise.
27907 * include/grub/memory.h: Likewise.
27908 * include/grub/fs.h: Likewise.
27909 * include/grub/partition.h: Likewise.
27910 * include/grub/xnu.h: Likewise.
27911 * include/grub/efi/api.h: Likewise.
27912 * include/grub/efi/pe32.h: Likewise.
27913 * include/grub/efi/memory.h: Likewise.
27914 * include/grub/multiboot.h: Likewise.
27915 * include/grub/usbdesc.h: Likewise.
27916 * include/grub/multiboot2.h: Likewise.
27917 * include/grub/acpi.h: Likewise.
27918 * include/grub/efiemu/efiemu.h: Likewise.
27919 * include/grub/disk.h: Likewise.
27920 * include/grub/ieee1275/ieee1275.h: Likewise.
27921 * include/grub/net.h: Likewise.
27922 * include/grub/machoload.h: Likewise.
27923 * include/grub/macho.h: Likewise.
27924 * include/multiboot.h: Likewise.
27925 * genmoddep.awk: Likewise.
27926 * normal/main.c: Likewise.
27927 * normal/menu_entry.c: Likewise.
27928 * normal/menu_viewer.c: Likewise.
27929 * normal/completion.c: Likewise.
27930 * normal/cmdline.c: Likewise.
27931 * normal/misc.c: Likewise.
27932 * normal/datetime.c: Likewise.
27933 * bus/usb/usbtrans.c: Likewise.
27934 * bus/usb/ohci.c: Likewise.
27935 * bus/usb/uhci.c: Likewise.
27936 * bus/usb/usb.c: Likewise.
27937 * mmap/efi/mmap.c: Likewise.
27938 * mmap/i386/pc/mmap_helper.S: Likewise.
27939 * mmap/i386/pc/mmap.c: Likewise.
27940 * mmap/i386/mmap.c: Likewise.
27941 * mmap/i386/uppermem.c: Likewise.
27942 * mmap/mmap.c: Likewise.
27943 * commands/acpi.c: Likewise.
27944 * commands/echo.c: Likewise.
27945 * commands/blocklist.c: Likewise.
27946 * commands/loadenv.c: Likewise.
27947 * commands/usbtest.c: Likewise.
27948 * commands/boot.c: Likewise.
27949 * commands/parttool.c: Likewise.
27950 * commands/search.c: Likewise.
27951 * commands/cat.c: Likewise.
27952 * commands/i386/pc/play.c: Likewise.
27953 * commands/i386/pc/drivemap.c: Likewise.
27954 * commands/i386/pc/vbeinfo.c: Likewise.
27955 * commands/i386/pc/acpi.c: Likewise.
27956 * commands/i386/pc/vbetest.c: Likewise.
27957 * commands/ls.c: Likewise.
27958 * commands/cmp.c: Likewise.
27959 * commands/test.c: Likewise.
27960 * commands/efi/acpi.c: Likewise.
27961 * commands/gptsync.c: Likewise.
27962 * commands/help.c: Likewise.
27963 * partmap/amiga.c: Likewise.
27964 * partmap/apple.c: Likewise.
27965 * partmap/acorn.c: Likewise.
27966 * partmap/pc.c: Likewise.
27967 * partmap/sun.c: Likewise.
27968 * partmap/gpt.c: Likewise.
27969 * script/sh/lexer.c: Likewise.
27970 * script/sh/function.c: Likewise.
27971 * font/font.c: Likewise.
27972 * font/font_cmd.c: Likewise.
27973 * loader/powerpc/ieee1275/linux.c: Likewise.
27974 * loader/efi/chainloader.c: Likewise.
27975 * loader/multiboot_loader.c: Likewise.
27976 * loader/macho.c: Likewise.
27977 * loader/i386/multiboot.c: Likewise.
27978 * loader/i386/linux.c: Likewise.
27979 * loader/i386/pc/linux.c: Likewise.
27980 * loader/i386/pc/multiboot2.c: Likewise.
27981 * loader/i386/pc/chainloader.c: Likewise.
27982 * loader/i386/pc/xnu.c: Likewise.
27983 * loader/i386/bsd_trampoline.S: Likewise.
27984 * loader/i386/efi/linux.c: Likewise.
27985 * loader/i386/multiboot_elfxx.c: Likewise.
27986 * loader/i386/bsd_helper.S: Likewise.
27987 * loader/i386/bsd.c: Likewise.
27988 * loader/i386/linux_trampoline.S: Likewise.
27989 * loader/i386/xnu_helper.S: Likewise.
27990 * loader/i386/xnu.c: Likewise.
27991 * loader/i386/bsd_pagetable.c: Likewise.
27992 * loader/i386/multiboot_helper.S: Likewise.
27993 * loader/xnu.c: Likewise.
27994 * loader/xnu_resume.c: Likewise.
27995 * io/gzio.c: Likewise.
27996 * term/efi/console.c: Likewise.
27997 * term/terminfo.c: Likewise.
27998 * term/ieee1275/ofconsole.c: Likewise.
27999 * term/i386/pc/serial.c: Likewise.
28000 * term/i386/pc/vesafb.c: Likewise.
28001 * term/i386/pc/vga.c: Likewise.
28002 * term/usb_keyboard.c: Likewise.
28003 * term/gfxterm.c: Likewise.
28004 * aclocal.m4: Likewise.
28005 * util/lvm.c: Likewise.
28006 * util/grub.d/30_os-prober.in: Likewise.
28007 * util/grub.d/10_hurd.in: Likewise.
28008 * util/console.c: Likewise.
28009 * util/grub-macho2img.c: Likewise.
28010 * util/grub-probe.c: Likewise.
28011 * util/hostfs.c: Likewise.
28012 * util/i386/pc/grub-mkimage.c: Likewise.
28013 * util/i386/pc/grub-setup.c: Likewise.
28014 * util/i386/efi/grub-mkimage.c: Likewise.
28015 * util/grub-mkconfig.in: Likewise.
28016 * util/raid.c: Likewise.
28017 * util/resolve.c: Likewise.
28018 * util/grub-mkdevicemap.c: Likewise.
28019 * util/grub-emu.c: Likewise.
28020 * util/getroot.c: Likewise.
28021 * util/hostdisk.c: Likewise.
28022 * util/usb.c: Likewise.
28023 * util/grub-editenv.c: Likewise.
28024 * util/misc.c: Likewise.
28025
d2d49665 280262009-06-10 Felix Zielcke <fzielcke@z-51.de>
28027
28028 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28029 `genparttoollist.sh'.
28030 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28031 Add `*.sh' to the list find searches for and change `mdate.sh'
28032 to `mdate-sh'.
28033
fe052e37 280342009-06-10 Pavel Roskin <proski@gnu.org>
28035
2763ac18 28036 * include/grub/multiboot2.h: Provide compatibility defines for
28037 multiboot2.h.
28038 * include/multiboot2.h: Include stdint.h only if needed, using
28039 angle brackets.
28040 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28041 grub/multiboot2.h.
28042 * loader/ieee1275/multiboot2.c: Likewise.
28043 * loader/multiboot2.c: Likewise.
28044 * loader/multiboot_loader.c: Likewise.
28045
437e6adc 28046 * configure.ac: Use -nostdlib when probing for the target. It
28047 should not be required to have libc for the target.
28048
06a6836c 28049 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28050 they fail without libc headers for the target.
28051 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28052 exports.
28053 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28054 preprocessor conditionals.
28055
fe052e37 28056 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28057 build system doesn't need to be aware of the tar.c internals.
28058
afd22553 280592009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 28060
afd22553 28061 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 28062
6b787c4f 280632009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28064
28065 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28066 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28067
280682009-06-09 Felix Zielcke <fzielcke@z-51.de>
28069
28070 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 28071 aren't available if ata.mod gets used.
6b787c4f 28072
473d1e45 280732009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 28074
473d1e45 28075 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 28076 initialising controller.
473d1e45 28077 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 28078
255a27d4 280792009-06-08 Felix Zielcke <fzielcke@z-51.de>
28080
28081 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28082 to choose between ata and biosdisk module on i386-pc.
28083
473d1e45 280842009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 28085
d55842d8 28086 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28087 Subclass and Programming Interface fields in terms of the 3 byte
28088 Class Code register.
28089 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28090
fa5db0b1 28091 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28092 interface is OHCI. Add grub_dprintf for symmetry with
28093 bus/usb/uhci.c.
28094 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28095 interface is UHCI. Add interf variable for programming
28096 interface. Print interface with class/subclass.
28097
c0947beb 28098 * bus/usb/ohci.c: Set interf with correct field.
28099
69da8877 28100 * bus/usb/uhci.c: Remove unneeded doubled lines.
28101 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28102 Remove whitespace inside comment.
28103
9e172e30 281042009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28105
28106 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28107 as fallback an equivalent option without depth.
28108
de65ee2b 281092009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28110
28111 Not fail if unable to retrieve C/H/S on LBA disks
28112
473d1e45 28113 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 28114 if unable to retrieve C/H/S on LBA disks
28115
b57ea2c9 281162009-06-08 Pavel Roskin <proski@gnu.org>
28117
28118 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28119 about aliasing.
28120
af361263 281212009-06-08 Felix Zielcke <fzielcke@z-51.de>
28122
28123 * Makefile.in (uninstall): Remove all $lib_DATA files.
28124
4c9ec6b3 281252009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 Bugfix: install on partitionless device
28128
28129 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28130 is a whole disk
28131
e76fc924 281322009-06-08 Felix Zielcke <fzielcke@z-51.de>
28133
28134 * Makefile.in (uninstall): Remove all $include_DATA files.
28135
ba5a0d05 281362009-06-08 Felix Zielcke <fzielcke@z-51.de>
28137
28138 * commands/true.c: New file. Implement the true and false commands.
28139 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28140 (true_mod_SOURCES): New variable.
28141 (true_mod_CFLAGS): Likewise.
28142 (true_mod_LDFLAGS): Likewise.
28143
c8048e32 281442009-06-05 Colin D Bennett <colin@gibibit.com>
28145
28146 Optimized font character lookup using binary search instead of linear
28147 search. Fonts now are required to have the character index ordered by
28148 code point.
28149
28150 * font/font.c (load_font_index): Verify that fonts have ordered
28151 character indices.
28152 (find_glyph): Use binary search instead of linear search to find a
28153 character in a font.
28154
408305be 281552009-06-05 Michael Scherer <misc@mandriva.org>
28156
28157 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28158 uses case sensitive btree.
28159 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28160 only for case insensitive filesystems.
28161
8ee1e0d9 281622009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28163
28164 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28165 * conf/common.rmk (search_mod_CFLAGS): likewise
28166
a9966eb1 281672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28168
473d1e45 28169 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 28170 compensate a compiler bug
28171
9e7100fb 281722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28173
473d1e45 28174 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 28175 instead of '\b'
473d1e45 28176
ede21d71 281772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28178
28179 Definitions for creating asm symbols with Apple's CC
28180
28181 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28182 [APPLE_CC] (VARIABLE): likewise
28183
9dbf7653 281842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28185
28186 Disable lnxboot.img when compiled
28187 with Apple's CC
28188
28189 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28190 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28191 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28192 [! APPLE_CC] (CODE_LENG): skip
28193 [! APPLE_CC] (setup_sects): likewise
28194 [! APPLE_CC]: skip filling
473d1e45 28195
e93cdc3d 281962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28197
28198 Address in trampolines based on 32-bit registers when compiled
28199 with Apple's CC
28200
473d1e45 28201 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 28202 for addresses
28203 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28204
6c688477 282052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28208
28209 * kern/misc.c [APPLE_CC] (memcpy): new function
28210 [APPLE_CC] (memmove): likewise
28211 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 28212 (memcpy): define alias conditionally on !APPLE_CC
6c688477 28213 (memset): likewise
28214 (abort): likewise
28215 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28216 APPLE_CC are defined
28217 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28218 (grub_assert_fail): make prototype conditional
28219
e37ffc5c 282202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28221
28222 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
28223
473d1e45 28224 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
28225 grub-macho2img
e37ffc5c 28226 (CLEANFILES): add grub-macho2img
28227 (grub_macho2img_SOURCES): new variable
28228 * kern/i386/pc/startup.S (bss_start): new variable
28229 (bss_end): likewise
28230 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
28231 * util/grub-macho2img.c: new file
28232
cf00df31 282332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28234
28235 Use objconv when compiling with Apple's CC
28236
28237 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
28238 (efiemu64.o): likewise
28239 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
28240 when compiling with Apple's CC
28241 (efiemu64_s.o): likewise
28242 * configure.ac: check for objconv when compiling with Apple's CC
28243 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 28244
d119a20c 282452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28246
28247 Define segment as well as section when compiling with
28248 Apple's CC
28249
28250 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
28251 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
28252 (efiemu_convert_pointer): likewise
28253 (efiemu_set_virtual_address_map): likewise
28254 (efiemu_convert_pointer): likewise
28255 (efiemu_getcrc32): likewise
28256 (init_crc32_table): likewise
28257 (reflect): likewise
28258 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
28259 (GRUB_MOD_DEP): likewise
473d1e45 28260
c8600122 282612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28262
28263 Allow a compilation without -mcmodel=large
28264
28265 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
28266 when compiled without -mcmodel=large
473d1e45 28267 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 28268 without -mcmodel=large
473d1e45 28269 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 28270 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 28271
e8df1d4e 282722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28273
28274 Remove nested functions in efiemu core
28275
28276 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 28277
cc6c3ac1 282782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28279
28280 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
28281
28282 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
28283 temporary storage
473d1e45 28284 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
28285 using Apple's CC
cc6c3ac1 28286 (grub_cpu_is_tsc_supported): likewise
28287 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 28288
3e325901 282892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28290
28291 Absolute addressing through constant with Apple's cc
28292
28293 * kern/i386/pc/startup.S: Define necessary constants
28294 and address through it when using ABS with Apple's CC
28295 * boot/i386/pc/diskboot.S: likewise
28296 * boot/i386/pc/boot.S: likewise
28297 * boot/i386/pc/lnxboot.S: likewise
28298 * boot/i386/pc/cdboot.S: likewise
28299 * mmap/i386/pc/mmap_helper.S: likewise
28300 * commands/i386/pc/drivemap_int13h.S: likewise
28301
2b167a72 283022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28303
28304 Check if compiler is apple cc
28305
28306 * Makefile.in (ASFLAGS): new variable
28307 (TARGET_ASFLAGS): likewise
28308 (TARGET_MODULE_FORMAT): likewise
28309 (TARGET_APPLE_CC): likewise
28310 (OBJCONV): likewise
28311 (TARGET_IMG_CFLAGS): likewise
28312 (TARGET_CPPFLAGS): add includedir
28313 * configure.ac: call grub_apple_cc and grub_apple_target_cc
28314 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
28315 Check for linker script only if compiler isn't Apple's CC
28316 (TARGET_MODULE_FORMAT): set
28317 (TARGET_APPLE_CC): likewise
28318 (TARGET_ASFLAGS): likewise
28319 (ASFLAGS): likewise
28320 Check for objcopy only if compiler isn't Apple's CC
28321 Check for BSS symbol only if compiler isn't Apple's CC
28322 * genmk.rb: adapt nm options if we use Apple's utils
28323 * aclocal.m4 (grub_apple_cc): new test
28324 (grub_apple_target_cc): likewise
473d1e45 28325
fb14123e 283262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28327
28328 Simplify sed expressions and improve awk
28329
28330 * Makefile.in (install-local): simplify sed expression
28331 * gencmdlist.sh: likewise
28332 * genmoddep.awk: avoid adding module as a dependency of itself
28333
5b889789 283342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28335
28336 Add missing start symbols
28337
28338 * boot/i386/pc/boot.S: add start
fb14123e 28339 * boot/i386/pc/pxeboot.S: likewise
473d1e45 28340
fd2bf2e3 283412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 28344
28345 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 28346 (relocate_addresses): consider both r_addend and value at offset
28347 (make_mods_section): zerofill modinfo and header
28348 (convert_elf): write prefix here
473d1e45 28349
5389763d 283502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28351
28352 Use .asciz instead of .string
28353
28354 * i386/pc/diskboot.S: use .asciz instead of .string
28355 * i386/pc/boot.S: likewise
28356 * include/grub/dl.h (GRUB_MOD_DEP): likewise
28357 (GRUB_MOD_NAME): likewise
473d1e45 28358
3eb5ed4e 283592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28360
28361 gfxpayload support
28362
28363 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
28364 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
28365 (grub_video_setup): remove
28366 (grub_video_set_mode): new prototype
28367 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
28368 (vid_mode): remove
28369 (linux_vesafb_res): compile only on PCBIOS
28370 (grub_linux_boot): support gfxpayload
28371 * loader/i386/pc/xnu.c (video_hook): new function
28372 (grub_xnu_set_video): support gfxpayload
28373 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
28374 (DEFAULT_VIDEO_HEIGHT): likewise
28375 (DEFAULT_VIDEO_FLAGS): likewise
28376 (DEFAULT_VIDEO_MODE): new definition
28377 (video_hook): new function
28378 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 28379 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 28380 loading xnu
28381 * video/video.c (grub_video_setup): removed
473d1e45 28382 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 28383 grub_video_setup
28384
4b0e1143 283852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 Avoid calling biosdisk in drivemap
28388
28389 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
28390 (revparse_biosdisk): likewise
28391 (list_mappings): derive name from id directly
28392 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 28393
fda6cb98 283942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28395
28396 Script fixes
28397
28398 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
28399 (grub_lexer_param): add tokenonhold
28400 (grub_script_create_cmdline): remove cmdline. All callers updated
28401 (grub_script_function_create): make functionname
28402 grub_script_arg. All callers updated
28403 (grub_script_execute_argument_to_string): new prototype
28404 * kern/parser.c (state_transitions): reorder
28405 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 28406 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 28407 make global
28408 (grub_script_execute_cmdline): use new format
28409 * script/sh/function.c (grub_script_function_create): make functionname
28410 grub_script_arg. All callers updated
473d1e45 28411 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 28412 (grub_script_yylex): remove
28413 (grub_script_yylex2): renamed to ...
28414 (grub_script_yylex): ...renamed
28415 parse the expressions like a${b}c
28416 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
28417 (GRUB_PARSER_TOKEN_VAR): remove
28418 (GRUB_PARSER_TOKEN_NAME): likewise
28419 ("if"): declare as typeless
28420 ("while"): likewise
28421 ("function"): likewise
28422 ("else"): likewise
28423 ("then"): likewise
28424 ("fi"): likewise
28425 (text): remove
28426 (argument): likewise
28427 (script): accept empty scripts and make exit on error
28428 (arguments): use GRUB_PARSER_TOKEN_ARG
28429 (function): likewise
28430 (command): move error handling to script
28431 (menuentry): move grub_script_lexer_ref before
473d1e45 28432 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 28433 argument. All callers updated
28434
f4448a07 284352009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28436
28437 Prevent GRUB from probing floppies during boot.
28438
28439 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
28440 * commands/search.c (options): Add --no-floppy.
28441 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
28442 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
28443 --no-floppy when searching for UUIDs.
28444
2bf5885a 284452009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28446
28447 Simplify the code duplication in commands/search.c.
28448
28449 * commands/search.c (search_label, search_fs_uuid): Merge into ...
28450 (search_fs): ... this. Update all users.
28451
f6fd460a 284522009-06-03 Felix Zielcke <fzielcke@z-51.de>
28453
28454 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
28455
cbb3c83e 284562009-05-28 Pavel Roskin <proski@gnu.org>
28457
57788cfd 28458 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
28459 Remove the original symlink explicitly.
28460
cbb3c83e 28461 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
28462 just one slash. That's how grub_fshelp_find_file() does it.
28463
cd0d5e30 284642009-05-26 Pavel Roskin <proski@gnu.org>
28465
f0f8bbe2 28466 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
28467 to `str'.
28468
cd0d5e30 28469 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
28470 possibly unused.
28471
8c2cab51 284722009-05-25 Christian Franke <franke@computer.org>
28473
28474 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
28475 register.
28476 (grub_atapi_identify): Add wait after drive select.
28477 (grub_ata_identify): Do more strict status register check before
28478 calling grub_atapi_identify (). Suppress error message if status
28479 register is 0x00 after command failure. Add status register
28480 check after PIO read to avoid bogus identify due to stuck DRQ.
28481 Thanks to Pavel Roskin for testing.
28482 (grub_device_initialize): Remove unsafe status register check.
28483 Thanks to 'phcoder' for problem report and patch.
28484 Prevent sign extension in debug message.
28485
230c0ad6 284862009-05-23 Colin D Bennett <colin@gibibit.com>
28487
28488 Cleaned up `include/grub/normal.h'. Grouped prototypes by
28489 definition file, and functions defined in `normal/menu.c' have had
28490 their prototypes moved to `include/grub/menu.h' for consistency.
28491
28492 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
28493 from normal.h.
28494 (grub_menu_get_entry): Likewise.
28495 (grub_menu_get_timeout): Likewise.
28496 (grub_menu_set_timeout): Likewise.
28497 (grub_menu_execute_entry): Likewise.
28498 (grub_menu_execute_with_fallback): Likewise.
28499 (grub_menu_entry_run): Likewise.
28500
28501 * include/grub/normal.h: Re-ordered and grouped function
28502 prototypes by file that the function is defined in.
28503 (grub_menu_execute_callback): Removed; moved to menu.h.
28504 (grub_menu_get_entry): Likewise.
28505 (grub_menu_get_timeout): Likewise.
28506 (grub_menu_set_timeout): Likewise.
28507 (grub_menu_execute_entry): Likewise.
28508 (grub_menu_execute_with_fallback): Likewise.
28509 (grub_menu_entry_run): Likewise.
28510 (grub_menu_addentry): Renamed from this ...
28511 (grub_normal_add_menu_entry): ... to this.
28512
28513 * normal/main.c (grub_menu_addentry): Renamed from this ...
28514 (grub_normal_add_menu_entry): ... to this.
28515
28516 * script/sh/execute.c (grub_script_execute_menuentry): Update
28517 reference to renamed grub_menu_addentry function.
28518
861f03a5 285192009-05-23 Felix Zielcke <fzielcke@z-51.de>
28520
28521 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
28522
96b1619a 285232009-05-22 Pavel Roskin <proski@gnu.org>
28524
bf6a5fb2 28525 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
28526 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
28527 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
28528 compiling for the i386 targets, but not for the utilities.
28529
96b1619a 28530 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
28531 to grub_uint8_t.
28532 (grub_root_drive): Likewise.
28533 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
28534 remove alignment.
28535 (grub_root_drive): Change size to byte.
28536 (grub_start_addr): Remove.
28537 (grub_end_addr): Likewise.
28538 (grub_apm_bios_info): Likewise.
28539
b729776b 285402009-05-21 Felix Zielcke <fzielcke@z-51.de>
28541
28542 * normal/i386: Remove.
28543 * normal/powerpc: Likewise.
28544 * normal/sparc64: Likewise.
28545 * normal/x86_64: Likewise.
28546
0a15ce80 285472009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
28548
28549 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 28550 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 28551 * loader/i386/xnu_helper.S: Likewise
d6da58e6 28552
33db9015 285532009-05-18 Colin D Bennett <colin@gibibit.com>
28554
d6da58e6 28555 Display error messages when parsing a Lua statement fails.
28556 Previously, executing a syntactically invalid statement like
28557 ")foo" or "bar;" would silently fail.
33db9015 28558
28559 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 28560 (grub_lua_parse_line): Improved reporting of Lua parser and
28561 execution errors.
33db9015 28562
46422c89 285632009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28564
28565 Remove -Werror which causes build to fail on some systems
28566
28567 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
28568 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
28569 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 28570
22f53a96 285712009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28572
28573 trampoline for linux on 64-bit platform
28574
18f547ad 28575 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
28576 loader/i386/efi/linux_trampoline.S
28577 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 28578 declaration
d6da58e6 28579 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
28580 here
22f53a96 28581 * loader/i386/linux_trampoline.S: moved here
d6da58e6 28582 * loader/i386/efi/linux.c (allocate_pages): reserve space for
28583 trampoline
22f53a96 28584 (jumpvector): removed
28585 (grub_linux_trampoline_start): new declaration
28586 (grub_linux_trampoline_end): likewise
28587 (grub_linux_boot): use trampoline when on 64-bit platform
28588 * loader/i386/linux.c: likewise
28589
cb5a0f40 285902009-05-16 Pavel Roskin <proski@gnu.org>
28591
28592 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28593 const to avoid a warning.
28594 (grub_lua_setenv): Likewise.
28595 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28596 lmsg to fix a warning.
28597
334f2c28 285982009-05-16 Felix Zielcke <fzielcke@z-51.de>
28599
28600 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28601 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28602 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28603 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28604 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28605 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28606 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28607 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28608
59e5d3ec 286092009-05-16 Felix Zielcke <fzielcke@z-51.de>
28610
28611 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28612
9d87a1ba 286132009-05-16 Bean <bean123ch@gmail.com>
28614
28615 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28616 (lua_mod_SOURCES): New variable.
28617 (lua_mod_CFLAGS): Likewise.
28618 (lua_mod_LDFLAGS): Likewise.
28619
28620 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28621 (setjmp_mod_SOURCES): New variable.
28622 (setjmp_mod_CFLAGS): Likewise.
28623 (setjmp_LDFLAGS): Likewise.
28624
28625 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28626 (setjmp_mod_SOURCES): New variable.
28627 (setjmp_mod_CFLAGS): Likewise.
28628 (setjmp_LDFLAGS): Likewise.
28629
28630 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28631 (setjmp_mod_SOURCES): New variable.
28632 (setjmp_mod_CFLAGS): Likewise.
28633 (setjmp_LDFLAGS): Likewise.
28634
28635 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28636 (setjmp_mod_SOURCES): New variable.
28637 (setjmp_mod_CFLAGS): Likewise.
28638 (setjmp_LDFLAGS): Likewise.
28639
28640 * normal/i386/setjmp.S: Moved from here ...
28641 * lib/i386/setjmp.S: ... Moved here
28642 * normal/x86_64/setjmp.S: Moved from here ...
28643 * lib/x86_64/setjmp.S: ... Moved here
28644 * normal/powerpc/setjmp.S: Moved from here ...
28645 * lib/powerpc/setjmp.S: ... Moved here
28646 * normal/sparc64/setjmp.S: Moved from here ...
28647 * lib/sparc64/setjmp.S: ... Moved here
28648
28649 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28650 returns_twice in mingw.
28651
28652 * script/lua/grub_lib.c: New file.
28653 * script/lua/grub_lib.h: Likewise.
28654 * script/lua/grub_lua.h: Likewise.
28655 * script/lua/grub_main.c: Likewise.
28656 * script/lua/lapi.c: Likewise.
28657 * script/lua/lapi.h: Likewise.
28658 * script/lua/lauxlib.c: Likewise.
28659 * script/lua/lauxlib.h: Likewise.
28660 * script/lua/lbaselib.c: Likewise.
28661 * script/lua/lcode.c: Likewise.
28662 * script/lua/lcode.h: Likewise.
28663 * script/lua/ldblib.c: Likewise.
28664 * script/lua/ldebug.c: Likewise.
28665 * script/lua/ldebug.h: Likewise.
28666 * script/lua/ldo.c: Likewise.
28667 * script/lua/ldo.h: Likewise.
28668 * script/lua/ldump.c: Likewise.
28669 * script/lua/lfunc.c: Likewise.
28670 * script/lua/lfunc.h: Likewise.
28671 * script/lua/lgc.c: Likewise.
28672 * script/lua/lgc.h: Likewise.
28673 * script/lua/linit.c: Likewise.
28674 * script/lua/liolib.c: Likewise.
28675 * script/lua/llex.c: Likewise.
28676 * script/lua/llex.h: Likewise.
28677 * script/lua/llimits.h: Likewise.
28678 * script/lua/lmathlib.c: Likewise.
28679 * script/lua/lmem.c: Likewise.
28680 * script/lua/lmem.h: Likewise.
28681 * script/lua/loadlib.c: Likewise.
28682 * script/lua/lobject.c: Likewise.
28683 * script/lua/lobject.h: Likewise.
28684 * script/lua/lopcodes.c: Likewise.
28685 * script/lua/lopcodes.h: Likewise.
28686 * script/lua/loslib.c: Likewise.
28687 * script/lua/lparser.c: Likewise.
28688 * script/lua/lparser.h: Likewise.
28689 * script/lua/lstate.c: Likewise.
28690 * script/lua/lstate.h: Likewise.
28691 * script/lua/lstring.c: Likewise.
28692 * script/lua/lstring.h: Likewise.
28693 * script/lua/lstrlib.c: Likewise.
28694 * script/lua/ltable.c: Likewise.
28695 * script/lua/ltable.h: Likewise.
28696 * script/lua/ltablib.c: Likewise.
28697 * script/lua/ltm.c: Likewise.
28698 * script/lua/ltm.h: Likewise.
28699 * script/lua/lua.h: Likewise.
28700 * script/lua/luaconf.h: Likewise.
28701 * script/lua/lualib.h: Likewise.
28702 * script/lua/lundump.c: Likewise.
28703 * script/lua/lundump.h: Likewise.
28704 * script/lua/lvm.c: Likewise.
28705 * script/lua/lvm.h: Likewise.
28706 * script/lua/lzio.c: Likewise.
28707 * script/lua/lzio.h: Likewise.
28708
5e898c9d 287092009-05-16 Bean <bean123ch@gmail.com>
28710
28711 * include/grub/kernel.h (grub_module_header_types): Add type
28712 OBJ_TYPE_CONFIG.
28713
28714 * kern/main.c (grub_load_config): New function.
28715 (grub_main): Call grub_load_config to read boot config.
28716
28717 * grub-mkimage (generate_image): New parameter config_path.
28718 (options): New option --config.
28719 (main): Parse --config option, and pass it to generate_image.
28720
cf353a47 287212009-05-14 Christian Franke <franke@computer.org>
28722
28723 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28724 This fixes build on Cygwin.
28725
3834887f 287262009-05-14 Pavel Roskin <proski@gnu.org>
28727
28728 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28729 jump. This saves two bytes, so the typical case of 2 swapped
28730 drives would fit 32 bytes.
28731
8090fc01 287322009-05-13 Pavel Roskin <proski@gnu.org>
28733
ac963883 28734 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28735 grub_uint32_t to avoid a warning.
28736
8090fc01 28737 * loader/i386/linux.c (allocate_pages): When assigning
28738 real_mode_mem, cast through grub_size_t to fix a warning. The
28739 code already makes sure that the value would fit a pointer.
28740 (grub_linux_setup_video): Cast render_target->data to
28741 grub_size_t to fix a warning.
28742
18f547ad 287432009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28744
28745 * commands/i386/pc/drivemap.c: New file - implement drivemap
28746 command.
28747 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28748 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28749
6f6a8b28 287502009-05-13 Pavel Roskin <proski@gnu.org>
28751
28752 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28753 embedding_area_exists.
28754
15fbf4c4 287552009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28756
28757 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28758 it easier to understand / work with.
59978c8a 28759 Improve warning messages for cases where there's no embedding area,
28760 or when it is too small (or core.img too large).
15fbf4c4 28761
238e871f 287622009-05-13 Pavel Roskin <proski@gnu.org>
28763
0ab3a9a4 28764 * loader/i386/pc/multiboot2.c: Add necessary includes for
28765 grub_multiboot2_real_boot().
28766
a2c8c5f8 28767 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28768 PX record is always little-endian. We only need the lower 2
28769 bytes of the mode.
28770
faec96af 28771 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28772 facilitate code reuse.
28773 (grub_cpio_mount): Use "struct head", not a char buffer. This
28774 fixes a warning reported by gcc 4.4.
28775
238e871f 28776 * kernel/disk.c (grub_disk_read): Use void pointer for the
28777 buffer.
28778 (grub_disk_write): Use const void pointer for the buffer.
28779 Adjust all callers. Remove unnecessary casts.
28780
901d2f0c 287812009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28782
28783 * util/i386/pc/grub-install.in: Update copyright year.
28784
18f547ad 287852009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28786
28787 gptsync
28788
28789 * commands/gptsync.c: new file
28790 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28791 (gptsync_mod_SOURCES): new variable
28792 (gptsync_mod_CFLAGS): likewise
28793 (gptsync_mod_LDFLAGS): likewise
18f547ad 28794 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28795 new definition
28796 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28797 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28798 * conf/i386-ieee1275.rmk: likewise
28799 * conf/i386-pc.rmk: likewise
28800 * conf/powerpc-ieee1275.rmk: likewise
28801
b4ba690a 288022009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28803
28804 Fixed grub-emu
28805
28806 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28807 (grub_dl_ref): likewise
28808
317e1a44 288092009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28810
28811 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28812 split in two functions (one for msdos and one for gpt).
28813
041b8094 288142009-05-08 Pavel Roskin <proski@gnu.org>
28815
752473c2 28816 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28817 not modified.
28818
041b8094 28819 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28820 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28821 Initialize them with -1. Add sanity check for bad1. Eliminate
28822 nerr variable.
28823
172800ce 288242009-05-08 David S. Miller <davem@davemloft.net>
28825
28826 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28827
29aa5e81 288282009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28829
28830 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28831 existence.
29aa5e81 28832
96613b62 288332009-05-05 Felix Zielcke <fzielcke@z-51.de>
28834
28835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28836 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28837
eef73c8a 288382009-05-05 David S. Miller <davem@davemloft.net>
28839
28840 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28841
119494b5 288422009-05-05 Pavel Roskin <proski@gnu.org>
28843
28844 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28845 of grub_dl_ref() and grub_dl_unref().
28846 * commands/parttool.c: Remove preprocessor conditionals around
28847 grub_dl_ref() and grub_dl_unref().
28848 * fs/affs.c: Likewise.
28849 * fs/afs.c: Likewise.
28850 * fs/cpio.c: Likewise.
28851 * fs/ext2.c: Likewise.
28852 * fs/fat.c: Likewise.
28853 * fs/hfs.c: Likewise.
28854 * fs/hfsplus.c: Likewise.
28855 * fs/iso9660.c: Likewise.
28856 * fs/jfs.c: Likewise.
28857 * fs/minix.c: Likewise.
28858 * fs/ntfs.c: Likewise.
28859 * fs/reiserfs.c: Likewise.
28860 * fs/sfs.c: Likewise.
28861 * fs/udf.c: Likewise.
28862 * fs/ufs.c: Likewise.
28863 * fs/xfs.c: Likewise.
28864 * include/grub/dl.h: Likewise.
28865 * loader/xnu.c: Likewise.
28866
de5fd76e 288672009-05-04 Pavel Roskin <proski@gnu.org>
28868
28869 * commands/acpi.c: Remove unused variable my_mod.
28870 * partmap/amiga.c: Likewise.
28871 * partmap/apple.c: Likewise.
28872 * partmap/gpt.c: Likewise.
28873 * partmap/pc.c: Likewise.
28874 * partmap/sun.c: Likewise.
28875 * term/gfxterm.c: Likewise.
28876 * term/i386/pc/vesafb.c: Likewise.
28877 * term/i386/pc/vga.c: Likewise.
28878
983598ad 288792009-05-04 David S. Miller <davem@davemloft.net>
28880
28881 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28882 pointer args to grub_ieee1275_get_property().
28883
8aadec43 28884 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28885
9554b15e 28886 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28887 devices, and do not traverse down under controller nodes.
28888
67e23c90 28889 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28890 (grub_ofdisk_open): Use it to un-escape "," characters.
28891 * kern/disk.c (find_part_sep): New.
28892 (grub_disk_open): Use it to find the first non-escaped ','
28893 character in the disk name.
28894 * util/ieee1275/devicemap.c (escape_of_path): New.
28895 (grub_util_emit_devicemap_entry): Use it.
28896 * util/sparc64/ieee1275/grub-install.in: Update script to
28897 strip partition specifiers properly by not triggering on
28898 '\' escaped ',' characters.
28899
74bfdd2f 289002009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28901
28902 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28903 to 0x300.
28904 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28905 resolutions.
28906 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28907 on documentation from Wikipedia).
28908
4241d2b1 289092009-05-04 Pavel Roskin <proski@gnu.org>
28910
28911 * disk/ata.c: Spelling fixes.
28912 * disk/raid.c: Likewise.
28913 * disk/usbms.c: Likewise.
28914 * disk/dmraid_nvidia.c: Likewise.
28915 * kern/ieee1275/openfw.c: Likewise.
28916 * kern/ieee1275/init.c: Likewise.
28917 * kern/ieee1275/cmain.c: Likewise.
28918 * boot/i386/pc/cdboot.S: Likewise.
28919 * video/readers/png.c: Likewise.
28920 * video/i386/pc/vbe.c: Likewise.
28921 * fs/udf.c: Likewise.
28922 * fs/hfs.c: Likewise.
28923 * fs/reiserfs.c: Likewise.
28924 * efiemu/runtime/efiemu.c: Likewise.
28925 * efiemu/main.c: Likewise.
28926 * efiemu/mm.c: Likewise.
28927 * include/grub/elf.h: Likewise.
28928 * include/grub/xnu.h: Likewise.
28929 * include/grub/usbdesc.h: Likewise.
28930 * include/grub/usb.h: Likewise.
28931 * include/grub/script_sh.h: Likewise.
28932 * include/grub/lib/LzmaEnc.h: Likewise.
28933 * include/grub/efiemu/efiemu.h: Likewise.
28934 * include/grub/command.h: Likewise.
28935 * normal/menu.c: Likewise.
28936 * normal/main.c: Likewise.
28937 * normal/datetime.c: Likewise.
28938 * bus/usb/uhci.c: Likewise.
28939 * mmap/i386/uppermem.c: Likewise.
28940 * mmap/mmap.c: Likewise.
28941 * commands/acpi.c: Likewise.
28942 * commands/test.c: Likewise.
28943 * partmap/apple.c: Likewise.
28944 * font/font.c: Likewise.
28945 * loader/sparc64/ieee1275/linux.c: Likewise.
28946 * loader/macho.c: Likewise.
28947 * loader/i386/bsd_trampoline.S: Likewise.
28948 * loader/i386/bsd.c: Likewise.
28949 * loader/xnu.c: Likewise.
28950 * term/i386/pc/vesafb.c: Likewise.
28951 * term/usb_keyboard.c: Likewise.
28952 * util/resolve.c: Likewise.
28953 * util/getroot.c: Likewise.
28954
0cfc0083 289552009-05-04 Felix Zielcke <fzielcke@z-51.de>
28956
28957 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28958
7c1d00cd 289592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28960
28961 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28962 build error.
28963
b01f0548 289642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28965
28966 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28967 parameter only available on BIOS.
28968
ecc3eb22 289692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28970
28971 Removed wrong semicolon in declaration
28972
28973 * grub/misc.h (grub_dprintf): remove semicolon
28974
112972a9 289752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28976
28977 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28978 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28979 is done by grub_cmd_linux() now).
28980 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28981 restore video to text mode.
28982 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28983 indicates lack of "vga=" parameter. "vga=0" is mapped to
28984 `GRUB_LINUX_VID_MODE_NORMAL'.
28985
afd5c115 289862009-05-04 Felix Zielcke <fzielcke@z-51.de>
28987
28988 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28989 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28990 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28991 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28992 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28993 `grub_script.tab.c'.
28994
28995 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28996 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28998 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28999 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29000
faa517ce 29001 * Makefile.in: Remove duplicated 2008 in Copyright line.
29002
ae0c0bdc 290032009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29004
473d1e45 29005 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29006 unconditionally.
29007 * include/grub/util/misc.h (grub_util_warn): New declaration.
29008
29009 * util/i386/pc/grub-install.in: Understand --force and pass it down
29010 to grub-setup.
29011
29012 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29013 down to setup().
29014 (setup): Improve error messages and add warnings when requested to
29015 install in odd layouts. Refuse to install using blocklists unless
29016 --force was set.
29017
18f547ad 290182009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 29019
29020 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29021
6d260daa 290222009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29023
29024 Updated copyright year
29025
29026 * fs/hfsplus.c: updated copyright year
18f547ad 29027
69f853f8 290282009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29029
29030 HFS+ UUID
29031
18f547ad 29032 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 29033 in the space previously used by unused3
29034 (grub_hfsplus_uuid): new function
29035 (grub_hfsplus_fs): added uuid field
29036
4c402e73 290372009-05-03 Pavel Roskin <proski@gnu.org>
29038
29039 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29040 suppress warnings. It's no longer needed.
29041 * disk/host.c: Likewise.
29042 * disk/ata_pthru.c: Likewise.
29043 * disk/loopback.c: Likewise.
29044 * hook/datehook.c: Likewise.
29045 * parttool/pcpart.c: Likewise.
29046 * fs/i386/pc/pxe.c: Likewise.
29047 * fs/ntfscomp.c: Likewise.
29048 * efiemu/main.c: Likewise.
29049 * mmap/mmap.c: Likewise.
29050 * commands/crc.c: Likewise.
29051 * commands/hexdump.c: Likewise.
29052 * commands/hdparm.c: Likewise.
29053 * commands/acpi.c: Likewise.
29054 * commands/echo.c: Likewise.
29055 * commands/minicmd.c: Likewise.
29056 * commands/blocklist.c: Likewise.
29057 * commands/memrw.c: Likewise.
29058 * commands/loadenv.c: Likewise.
29059 * commands/usbtest.c: Likewise.
29060 * commands/lsmmap.c: Likewise.
29061 * commands/boot.c: Likewise.
29062 * commands/parttool.c: Likewise.
29063 * commands/configfile.c: Likewise.
29064 * commands/search.c: Likewise.
29065 * commands/ieee1275/suspend.c: Likewise.
29066 * commands/cat.c: Likewise.
29067 * commands/i386/pc/pxecmd.c: Likewise.
29068 * commands/i386/pc/play.c: Likewise.
29069 * commands/i386/pc/halt.c: Likewise.
29070 * commands/i386/pc/vbeinfo.c: Likewise.
29071 * commands/i386/pc/vbetest.c: Likewise.
29072 * commands/lspci.c: Likewise.
29073 * commands/date.c: Likewise.
29074 * commands/handler.c: Likewise.
29075 * commands/ls.c: Likewise.
29076 * commands/test.c: Likewise.
29077 * commands/cmp.c: Likewise.
29078 * commands/efi/loadbios.c: Likewise.
29079 * commands/efi/fixvideo.c: Likewise.
29080 * commands/halt.c: Likewise.
29081 * commands/help.c: Likewise.
29082 * commands/reboot.c: Likewise.
29083 * hello/hello.c: Likewise.
29084 * script/sh/main.c: Likewise.
29085 * loader/xnu.c: Likewise.
29086 * term/terminfo.c: Likewise.
29087 * term/i386/pc/serial.c: Likewise.
29088 * term/usb_keyboard.c: Likewise.
29089
515b5079 290902009-05-03 David S. Miller <davem@davemloft.net>
29091
29092 * normal/menu.c: Include grub/parser.h
29093
dfc31a22 290942009-05-03 Pavel Roskin <proski@gnu.org>
29095
2fee74f1 29096 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29097 not char*.
29098 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29099 Suggested by Javier Martín <lordhabbit@gmail.com>
29100
dfc31a22 29101 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29102 efiemu??.o doesn't exist.
29103 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29104 copying.
29105
18f547ad 291062009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 29107
29108 FreeBSD 64-bit support
29109
18f547ad 29110 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 29111 and loader/i386/bsd_trampoline.S
29112 (bsd_mod_ASFLAGS): new variable
29113 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29114 (FREEBSD_MODTYPE_KERNEL64): likewise
29115 (grub_bsd64_trampoline_start): likewise
29116 (grub_bsd64_trampoline_end): likewise
29117 (grub_bsd64_trampoline_selfjump): likewise
29118 (grub_bsd64_trampoline_gdt): likewise
29119 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29120 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29121 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29122 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 29123 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 29124 of "attrib" member
29125 * loader/i386/bsd_pagetable.c: new file
29126 * loader/i386/bsd_trampoline.S: likewise
29127 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29128 (ALIGN_VAR): likewise
29129 (entry_hi): new variable
29130 (kern_end_mdofs): likewise
29131 (is_64bit): likewise
29132 (grub_freebsd_add_meta): use ALIGN_VAR
29133 (grub_e820_mmap): new declaration
29134 (grub_freebsd_add_mmap): new function
29135 (grub_freebsd_add_meta_module): support 64 bit kernels
29136 (grub_freebsd_list_modules): use ALIGN_VAR
29137 (gdt_descriptor): new declaration
29138 (grub_freebsd_boot): support 64 bit kernels
29139 (grub_bsd_elf64_hook): new function
29140 (grub_bsd_load_elf): support elf64
29141
038c5720 291422009-05-03 Bean <bean123ch@gmail.com>
29143
29144 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
29145 after we get the result of if statement.
29146
fc45fb58 291472009-05-03 Bean <bean123ch@gmail.com>
29148
29149 * Makefile.in (enable_efiemu): New variable.
29150
29151 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29152 set.
29153 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29154 path.
29155 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29156 path, add -mno-red-zone option.
29157 (efiemu64_s.o): Likewise.
29158 (efiemu64.o): Use macro $^ for source file.
29159
29160 * configure.ac (--enable-efiemu): New option.
29161
bbee0f2b 291622009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29163
29164 xnu support
29165
29166 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29167 (pkglib_MODULES): add xnu.mod
29168 (xnu_mod_SOURCES): new variable
29169 (xnu_mod_CFLAGS): likewise
29170 (xnu_mod_LDFLAGS): likewise
29171 (xnu_mod_ASFLAGS): likewise
29172 * conf/i386-pc.rmk: likewise
29173 * conf/x86_64-efi.rmk: likewise
7dd4a573 29174 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 29175 new declaration
29176 * include/grub/i386/macho.h: new file
29177 * include/grub/i386/xnu.h: likewise
29178 * include/grub/macho.h: likewise
29179 * include/grub/machoload.h: likewise
29180 * include/grub/x86_64/macho.h: likewise
29181 * include/grub/x86_64/xnu.h: likewise
29182 * include/grub/xnu.h: likewise
29183 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29184 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29185 * loader/i386/efi/xnu.c: new file
29186 * loader/i386/pc/xnu.c: likewise
29187 * loader/i386/xnu.c: likewise
29188 * loader/i386/xnu_helper.S: likewise
29189 * loader/macho.c: likewise
29190 * loader/xnu.c: likewise
29191 * loader/xnu_resume.c: likewise
29192 * util/grub-dumpdevtree: likewise
29193 * include/grub/i386/pit.h: include grub/err.h
29194 (grub_pit_wait): export
29195 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 29196
5caf964d 291972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 Efiemu
7dd4a573 29200
5caf964d 29201 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 29202 _linux_efi, linux_efi.
29203 new files in grub-emu
5caf964d 29204 new targets efiemu32.o and efiemu64.o
29205 * loader/linux_normal_efiemu.c: likewise
29206 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 29207 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 29208 files to copy
29209 * include/grub/autoefi.h: new file
7dd4a573 29210 * include/grub/i386/efiemu.h: likewise
5caf964d 29211 * include/grub/i386/pc/efiemu.h: likewise
29212 * include/grub/efi/api.h: add LL suffix when necessary
29213 new definitions relating to tables
29214 * include/grub/efiemu/efiemu.h: new file
29215 * include/grub/efiemu/runtime.h: likewise
29216 * efiemu/prepare.c: likewise
29217 * efiemu/loadcore_common.c: likewise
29218 * efiemu/loadcore64.c: likewise
29219 * efiemu/runtime/efiemu.sh: likewise
29220 * efiemu/runtime/efiemu.S: likewise
29221 * efiemu/runtime/efiemu.c: likewise
29222 * efiemu/runtime/config.h: likewise
29223 * efiemu/prepare32.c: likewise
29224 * efiemu/main.c: likewise
29225 * efiemu/modules/pnvram.c: likewise
29226 * efiemu/modules/i386: likewise
29227 * efiemu/modules/i386/pc: likewise
29228 * efiemu/modules/acpi.c: likewise
29229 * efiemu/i386/pc/cfgtables.c: likewise
29230 * efiemu/i386/loadcore64.c: likewise
29231 * efiemu/i386/loadcore32.c: likewise
29232 * efiemu/prepare64.c: likewise
29233 * efiemu/loadcore.c: likewise
29234 * efiemu/symbols.c: likewise
29235 * efiemu/mm.c: likewise
29236 * efiemu/loadcore32.c: likewise
7dd4a573 29237
292382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 29239
29240 ACPI spoofing
29241
29242 * commands/acpi.c: new file
29243 * commands/i386/pc/acpi.c: likewise
29244 * commands/efi/acpi.c: likewise
29245 * include/grub/acpi.h: likewise
29246 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
29247 (acpi_mod_SOURCES): new variable
29248 (acpi_mod_CFLAGS): likewise
29249 (acpi_mod_LDFLAGS): likewise
29250 * conf/i386-efi.rmk: likewise
29251 * conf/x86_64-efi.rmk: likewise
29252
7dd4a573 292532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 29254
29255 Missing part from mmap patch
29256
29257 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
29258 (grub_mmap_unregister)
29259 (grub_mmap_free_and_unregister): use grub_mmap_register
29260
7dd4a573 292612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 29262
29263 Mmap services
29264
29265 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
29266 * loader/i386/linux.c (find_mmap_size): likewise
29267 (allocate_pages): likewise
29268 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
29269 (grub_fill_multiboot_mmap): likewise
29270 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
29271 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
29272 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
29273 (OPENBSD_MMAP_RESERVED): likewise
29274 * include/grub/i386/pc/memory.h: include grub/memory.h
29275 (grub_lower_mem): removed
29276 (grub_upper_mem): likewise
29277 (GRUB_MACHINE_MEMORY_ACPI): new definition
29278 (GRUB_MACHINE_MEMORY_NVS): likewise
29279 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
29280 (GRUB_MACHINE_MEMORY_HOLE): likewise
29281 (grub_machine_mmap_register): likewise
29282 (grub_machine_mmap_unregister): likewise
29283 (grub_machine_get_upper): likewise
29284 (grub_machine_get_lower): likewise
29285 (grub_machine_get_post64): likewise
29286 * include/grub/i386/efi/memory.h: new file
29287 * include/grub/x86_64/efi/memory.h: likewise
29288 * include/grub/efi/memory.h: likewise
29289 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
29290 (mmap_mod_SOURCES): new variable
29291 (mmap_mod_LDFLAGS): likewise
29292 (mmap_mod_ASFLAGS): likewise
29293 * conf/i386-coreboot.rmk: likewise
29294 * conf/i386-ieee1275.rmk: likewise
29295 * conf/i386-efi.rmk: likewise
29296 * conf/x86_64-efi.rmk: likewise
29297 * include/grub/types.h (UINT_TO_PTR): new macro
29298 (PTR_TO_UINT32): likewise
29299 (PTR_TO_UINT64): likewise
29300 * include/grub/memory.h: new file
29301 * mmap/i386/pc/mmap.c: likewise
29302 * mmap/i386/pc/mmap_helper.S: likewise
29303 * mmap/i386/uppermem.c: likewise
29304 * mmap/mmap.c: likewise
29305 * mmap/efi/mmap.c: likewise
7dd4a573 29306 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 29307 grub_upper_mem
29308 * kern/i386/pc/init.c (grub_lower_mem): removed variable
29309 (grub_upper_mem): likewise
29310 (grub_machine_init): don't use grub_upper_mem,
29311 make grub_lower_mem local
29312 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
29313 grub_mmap_iterate and grub_mmap_get_upper
29314 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
29315
d558e6b5 293162009-05-02 Bean <bean123ch@gmail.com>
29317
29318 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
29319 script/sh/parser.y.
29320 (pkglib_MODULES): Add normal.mod and sh.mod.
29321 (normal_SOURCES): New variable.
29322 (normal_mod_CFLAGS): Likewise.
29323 (normal_mod_LDFLAGS): Likewise.
29324 (sh_mod_SOURCES): Likewise.
29325 (sh_mod_CFLAGS): Likewise.
29326 (sh_mod_LDFLAGS): Likewise.
29327
29328 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
29329 script/sh/lexer.c_DEPENDENCIES.
29330 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
29331 kern/rescue_reader.c and kern/rescue_parser.c.
29332 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
29333 (grub_emu_SOURCES): Change source files.
29334 (pkglib_MODULES): Remove normal.mod.
29335 (normal_SOURCES): Removed.
29336 (normal_mod_CFLAGS): Likewise.
29337 (normal_mod_LDFLAGS): Likewise.
29338 * conf/i386-coreboot.rmk: Likewise.
29339 * conf/i386-efi.rmk: Likewise.
29340 * conf/i386-ieee1276.rmk: Likewise.
29341 * conf/powerpc-ieee1275.rmk: Likewise.
29342 * conf/sparc64-ieee1275.rmk: Likewise.
29343 * conf/x86_64-efi.rmk: Likewise.
29344
29345 * include/grub/command.h (grub_command_execute): New inline function.
29346
29347 * include/grub/menu.h (grub_menu_entry): Removed commands field.
29348
29349 * include/grub/normal.h: Remove <grub/setjmp.h>.
29350 (grub_fs_module_list): Moved to normal/autofs.c.
29351 (grub_exit_env): Removed.
29352 (grub_command_execute): Likewise.
29353 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
29354 parameter script.
29355 (read_command_list): New function declaration.
29356 (read_fs_list): Likewise.
29357
29358 * include/parser.h: Include <grub/reader.h>.
29359 (grub_parser_split_cmdline): Change type of getline parameter.
29360 (grub_parser): New structure.
29361 (grub_parser_class): New variable.
29362 (grub_parser_execute): New function declaration.
29363 (grub_register_rescue_parser): Likewise.
29364 (grub_parser_register): New inline function.
29365 (grub_parser_unregister): Likewise.
29366 (grub_parser_get_current): Likewise.
29367 (grub_parser_set_current): Likewise.
29368
29369 * include/grub/reader.h: New file.
29370 * kern/reader.c: Likewise.
29371 * kern/rescue_parser.c: Likewise.
29372 * kern/rescue_reader.c: Likewise.
29373 * normal/autofs.c: Likewise.
29374 * normal/dyncmd.c: Likewise.
29375
29376 * include/grub/rescue.h: Removed.
29377 * normal/command.h: Likewise.
29378
29379 * include/grub/script.h: Moved to ...
29380 * include/grub/script_sh.h: ... Moved here.
29381 * normal/execute.c: Moved to ...
29382 * script/sh/execute.c: ... Moved here.
29383 * normal/function.c: Moved to ...
29384 * script/sh/function.c: ... Moved here.
29385 * normal/lexer.c: Moved to ...
29386 * script/sh/lexer.c: ... Moved here.
29387 * normal/parser.y: Moved to ...
29388 * script/sh/parser.y: ... Moved here.
29389 * normal/script.c: Moved to ...
29390 * script/sh/script.c: ... Moved here.
29391
29392 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
29393 <grub/reader.h>.
29394 (grub_exit_env): Removed.
29395 (fs_module_list): Moved to normal/autofs.c.
29396 (grub_file_getline): Don't handle comment here.
29397 (free_menu): Skip removed field entry->commands.
29398 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
29399 script parameter.
29400 (read_config_file): Removed nested parameter, change getline function.
29401 (grub_enter_normal_mode): Removed.
29402 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
29403 (read_command_list): Likewise.
29404 (autoload_fs_module): Moved to normal/autofs.c.
29405 (read_fs_list): Likewise.
29406 (reader_nested): New variable.
29407 (grub_normal_execute): Run parser.sh to switch to sh parser.
29408 (grub_cmd_rescue): Removed.
29409 (cmd_normal): Removed.
29410 (grub_cmd_normal): Unregister itself at the beginning. Don't register
29411 rescue command.
29412 (grub_cmdline_run): New function.
29413 (grub_normal_reader_init): Likewise.
29414 (grub_normal_read_line): Likewise.
29415 (grub_env_write_pager): Likewise.
29416 (cmdline): New variable.
29417 (grub_normal_reader): Likewise.
29418 (GRUB_MOD_INIT): Register normal reader and set as current, register
29419 pager hook, register normal command with grub_register_command_prio,
29420 so that it won't show up in command.lst.
29421 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
29422 grub_fs_autoload_hook.
29423
29424 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
29425 (grub_menu_execute_entry): Replace grub_script_execute with
29426 grub_parser_execute, change parameter to grub_command_execute.
29427
29428 * normal/menu_text.c: Remove <grub/script.h>.
29429
29430 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
29431 and <grub/parser.h>.
29432 (run): Change editor_getline to use new parser interface. Change
29433 parameter to grub_command_execute.
29434
29435 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
29436 <grub/reader.h> and <grub/parser.h>.
29437 (grub_load_normal_mode): Execute normal command.
29438 (grub_main): Call grub_register_core_commands,
29439 grub_register_rescue_parser and grub_register_rescue_reader, use
29440 grub_reader_loop to enter input loop.
29441
7dd4a573 29442 * kern/parser.c (grub_parser_split_cmdline): Change type of
29443 getline parameter.
d558e6b5 29444 (grub_parser_class): New variable.
29445 (grub_parser_execute): New function.
29446
29447 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
29448 * loader/multiboot2.c: Likewise.
29449 * loader/sparc64/ieee1275/linux.c: Likewise.
29450
29451 * util/grub-emu.c (read_command_list): New dummy function.
29452
18db813d 294532009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29454
29455 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
29456 count to 16 for CCISS and IDA.
29457
6c67de15 294582009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29459
29460 * normal/menu_text.c (grub_wait_after_message): Print a newline
29461 after waiting for user input.
29462
29463 * loader/i386/linux.c: Include `<grub/normal.h>'.
29464 (grub_cmd_linux): Improve the error message about `ask' mode, by
29465 waiting for user input so it's not missed (we can do this, since
29466 user requested interaction).
29467
d9dc87b0 294682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29469
29470 Added missing lst to grub-mkrescue
29471
29472 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
29473 and ${input_dir}/parttool.lst
29474
ac8a2baa 294752009-04-30 David S. Miller <davem@davemloft.net>
29476
ad22a610 29477 * util/hostdisk.c (device_is_wholedisk): New function.
29478 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
29479 zero only if device_is_wholedisk() returns true.
29480
6966215d 29481 * util/hostdisk.c (convert_system_partition_to_system_disk):
29482 Handle virtual disk devices named /dev/vdiskX as found on sparc
29483 and powerpc.
29484
ac8a2baa 29485 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
29486 lettered partition specifier is found, convert to numbered.
29487
979b4fb4 294882009-04-29 David S. Miller <davem@davemloft.net>
29489
e2bf39b2 29490 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
29491 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29492
3c64e104 29493 * normal/command.c: Add missing newline at end of file.
29494
979b4fb4 29495 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
29496 warnings.
29497 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
29498 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
29499 grub_ofdisk_read): Likewise, and deal similarly with the fact that
29500 ihandles have a 32-bit type but need to be stored in a "void *".
29501
136d9f82 295022009-04-28 Pavel Roskin <proski@gnu.org>
29503
9459c306 29504 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
29505 not disk. Adjust all dependencies.
2e08a26a 29506 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 29507 grub_disk_close().
29508
136d9f82 29509 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
29510 parent's partition, don't copy it by reference, as it gets freed
29511 on close.
29512
7dd4a573 295132009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 29514
29515 Preboot hooks support
29516
29517 * commands/boot.c (struct grub_preboot_t): new declaration
29518 (preboots_head): new variable
29519 (preboots_tail): likewise
29520 (grub_loader_register_preboot_hook): new function
29521 (grub_loader_unregister_preboot_hook): likewise
29522 (grub_loader_set): launch preboot hooks
29523 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
29524 (grub_loader_register_preboot_hook): new declaration
29525 (grub_loader_unregister_preboot_hook): likewise
29526
5af922b5 295272009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29528
29529 Warning fix
29530
7dd4a573 29531 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 29532 calling grub_dprintf
29533
a5562c30 295342009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
29535
29536 Bug and warning fixes
29537
7dd4a573 29538 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 29539 declaration
29540 * commands/test.c (test_parse): fixed bug with file tests and corrected
29541 declaration of find_file
29542
4006f85c 295432009-04-26 Pavel Roskin <proski@gnu.org>
29544
29545 * Makefile.in: Don't install empty manual pages if help2man is
29546 missing. Use help2man option for output, not shell redirection.
29547
5c77c3de 295482009-04-26 David S. Miller <davem@davemloft.net>
29549
29550 * util/grub-mkdevicemap.c (make_device_map): Add missing
29551 NESTED_FUNC_ATTR to process_device().
29552
033b10a8 295532009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29554
29555 Test command
29556
29557 * commands/test.c: rewritten to use bash-like test
29558
e4343593 295592009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29560
29561 Parttool autoloading and improvements
29562
7dd4a573 29563 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 29564 (parttool.lst): new target
29565 * genmk.rb: generate parttool-*
29566 (CLEANFILES): add #{parttool}
29567 (PARTTOOLFILES): new variable
29568 * genparttoollist.sh: new file
7dd4a573 29569 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 29570 (grub_pcpart_type): likewise
29571 * commands/parttool.c (helpmsg): new variable
29572 (grub_cmd_parttool): output help if not enough arguments are supplied
29573 autoload modules
29574 (GRUB_MOD_INIT(parttool)): use helpmsg
29575
0d312500 295762009-04-24 David S. Miller <davem@davemloft.net>
29577
7dd4a573 29578 Avoiding opening same device multiple times in device iterator.
0d312500 29579
29580 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 29581 and use it to build a list of partitions in iterate_disk() and
0d312500 29582 iterate_partition().
29583
ac20caff 29584 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
29585 on disk->data.
29586
0dcf7495 29587 * disk/ieee1275/nand.c (grub_nand_iterate): Return
29588 grub_devalias_iterate() result instead of unconditional 0.
29589 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
29590 Also, capture hook return value, either directly or via
29591 grub_children_iterate(), and propagate to caller.
29592 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29593 grub_children_iterate): Return value is now 'int' instead of
29594 'grub_err_t'.
29595 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29596 like a proper iterator, stopping when hooks return non-zero.
29597 (grub_devalias_iterate): Likewise.
29598
c8c08833 295992009-04-23 David S. Miller <davem@davemloft.net>
29600
29601 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29602
f01005a8 296032009-04-22 David S. Miller <davem@davemloft.net>
29604
29605 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29606 is larger than address_cells, use that value for address_cells too.
29607
4e8269da 29608 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29609 IEEE1275_MAX_PATH_LEN): Define.
29610 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29611 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29612 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29613 'devtype'. Explicitly NULL terminate devalias expansion.
29614
a1447506 29615 * util/sparc64/ieee1275/misc.c: New file.
29616 * util/sparc64/ieee1275/grub-setup.c: New file.
29617 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29618 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29619 * util/sparc64/ieee1275/grub-install.in: New file.
29620 * util/ieee1275/ofpath.c: New file.
29621 * util/ieee1275/devicemap.c: New file.
29622 * util/devicemap.c: New file.
29623 * util/deviceiter.c: New file.
29624 * kern/sparc64/ieee1275/init.c: New file.
29625 * include/grub/util/ofpath.h: New file.
29626 * include/grub/util/deviceiter.h: New file.
29627 * util/grub-mkdevicemap.c: Include deviceiter.h.
29628 Implement using grub_util_emit_devicemap_entry and
29629 grub_util_iterate_devices.
29630 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29631 util/devicemap.c into grub-mkdevicemap
29632 * conf/i386-efi.rmk: Likewise.
29633 * conf/i386-ieee1275.rmk: Likewise.
29634 * conf/i386-pc.rmk: Likewise.
29635 * conf/powerpc-ieee1275.rmk: Likewise.
29636 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29637 images and installation utilities. Build kernel as image
29638 instead of as elf binary. Use common rules as much as possible.
29639
7dd4a573 296402009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29641
29642 Correct GPT definition
29643
7dd4a573 29644 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29645 of "attrib" member
29646
c6c5219f 296472009-04-19 Felix Zielcke <fzielcke@z-51.de>
29648
29649 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29650
0552ff9f 296512009-04-19 David S. Miller <davem@davemloft.net>
29652
29653 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29654 (grub_rescue_cmd_linux): Rename to...
29655 (grub_cmd_linux): and fix prototype.
29656 (grub_rescue_cmd_initrd): Rename to...
29657 (grub_cmd_initrd): and fix prototype.
29658 (cmd_linux, cmd_initrd): New.
29659 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29660 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29661
d1a282fc 296622009-04-17 Pavel Roskin <proski@gnu.org>
29663
07c5039f 29664 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29665 format.
29666 (grub_ohci_transfer): Likewise.
29667
b012002d 29668 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29669
1bc09c35 29670 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29671 return without a value. Fix inconsistent indentation.
29672
e0ff9126 29673 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29674 match struct grub_fs.
29675
d1a282fc 29676 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29677 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29678 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29679 * commands/lspci.c (grub_lspci_iter): Likewise.
29680
a96df3f2 296812009-04-16 Bean <bean123ch@gmail.com>
29682
29683 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29684 value.
29685
41bb0fe9 296862009-04-15 Pavel Roskin <proski@gnu.org>
29687
29688 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29689 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29690 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29691 definitions.
29692
596c6970 296932009-04-15 Felix Zielcke <fzielcke@z-51.de>
29694
29695 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29696 that no multiple data or metadata areas are supported and `Unknown
596c6970 29697 metadata header'.
29698
7dd4a573 296992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29700
29701 Move loader out of the kernel
29702
29703 * kern/loader.c: moved to ...
29704 * commands/boot.c: ... moved here
29705 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29706 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29707 * include/grub/kernel.h (grub_machine_fini): export
29708 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29709 (grub_loader_set): likewise
29710 (grub_loader_unset): likewise
29711 (grub_loader_boot): likewise
29712 * conf/common.rmk: new module boot.mod
29713 (pkglib_MODULES): add boot.mod
29714 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29715 (grub_emu_SOURCES): likewise
29716 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29717 (grub_emu_SOURCES): likewise
29718 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29719 (grub_emu_SOURCES): likewise
29720 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29721 (grub_emu_SOURCES): likewise
29722 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29723 (grub_emu_SOURCES): likewise
7dd4a573 29724 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29725 (grub_emu_SOURCES): likewise
0d5d5653 29726 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29727 (grub_emu_SOURCES): likewise
0d5d5653 29728
7dd4a573 297292009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29730
29731 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29732
5999d619 29733 * kern/misc.c (grub_itoa): Removed function
29734 (grub_ltoa): likewise
29735 (grub_vsprintf): use grub_lltoa
29736
7dd4a573 297372009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29738
29739 Restore grub-emu
29740
29741 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29742 * conf/i386-coreboot.rmk: likewise
29743 * conf/i386-ieee1275.rmk: likewise
29744 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29745
20318222 297462009-04-15 Felix Zielcke <fzielcke@z-51.de>
29747
29748 * INSTALL: Add that `./autogen.sh' needs to be run before
29749 `./configure.'.
29750
d05f0df3 297512009-04-14 Bean <bean123ch@gmail.com>
29752
29753 * Makefile.in (pkglib_DATA): Add handler.lst.
29754 (handler.lst): New rule.
29755
29756 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29757 * conf/i386-coreboot.rmk: Likewise.
29758 * conf/i386-ieee1275.rmk: Likewise.
29759 * conf/i386-efi.rmk: Likewise.
29760 * conf/x86_64-efi.rmk: Likewise.
29761 * conf/powerpc-ieee1275.rmk: Likewise.
29762 * conf/sparc64-ieee1275.rmk: Likewise.
29763
29764 * genhandlerlist.sh: New file.
29765
29766 * genmk.rb: Add rules to generate handler.lst.
29767
29768 * include/grub/normal.h (grub_file_getline): New function definition.
29769 (read_handler_list): Likewise.
29770 (free_handler_list): Likewise.
29771
29772 * include/grub/term.h (grub_term_register_input): Add name parameter
29773 for auto generation of handler.lst.
29774 (grub_term_register_output): Likewise.
29775
29776 * normal/handler.c: New file.
29777
29778 * normal/main.c (get_line): Renamed to grub_file_getline.
29779 (read_config_file): Use the newly renamed grub_file_getline.
29780 (read_command_list): Likewise.
29781 (read_fs_list): Likewise.
29782 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29783 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29784
29785 * term/efi/console.c (grub_console_init): Add name parameter for auto
29786 generation of handler.lst.
29787 * term/gfxterm.c: Likewise.
29788 * term/i386/pc/at_keyboard.c: Likewise.
29789 * term/i386/pc/console.c: Likewise.
29790 * term/i386/pc/serial.c: Likewise.
29791 * term/i386/pc/vesafb.c: Likewise.
29792 * term/i386/pc/vga.c: Likewise.
29793 * term/i386/pc/vga_text.c: Likewise.
29794 * term/ieee1275/ofconsole.c: Likewise.
29795 * term/usb_keyboard.c: Likewise.
29796
33c846be 297972009-04-14 Bean <bean123ch@gmail.com>
29798
29799 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29800 properly with null character.
29801
4484e01e 298022009-04-14 Felix Zielcke <fzielcke@z-51.de>
29803
29804 * configure: Remove.
29805 * config.h.in: Likewise.
f93d668e 29806 * stamp-h.in: Likewise.
4484e01e 29807 * DISTLIST: Likewise.
29808 * conf/common.mk: Likewise.
29809 * conf/i386-coreboot.mk: Likewise.
29810 * conf/i386-efi.mk: Likewise.
29811 * conf/i386-ieee1275.mk: Likewise.
29812 * conf/i386.mk: Likewise.
29813 * conf/i386-pc.mk: Likewise.
29814 * conf/powerpc-ieee1275.mk: Likewise.
29815 * conf/sparc64-ieee1275.mk: Likewise.
29816 * conf/x86_64-efi.mk: Likewise.
29817
29818 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29819 develop on GRUB.
29820
7dd4a573 298212009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29822 David S. Miller <davem@davemloft.net>
29823
29824 * util/hostdisk.c (make_device_name): Fix buffer length
29825 calculations.
29826
e25b5a8c 298272009-04-14 Felix Zielcke <fzielcke@z-51.de>
29828
29829 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29830 <sys/param.h> and <sys/sysctl.h>.
29831 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29832 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29833 opening the device and reset them afterwards.
29834
1f1f580c 298352009-04-13 Pavel Roskin <proski@gnu.org>
29836
29837 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29838 Reported by John Stanley <jpsinthemix@verizon.net>
29839
7ebc2d6b 298402009-04-13 Robert Millan <rmh@aybabtu.com>
29841
29842 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29843 that name for menuentries when appropriate.
7ebc2d6b 29844
d8ba3667 298452009-04-13 Felix Zielcke <fzielcke@z-51.de>
29846
29847 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29848
cba416eb 298492009-04-13 Robert Millan <rmh@aybabtu.com>
29850
29851 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29852 to Linux, simply abort telling the user it's no longer supported.
29853
a547a745 298542009-04-13 Felix Zielcke <fzielcke@z-51.de>
29855
29856 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29857 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29858 `freebsd_loadenv' only when devices.hints exist.
29859
232a769c 298602009-04-13 Pavel Roskin <proski@gnu.org>
29861
29862 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29863
c3012039 298642009-04-13 Felix Zielcke <fzielcke@z-51.de>
29865
29866 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29867 partition number.
29868 (grub_drive): Likewise.
29869
234022fe 298702009-04-13 David S. Miller <davem@davemloft.net>
29871
29872 * kern/sparc64/ieee1275/ieee1275.c: New file.
29873 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29874 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29875 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29876 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29877 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29878 grub_ieee1275_alloc_physmem): Declare new exported functions.
29879
d8e1836c 29880 * include/grub/sparc64/ieee1275/loader.h: New file.
29881 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29882 * include/grub/sparc64/kernel.h: Likewise.
29883 * loader/sparc64/ieee1275/linux.c: Likewise.
29884
96bd81ec 29885 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29886 (grub_fstest_SOURCES): Likewise.
29887
6a4737e5 29888 * util/hostdisk.c (make_device_name): Do not make any assumptions
29889 about the length of drive names.
29890
1d7a72fd 29891 * kern/dl.c (grub_dl_load_file): Close file immediately when
29892 we are done using it.
29893
56bc2471 298942009-04-12 David S. Miller <davem@davemloft.net>
29895
29896 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29897 values. Noticed by Pavel Roskin.
29898
df38d0bb 29899 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29900 target compiler.
7dd4a573 29901
e382e93a 29902 * genmk.rb: Add more flexible image type specification, also
29903 pass --strip-unneeded to objcopy.
29904 * conf/i386-pc.rmk: Use *_FORMAT.
29905 * conf/i386-pc.mk: Rebuilt.
29906
f5dbbca9 29907 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29908 (OFDISK_HASH_SZ): Define.
29909 (ofdisk_hash): New hash table.
29910 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29911 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29912 instead of device phandle which is not unique.
29913
91c88b12 29914 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29915 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29916 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29917 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29918 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29919 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29920 GRUB_KERNEL_MACHINE_DATA_END): Define.
29921 (grub_kernel_image_size, grub_total_module_size): Declare.
29922
5b5d4aa5 299232009-04-12 Pavel Roskin <proski@gnu.org>
29924
7dd4a573 29925 * configure.ac: Change the logic when we check for target tools.
29926 Do it when the target is specified and it's different from the
29927 specified value of the host.
5b5d4aa5 29928
c91e1793 299292009-04-11 Felix Zielcke <fzielcke@z-51.de>
29930
29931 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29932 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29933 GNU/kFreeBSD. Check if a device is a character device. Use
29934 DIOCGMEDIASIZE to get the size.
29935 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29936 support for GNU/kFreeBSD.
29937 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29938 is a character device instead of a block device. Add support for
29939 FreeBSD device names.
29940
29941 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29942 is a character device instead of a block device.
29943
29944 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29945 is a character device instead of a block device.
29946
b1ac8644 299472009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29948
29949 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29950 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29951 FreeBSD. Check if a device is a character device. Use
29952 DIOCGMEDIASIZE to get the size.
29953 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29954 support for FreeBSD.
29955 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29956 is a character device instead of a block device. Add support for
29957 FreeBSD device names.
29958
29959 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29960 a character device instead of a block device.
29961 (grub_util_check_char_device): New function.
29962
29963 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29964 a character device instead of a block device.
29965
29966 * include/grub/util/getroot.h (grub_util_check_char_device): New
29967 prototype.
29968
a3f7515a 299692009-04-11 David S. Miller <davem@davemloft.net>
29970
29971 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29972 static libgcc.
29973 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29974 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29975 function, if present.
29976 (__bswapdi2): Likewise.
29977
0d44993d 29978 * include/grub/sparc64/ieee1275/boot.h: New file.
29979 * boot/sparc64/ieee1275/boot.S: Likewise.
29980 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29981
ed3d2bc2 29982 * kern/misc.c (grub_ltoa): New function.
29983 (grub_vsprintf): Use it to format 'long' integers.
29984
d3bfb59c 299852009-04-10 David S. Miller <davem@davemloft.net>
29986
29987 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29988 slots are of type grub_ieee1275_cell_t.
29989 (grub_nand_read): Likewise.
29990 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29991 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29992 macros are used to compare values in arg/ret block of the call.
29993 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29994 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29995 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29996 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29997 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29998 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29999 grub_ieee1275_close, grub_ieee1275_set_property,
30000 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30001 grub_ieee1275_cell_t.
30002 * kern/ieee1275/openfw.c (grub_map): Likewise.
30003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30004 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30005
450e2238 30006 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30007 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30008 (grub_devalias_iterate): Likewise.
30009
7dd4a573 300102009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 30011
30012 UFS improvements
30013
30014 * fs/ufs.c (INODE_NBLOCKS): new definition
30015 (struct grub_ufs_dirent): added fields for non-BSD dirents
30016 (grub_ufs_get_file_block): fixed double indirect handling
30017 (grub_ufs_lookup_symlink): use more robust way to determine whether
30018 symlink is inline
30019 (grub_ufs_find_file): support for non-BSD dirents
30020 (grub_ufs_dir): support for non-BSD dirents
30021
e7e6862a 300222009-04-10 Bean <bean123ch@gnail.com>
30023
30024 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30025 attribute, otherwise the size would be wrong for i386 platform.
30026
30027 * include/grub/pci.h (grub_pci_read_word): New inline function.
30028 (grub_pci_read_byte): Likewise.
30029 (grub_pci_write): Likewise.
30030 (grub_pci_write_word): Likewise.
30031 (grub_pci_write_byte): Likewise.
30032
30033 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30034
30035 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30036 (find_framebuf): Scan pci to locate the frame buffer address.
30037
30038 * commands/efi/fixvideo.c: New file.
30039
30040 * commands/efi/loadbios.c: Likewise.
30041
30042 * commands/memrw.c: Likewise.
30043
30044 * util/grub-dumpbios.in: Likewise.
30045
30046 * conf/common.rmk (grub-dumpbios): New utility.
30047 (pkglib_MODULES): New module memrw.mod.
30048 (memrw_mod_SOURCE): New macro.
30049 (memrw_mod_CFLAGS): Likewise.
30050 (memrw_mod_LDFLAGS): Likewise.
30051
7dd4a573 30052 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30053 fixvideo.mod.
30054 (loadbios_mod_SOURCE): New macro.
30055 (loadbios_mod_CFLAGS): Likewise.
30056 (loadbios_mod_LDFLAGS): Likewise.
30057 (fixvideo_mod_SOURCE): Likewise.
30058 (fixvideo_mod_CFLAGS): Likewise.
30059 (fixvideo_mod_LDFLAGS): Likewise.
30060
7dd4a573 30061 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30062 fixvideo.mod.
30063 (loadbios_mod_SOURCE): New macro.
30064 (loadbios_mod_CFLAGS): Likewise.
30065 (loadbios_mod_LDFLAGS): Likewise.
30066 (fixvideo_mod_SOURCE): Likewise.
30067 (fixvideo_mod_CFLAGS): Likewise.
30068 (fixvideo_mod_LDFLAGS): Likewise.
30069
af63ada2 300702009-04-08 Felix Zielcke <fzielcke@z-51.de>
30071
30072 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30073
c2cdde70 300742009-04-07 David S. Miller <davem@davemloft.net>
30075
30076 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30077 support for R_SPARC_OLO10 relocations. Fix compile warning for
30078 R_SPARC_WDISP30 case.
ea3f72cf 30079 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 30080
761319cf 300812009-04-06 Pavel Roskin <proski@gnu.org>
30082
1007d1f5 30083 * include/grub/misc.h (ARRAY_SIZE): New macro.
30084 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30085 New macro.
30086 * loader/i386/linux.c (allocate_pages): Use free_pages().
30087 (grub_linux_unload): Don't use free_pages().
30088 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30089 wrong index. Treat all other modes as text modes.
30090 (grub_cmd_linux): Initialize vid_mode unconditionally to
30091 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30092
761319cf 30093 * commands/help.c (print_command_help): Use cmd->prio, not
30094 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30095
ea761d40 300962009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 30097
ea761d40 30098 Parttool
30099
30100 * parttool/pcpart.c: new file
30101 * commands/parttool.c: likewise
30102 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30103 (parttool_mod_SOURCES): new variable
30104 (parttool_mod_CFLAGS): likewise
30105 (parttool_mod_LDFLAGS): likewise
30106 (pcpart_mod_SOURCES): likewise
30107 (pcpart_mod_CFLAGS): likewise
30108 (pcpart_mod_LDFLAGS): likewise
7dd4a573 30109 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 30110 and parttool/pcpart.c
30111 * conf/i386-efi.rmk: likewise
30112 * conf/i386-ieee1275.rmk: likewise
30113 * conf/i386-pc.rmk: likewise
30114 * conf/powerpc-ieee1275.rmk: likewise
30115 * conf/sparc64-ieee1275.rmk: likewise
30116 * conf/x86_64-ieee1275.rmk: likewise
30117
05aaebfb 301182009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30119
30120 Support for mtime and further expandability of dir command
30121
30122 * include/grub/lib/datetime.h: moved to ...
7dd4a573 30123 * include/grub/datetime.h: ... moved here and added
05aaebfb 30124 declaration of grub_unixtime2datetime. All users updated
7dd4a573 30125 * include/grub/fs.h: new syntax for dir and mtime functions in
30126 struct grub_fs
05aaebfb 30127 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30128 and GRUB_FSHELP_FLAGS_MASK
30129 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30130 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30131 (grub_ext2_mtime): new function
30132 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30133 (grub_hfsplus_mtime): new function
30134 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30135 (GRUB_UFS_ATTR_FILE): likewise
30136 (GRUB_UFS_ATTR_LNK): likewise
30137 (struct grub_ufs_sblock): new fields mtime
30138 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30139 all users updated
30140 (grub_ufs_dir): mtime support
30141 (grub_ufs_mtime): new function
30142 * fs/affs.c (grub_affs_dir): use new dir syntax
30143 * fs/afs.c (grub_afs_dir): likewise
30144 * fs/cpio.c (grub_cpio_dir): likewise
30145 * fs/fat.c (grub_fat_find_dir): likewise
30146 * fs/hfs.c (grub_hfs_dir): likewise
30147 * fs/iso9660.c (grub_iso9660_dir): likewise
30148 * fs/jfs.c (grub_jfs_dir): likewise
30149 * fs/minix.c (grub_minix_dir): likewise
30150 * fs/ntfs.c (grub_ntfs_dir): likewise
30151 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30152 * fs/sfs.c (grub_sfs_dir): likewise
30153 * fs/xfs.c (grub_xfs_dir): likewise
30154 * util/hostfs.c (grub_hostfs_dir): likewise
30155 * lib/datetime.c: moved to ...
30156 * normal/datetime.c: ... moved here
30157 (grub_unixtime2datetime): new function
30158 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 30159 * normal/completion.c (iterate_dir): use new dir syntax
30160 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 30161 last modification time of a volume
7dd4a573 30162 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 30163 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 30164 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 30165 (normal_mod_SOURCES): likewise
30166 (datetime_mod_SOURCES): Removed lib/datetime.c
30167 * conf/i386-efi.rmk: likewise
7dd4a573 30168 * conf/i386-ieee1275.rmk: likewise
05aaebfb 30169 * conf/i386-pc.rmk: likewise
30170 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30171 * conf/sparc64-ieee1275.rmk: likewise
30172 * conf/x86_64-efi.rmk: likewise
05aaebfb 30173
8a7e1a14 301742009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30175
30176 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 30177
30178 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 30179 on grub_fat_find_dir
30180 (grub_fat_find_dir): use grub_fat_iterate_dir
30181 (grub_fat_label): likewise
30182
04186a9c 301832009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30184
7dd4a573 30185 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 30186 and command.h
30187 remove extraneous kernel_elf_HEADERS
30188
da4c0bb6 301892009-04-04 Bean <bean123ch@gnail.com>
30190
30191 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30192
30193 * util/misc.c: Likewise.
30194
54ad9555 301952009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30196
30197 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30198 instead of grub_printf.
30199
7a6bf9f2 302002009-04-03 Robert Millan <rmh@aybabtu.com>
30201
30202 * loader/i386/linux.c (grub_linux_setup_video): Fill
30203 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30204 values from `mode info' structure instead of hardcoded
30205 values.
30206
3fcc2083 302072009-04-01 Pavel Roskin <proski@gnu.org>
30208
30209 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30210 unused now.
30211 * genmk.rb: Likewise.
30212 * configure.ac: Likewise.
30213
5ec9740b 302142009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30215
30216 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30217 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30218
5270cec8 302192009-04-01 David S. Miller <davem@davemloft.net>
30220
30221 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 30222 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 30223 (grub_setjmp): Mark with 'returns_twice' attribute.
30224 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
30225 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
30226 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
30227
9c3dd854 302282009-04-01 Robert Millan <rmh@aybabtu.com>
30229
30230 Reapply fix from 2008-07-28 which was accidentally reverted; also
30231 perform the same fix to a similar check in same function.
30232
30233 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30234 with the same number are found, just use issue a warning with
30235 grub_dprintf(), as this error has been reported to be non-fatal.
30236
0d818b7e 302372009-03-31 Pavel Roskin <proski@gnu.org>
30238
30239 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
30240 for cross-compilation.
30241
95646d92 302422009-03-30 Robert Millan <rmh@aybabtu.com>
30243
30244 Fix i386-ieee1275 build.
30245
30246 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
30247 Remove declaration.
30248
6a003ed1 302492009-03-30 Pavel Roskin <proski@gnu.org>
30250
30251 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
30252 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
30253 zero-terminated, rely only on the strlen value. Fix comparison
30254 of strings differing in length.
30255
92f33540 302562009-03-30 Robert Millan <rmh@aybabtu.com>
30257
30258 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
30259 checking for abi version. Improve error messages on BIOS to notify
30260 user about `linux16' command.
30261
a8c48fd5 302622009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
30263
f968172e 30264 Leak fixes
a8c48fd5 30265
f968172e 30266 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
30267 in case of collision
30268 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 30269
9c323f09 302702009-03-29 Robert Millan <rmh@aybabtu.com>
30271
30272 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
30273 set `vid_mode' accordingly.
30274 (grub_linux_boot): Process `vid_mode' and set video mode.
30275
ae68f423 302762009-03-29 Robert Millan <rmh@aybabtu.com>
30277
30278 * util/grub.d/10_linux.in (linux_entry): New function.
30279 Factorize generation of Linux boot entries.
30280
5709cfc4 302812009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
30282
30283 Make the format of Environment Block plain text. The boot loader
30284 part is not tested well yet.
7dd4a573 30285
5709cfc4 30286 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
30287 (buffer): Removed.
30288 (envblk): Likewise.
30289 (usage): Remove "info" and "clear". Add "unset". Update the
30290 description of "set", as this does not delete variables any
30291 longer.
30292 (create_envblk_file): Complete rewrite.
30293 (open_envblk_file): Likewise.
30294 (cmd_info): Removed.
30295 (cmd_list): Likewise.
30296 (cmd_set): Likewise.
30297 (cmd_clear): Likewise.
30298 (list_variables): New function.
30299 (write_envblk): Likewise.
30300 (set_variables): Likewise.
30301 (unset_variables): Likewise.
30302 (main): Complete rewrite.
30303
30304 * commands/loadenv.c (buffer): Removed.
30305 (envblk): Likewise.
30306 (open_envblk_file): New function.
30307 (read_envblk_file): Complete rewrite.
30308 (grub_cmd_load_env): Likewise.
30309 (grub_cmd_list_env): Likewise.
30310 (struct blocklist): New struct.
30311 (free_blocklists): New function.
30312 (check_blocklists): Likewise.
30313 (write_blocklists): Likewise.
30314 (grub_cmd_save_env): Complete rewrite.
30315
30316 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
30317 a plain text signature.
30318 (GRUB_ENVBLK_MAXLEN): Removed.
30319 (struct grub_envblk): Complete rewrite.
30320 (grub_envblk_find): Removed.
30321 (grub_envblk_insert): Likewise.
30322 (grub_envblk_open): New prototype.
30323 (grub_envblk_set): Likewise.
30324 (grub_envblk_delete): Put const to VALUE.
30325 (grub_envblk_iterate): Put const to NAME and VALUE.
30326 (grub_envblk_close): New prototype.
30327 (grub_envblk_buffer): New inline function.
30328 (grub_envblk_size): Likewise.
30329
30330 * lib/envblk.c: Include grub/mm.h.
30331 (grub_env_find): Removed.
30332 (grub_envblk_open): New function.
30333 (grub_envblk_close): Likewise.
30334 (escaped_value_len): Likewise.
30335 (find_next_line): Likewise.
30336 (grub_envblk_insert): Removed.
30337 (grub_envblk_set): New function.
30338 (grub_envblk_delete): Complete rewrite.
30339 (grub_envblk_iterate): Likewise.
30340
a9368fd3 303412009-03-28 Robert Millan <rmh@aybabtu.com>
30342
30343 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
30344 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
30345 variables. Use 16-bit loader.
30346 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
30347 loader.
30348 * kern/i386/loader.S (grub_linux_boot): Rename to ...
30349 (grub_linux16_boot): ... this. Update all users.
30350 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
30351 (grub_linux_boot): ... this. Update all users.
30352
30353 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
30354 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
30355 commands to `linux16' and `initrd16'.
30356 (GRUB_MOD_FINI(linux)): Rename to ...
30357 (GRUB_MOD_FINI(linux16)): ... this.
30358
e4dd5a7e 303592009-03-24 Pavel Roskin <proski@gnu.org>
30360
30361 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
30362 not just for compilation.
30363
c04d6e05 303642009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
30365
30366 Move multiboot helper out of kernel
30367
30368 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
30369 `loader/i386/multiboot_helper.S'.
30370 * conf/i386-coreboot.rmk: Likewise
30371 * conf/i386-ieee1275.rmk: Likewise
30372
30373 * kern/i386/loader.S: Move multiboot helpers from here...
30374 * loader/i386/multiboot_helper.S: ...moved here
30375 * include/grub/i386/loader.h: Move declarations of multiboot
30376 helpers from here...
30377 * include/grub/i386/multiboot.h: ...moved here
30378 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
30379
42a5b3fc 303802009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30381
30382 * kern/env.c (grub_env_context_open): Added an argument to specify
30383 whether a new context inherits exported variables from current
30384 one. This is useful when making a sandbox to interpret a config
30385 file.
30386 All callers updated.
30387
30388 * include/grub/env.h (grub_env_context_open): Updated the prototype.
30389
b28bbc4e 303902009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30391
30392 * kern/env.c (grub_env_context_close): Fix memory leaks.
30393
f04f02e4 303942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30395
30396 * normal/main.c (grub_normal_execute): Added an argument
30397 BATCH to specify if an interactive interface should be provided
30398 after reading a config file.
30399 All callers updated.
30400 (read_command_list): Prevent being executed twice.
30401 (read_fs_list): Likewise.
30402
42a5b3fc 30403 * include/grub/normal.h (grub_normal_execute): Updated the
30404 prototype.
f04f02e4 30405
41473ac2 304062009-03-22 Pavel Roskin <proski@gno.org>
30407
fbc00b0c 30408 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
30409 _start.
30410 * kern/i386/pc/startup.S: Likewise.
30411 * kern/i386/efi/startup.S: Likewise.
30412 * kern/i386/ieee1275/startup.S: Likewise.
30413 * kern/i386/coreboot/startup.S: Likewise.
30414 * kern/x86_64/efi/startup.S: Likewise.
30415
41473ac2 30416 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
30417 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
30418 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
30419
2274cc8f 304202009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 Bugfixes in multiboot for bugs uncovered by solaris kernel.
30423
30424 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
30425 limit detection.
30426 Use vaddr of correct segment for entry_point.
30427
b1b797cb 304282009-03-21 Bean <bean123ch@gmail.com>
30429
30430 * commands/blocklist.c: Add include file <grub/command.h>, remove
30431 <grub/normal.h> and <grub/arg.h>.
30432 (grub_cmd_blocklist): Use the new command interface.
30433 (GRUB_MOD_INIT): Likewise.
30434 (GRUB_MOD_FINI): Likewise.
30435 * commands/boot.c: Likewise.
30436 * commands/cat.c: Likewise.
30437 * commands/cmp.c: Likewise.
30438 * commands/configfile.c: Likewise.
30439 * commands/crc.c: Likewise.
30440 * commands/echo.c: Likewise.
30441 * commands/halt.c: Likewise.
30442 * commands/handler.c: Likewise.
30443 * commands/hdparm.c: Likewise.
30444 * commands/help.c: Likewise.
30445 * commands/hexdump.c: Likewise.
30446 * commands/loadenv.c: Likewise.
30447 * commands/ls.c: Likewise.
30448 * commands/lsmmap.c: Likewise.
30449 * commands/lspci.c: Likewise.
30450 * commands/loadenv.c: Likewise.
30451 * commands/read.c: Likewise.
30452 * commands/reboot.c: Likewise.
30453 * commands/search.c: Likewise.
30454 * commands/sleep.c: Likewise.
30455 * commands/test.c: Likewise.
30456 * commands/usbtest.c: Likewise.
30457 * commands/videotest.c: Likewise.
30458 * commands/i386/cpuid.c: Likewise.
30459 * commands/i386/pc/halt.c: Likewise.
30460 * commands/i386/pc/play.c: Likewise.
30461 * commands/i386/pc/pxecmd.c: Likewise.
30462 * commands/i386/pc/vbeinfo.c: Likewise.
30463 * commands/i386/pc/vbetest.c: Likewise.
30464 * commands/ieee1275/suspend.c: Likewise.
30465 * disk/loopback.c: Likewise.
30466 * font/font_cmd.c: Likewise.
30467 * hello/hello.c: Likewise.
30468 * loader/efi/appleloader.c: Likewise.
30469 * loader/efi/chainloader.c: Likewise.
30470 * loader/i386/bsd.c: Likewise.
30471 * loader/i386/efi/linux.c: Likewise.
30472 * loader/i386/ieee1275/linux.c: Likewise.
30473 * loader/i386/linux.c: Likewise.
30474 * loader/i386/pc/chainloader.c: Likewise.
30475 * loader/i386/pc/linux.c: Likewise.
30476 * loader/powerpc/ieee1275/linux.c: Likewise.
30477 * loader/multiboot_loader.c: Likewise.
30478 * term/gfxterm.c: Likewise.
30479 * term/i386/pc/serial.c: Likewise.
30480 * term/terminfo.c: Likewise.
30481
30482 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
30483 * term/i386/pc/vga.c: Likewise.
30484 * video/readers/jpeg.c: Likewise.
30485 * video/readers/png.c: Likewise.
30486 * video/readers/tga.c: Likewise.
30487
30488 * util/grub-fstest (cmd_loopback): Removed.
30489 (cmd_blocklist): Likewise.
30490 (cmd_ls): Likewise.
30491 (grub_register_command): Likewise.
30492 (grub_unregister_command): Likewise.
30493 (execute_command): Use grub_command_find to locate command and execute
30494 it.
30495
30496 * include/grub/efi/chainloader.h: Removed.
30497 * loader/efi/chainloader_normal.c: Likewise.
30498 * loader/i386/bsd_normal.c: Likewise.
30499 * loader/i386/pc/chainloader_normal.c: Likewise.
30500 * loader/i386/pc/multiboot_normal.c: Likewise.
30501 * loader/linux_normal.c: Likewise.
30502 * loader/multiboot_loader_normal.c: Likewise.
30503 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30504
30505 * gencmdlist.sh: Scan new registration command grub_register_extcmd
30506 and grub_register_command_p1.
30507
30508 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
30509 kern/command.c, lib/arg.c and commands/extcmd.c.
30510 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
30511 (minicmd_mod_SOURCES): New variable.
30512 (minicmd_mod_CFLAGS): Likewise.
30513 (minicmd_mod_LDFLAGS): Likewise.
30514 (extcmd_mod_SOURCES): Likewise.
30515 (extcmd_mod_CFLAGS): Likewise.
30516 (extcmd_mod_LDFLAGS): Likewise.
30517 (boot_mod_SOURCES): Removed.
30518 (boot_mod_CFLAGS): Likewise.
30519 (boot_mod_LDFLAGS): Likewise.
30520
30521 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
30522 kern/corecmd.c.
30523 (kernel_img_HEADERS): Add command.h.
30524 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
30525 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
30526 and lib/arg.c.
30527 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
30528 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
30529 remove the corresponding normal mode command.
30530 (normal_mod_SOURCES): Remove normal/arg.c.
30531 * conf/i386-coreboot.rmk: Likewise.
30532 * conf/i386-efi.rmk: Likewise.
30533 * conf/i386-ieee1275.rmk: Likewise.
30534 * conf/powerpc-ieee1275.rmk: Likewise.
30535 * conf/x86_64-efi.rmk: Likewise.
30536
30537 * include/grub/arg.h: Move from here ...
30538 * include/grub/lib/arg.h: ... to here.
30539
30540 * normal/arg.c: Move from here ...
30541 * lib/arg.c: ... to here.
30542
30543 * commands/extcmd.c: New file.
30544 * commands/minicmd.c: Likewise.
30545 * include/grub/command.h: Likewise.
30546 * include/grub/extcmd.h: Likewise.
30547 * kern/command.c: Likewise.
30548 * kern/corecmd.c: Likewise.
30549
30550 * kern/list.c (grub_list_iterate): Return int instead of void.
30551 (grub_list_insert): New function.
30552 (grub_prio_list_insert): Likewise.
30553
30554 * kern/rescue.c (grub_rescue_command): Removed.
30555 (grub_rescue_command_list): Likewise.
30556 (grub_rescue_register_command): Likewise.
30557 (grub_rescue_unregister_command): Likewise.
30558 (grub_rescue_cmd_boot): Move to minicmd.c
30559 (grub_rescue_cmd_help): Likewise.
30560 (grub_rescue_cmd_info): Likewise.
30561 (grub_rescue_cmd_boot): Likewise.
30562 (grub_rescue_cmd_testload): Likewise.
30563 (grub_rescue_cmd_dump): Likewise.
30564 (grub_rescue_cmd_rmmod): Likewise.
30565 (grub_rescue_cmd_lsmod): Likewise.
30566 (grub_rescue_cmd_exit): Likewise.
30567 (grub_rescue_print_devices): Moved to corecmd.c.
30568 (grub_rescue_print_files): Likewise.
30569 (grub_rescue_cmd_ls): Likewise.
30570 (grub_rescue_cmd_insmod): Likewise.
30571 (grub_rescue_cmd_set): Likewise.
30572 (grub_rescue_cmd_unset): Likewise.
7d074e3c 30573 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 30574 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 30575 commands, remove grub_rescue_register_command calls.
b1b797cb 30576
7d074e3c 30577 * normal/command.c (grub_register_command): Removed.
b1b797cb 30578 (grub_unregister_command): Likewise.
30579 (grub_command_find): Likewise.
30580 (grub_iterate_commands): Likewise.
30581 (rescue_command): Likewise.
30582 (export_command): Moved to corecmd.c.
30583 (set_command): Removed.
30584 (unset_command): Likewise.
30585 (insmod_command): Likewise.
30586 (rmmod_command): Likewise.
30587 (lsmod_command): Likewise.
30588 (grub_command_init): Likewise.
30589
30590 * normal/completion.c (iterate_command): Use cmd->prio to check for
30591 active command.
30592 (complete_arguments): Use grub_extcmd_t structure to find options.
30593 (grub_normal_do_completion): Change function grub_iterate_commands to
30594 grub_command_iterate.
30595
30596 * normal/execute.c (grub_script_execute_cmd): No need to parse
30597 argument here.
30598
30599 * normal/main.c (grub_dyncmd_dispatcher): New function.
30600 (read_command_list): Register unload commands as dyncmd.
30601 (grub_cmd_normal): Use new command interface, register rescue,
30602 unregister normal at entry, register normal, unregister rescue at exit.
30603
30604 * include/grub/list.h (grub_list_test_t): New type.
30605 (grub_list_iterate): Return int instead of void.
30606 (grub_list_insert): New function.
30607 (GRUB_AS_NAMED_LIST_P): New macro.
30608 (GRUB_AS_PRIO_LIST): Likewise.
30609 (GRUB_AS_PRIO_LIST_P): Likewise.
30610 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30611 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30612 (grub_prio_list): New structure.
30613 (grub_prio_list_insert): New function.
30614 (grub_prio_list_remove): New inline function.
30615
30616 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30617 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30618 (GRUB_COMMAND_FLAG_MENU): Likewise.
30619 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30620 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30621 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30622 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30623 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30624 (grub_command): Likewise.
30625 (grub_register_command): Likewise.
30626 (grub_command_find): Likewise.
30627 (grub_iterate_commands): Likewise.
30628 (grub_command_init): Likewise.
30629 (grub_arg_parse): Likewise.
30630 (grub_arg_show_help): Likewise.
30631
30632 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30633 (grub_rescue_unregister_command): Likewise.
30634
30635 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30636 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30637 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30638
30639 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30640 grub_rescue_cmd_initrd.
30641 * include/grub/i386/loader.h: Likewise.
30642 * include/grub/x86_64/loader.h: Likewise.
30643
30644 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30645
1f4147aa 306462009-03-21 Bean <bean123ch@gmail.com>
30647
30648 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30649 instead of stat in mingw environment.
30650
30651 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30652
30653 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30654
30655 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30656 AC_CONFIG_LINKS.
30657
2156d5ba 306582009-03-21 Bean <bean123ch@gmail.com>
30659
30660 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30661 out of range error.
30662
177b82ca 306632009-03-18 Michel Dänzer <michel@daenzer.net>
30664
30665 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30666 checking inode flags for EXT4_EXTENTS_FLAG.
30667
14aad807 306682009-03-18 Robert Millan <rmh@aybabtu.com>
30669
30670 * loader/i386/linux.c: Include `<grub/video.h>' and
30671 `<grub/i386/pc/vbe.h>'..
30672 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30673 (grub_linux32_boot): Attempt to configure video settings with
30674 grub_linux_setup_video().
30675 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30676 to avoid grub_console_fini() which would step out of graphical mode
30677 unconditionally.
30678
8cf83a27 306792009-03-14 Robert Millan <rmh@aybabtu.com>
30680
30681 Fix build on powerpc.
30682 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30683
40164e75 306842009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30685
30686 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30687 background image command.
30688
c58bc32a 306892009-03-12 Colin D Bennett <colin@gibibit.com>
30690
30691 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30692 (grub_gfxterm_putchar): Extract pairs of identical calls to
30693 draw_cursor out of conditional blocks.
30694
5415144a 306952009-03-11 Pavel Roskin <proski@gnu.org>
30696
30697 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30698 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30699
6394042e 307002009-03-11 Robert Millan <rmh@aybabtu.com>
30701
30702 * loader/i386/multiboot_elfxx.c
30703 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30704
b7b50e5f 307052009-03-11 Felix Zielcke <fzielcke@z-51.de>
30706
30707 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30708 `kern/handler.c'.
30709
1ca7fc96 307102009-03-11 Robert Millan <rmh@aybabtu.com>
30711
30712 * loader/i386/multiboot.c (code_size): New variable.
30713 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30714 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30715 4-byte alignment to MBI and others by increasing
7d074e3c 30716 `boot_loader_name_length' appropriately.
1ca7fc96 30717
30718 * loader/i386/multiboot_elfxx.c
30719 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30720
a83ea1d2 307212009-03-09 Felix Zielcke <fzielcke@z-51.de>
30722
30723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30724 `fs/ext2.c'.
30725
aa9f3bff 307262009-03-08 Robert Millan <rmh@aybabtu.com>
30727
30728 Make loader/i386/linux.c usable on i386-pc again.
30729
30730 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30731 memory to heap.
30732 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30733 `#error' stanza.
30734
d8b3b60e 307352009-03-07 Bean <bean123ch@gmail.com>
30736
30737 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30738 allocation.
30739
b362c9e9 307402009-03-06 Robert Millan <rmh@aybabtu.com>
30741
30742 Fix display issue on terminals with screen size other than 80x25
30743 (e.g. gfxterm with resolution higher than 640x480).
30744
30745 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30746 position relative to the center of the terminal instead of relying
b362c9e9 30747 on a hardcoded offset.
30748
9304eef1 307492009-03-04 Robert Millan <rmh@aybabtu.com>
30750
30751 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30752 installed.
30753
30754 * Makefile.in (host_kernel): New variable.
30755 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30756 scripts instead of just the windows one.
30757 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30758
eabc95fb 307592009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30760
30761 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30762 `kern/handler.c'.
30763 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30764 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30765 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30767 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30768 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30769
ceb1223c 307702009-03-04 Felix Zielcke <fzielcke@z-51.de>
30771
30772 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30773 or if there's no space for the disk label and print the partition number on a
30774 invalid magic.
30775
4910684a 307762009-03-04 Felix Zielcke <fzielcke@z-51.de>
30777
30778 * util/misc.c: Include <time.h>.
30779 (grub_millisleep): New function.
30780
7e9ca17a 307812009-03-04 Bean <bean123ch@gmail.com>
30782
30783 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30784 another option -mno-red-zone.
30785
30786 * commands/handler.c: Change module description.
30787
30788 * kern/handler.c: Add missing space at the end of description line.
30789
30790 * kern/list.c: Likewise.
30791
f501677c 307922009-03-03 Robert Millan <rmh@aybabtu.com>
30793
30794 Move more components to the relocation area, and fix mbi pointer
30795 handling to use the destination rather than the origin (thanks to
30796 Vladimir Serbinenko for spotting).
30797
30798 * loader/i386/multiboot.c (mbi_dest): New variable.
30799 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30800 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30801 relocation area.
30802
9902d047 308032009-03-01 Bean <bean123ch@gmail.com>
30804
50fb7002 30805 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30806 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30807 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30808 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30809
30810 * loader/i386/efi/linux.c (acpi_guid): New variable.
30811 (acpi_guid): Likewise.
30812 (EBDA_SEG_ADDR): New constant.
30813 (LOW_MEM_ADDR): Likewise.
30814 (FAKE_EBDA_SEG): Likewise.
30815 (fake_bios_data): New function.
30816 (grub_linux_boot): Call fake_bios_data.
30817
71b9f361 308182009-03-01 Bean <bean123ch@gmail.com>
30819
30820 * commands/terminal.c: Removed.
30821
30822 * commands/handler.c: New file.
30823
30824 * include/grub/list.h: Likewise.
30825
30826 * include/grub/handler.h: Likewise.
30827
30828 * kern/list.c: Likewise.
30829
30830 * kern/handler.c: Likewise.
30831
30832 * kern/term.h: Include header file <grub/handler.h>.
30833 (grub_term_input): Move next field to the beginning.
30834 (grub_term_output): Likewise.
30835 (grub_term_input_class): New variable.
30836 (grub_term_output_class): Likewise.
30837 (grub_term_register_input): Changed to inline function.
30838 (grub_term_register_output): Likewise.
30839 (grub_term_unregister_input): Likewise.
30840 (grub_term_unregister_output): Likewise.
30841 (grub_term_set_current_input): Likewise.
30842 (grub_term_set_current_output): Likewise.
30843 (grub_term_get_current_input): Likewise.
30844 (grub_term_get_current_output): Likewise.
30845 (grub_term_iterate_input): Removed.
30846 (grub_term_iterate_output): Likewise.
30847
30848 * kern/term.c (grub_term_list_input): Removed.
30849 (grub_term_list_output): Likewise.
30850 (grub_term_input_class): New variable.
30851 (grub_term_output_class): Likewise.
50fb7002 30852 (grub_cur_term_input): Change variable as macro.
71b9f361 30853 (grub_cur_term_output): Likewise.
30854 (grub_term_register_input): Removed.
30855 (grub_term_register_output): Likewise.
30856 (grub_term_unregister_input): Likewise.
30857 (grub_term_unregister_output): Likewise.
30858 (grub_term_set_current_input): Likewise.
30859 (grub_term_set_current_output): Likewise.
30860 (grub_term_iterate_input): Likewise.
30861 (grub_term_iterate_output): Likewise.
30862 (grub_term_get_current_input): Likewise.
30863 (grub_term_get_current_output): Likewise.
30864
30865 * util/grub-editenv.c: Include header file <grub/handler.h>.
30866 (grub_term_get_current_input): Removed.
30867 (grub_term_get_current_output): Likewise.
30868 (grub_term_input_class): New variable.
50fb7002 30869 (grub_term_output_class): Likewise.
71b9f361 30870
30871 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30872 (grub_term_get_current_output): Likewise.
30873 (grub_term_input_class): New variable.
50fb7002 30874 (grub_term_output_class): Likewise.
71b9f361 30875
30876 * util/grub-probe.c (grub_term_get_current_input): Removed.
30877 (grub_term_get_current_output): Likewise.
30878 (grub_term_input_class): New variable.
50fb7002 30879 (grub_term_output_class): Likewise.
71b9f361 30880
30881 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30882 (grub_term_get_current_output): Likewise.
30883 (grub_term_input_class): New variable.
50fb7002 30884 (grub_term_output_class): Likewise.
71b9f361 30885
30886 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30887 (terminal_mod_SOURCES): Likewise.
30888 (terminal_mod_CFLAGS): Likewise.
30889 (terminal_mod_LDFLAGS): Likewise.
30890
30891 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30892 handler.c.
30893 (kernel_img_SOURCES): Add list.c and handler.c.
30894 (kernel_img_HEADERS): Add list.h and handler.h.
30895
30896 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30897 handler.c.
30898 (kernel_mod_SOURCES): Add list.c and handler.c.
30899 (kernel_mod_HEADERS): Add list.h and handler.h.
30900
30901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30902 handler.c.
30903 (kernel_elf_SOURCES): Add list.c and handler.c.
30904 (kernel_elf_HEADERS): Add list.h and handler.h.
30905
30906 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30907 handler.c.
30908 (kernel_elf_SOURCES): Add list.c and handler.c.
30909 (kernel_elf_HEADERS): Add list.h and handler.h.
30910
30911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30912 handler.c.
30913 (kernel_mod_SOURCES): Add list.c and handler.c.
30914 (kernel_mod_HEADERS): Add list.h and handler.h.
30915
30916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30917 handler.c.
30918 (kernel_elf_SOURCES): Add list.c and handler.c.
30919 (kernel_elf_HEADERS): Add list.h and handler.h.
30920
8a31787f 309212009-02-27 Robert Millan <rmh@aybabtu.com>
30922
30923 Factorize elf32 / elf64 code in Multiboot loader. This will
30924 prevent it from getting out of sync again.
30925
30926 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30927 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30928 grub_multiboot_load_elf64): Move from here ...
30929 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30930 grub_multiboot_load_elf): ... to here (new file).
30931
51cd3dfc 309322009-02-27 Robert Millan <rmh@aybabtu.com>
30933
30934 * util/grub.d/10_linux.in: Rename "single-user mode" to
30935 "recovery mode".
30936
6e8c9c3a 309372009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30938
30939 Don't leak in SCSI code.
30940 * disk/scsi.c (grub_scsi_close): free `scsi'.
30941
4b6bf4f9 309422009-02-27 Robert Millan <rmh@aybabtu.com>
30943
30944 * loader/i386/pc/multiboot.c: Move from here ...
30945 * loader/i386/multiboot.c: ... to here. Update all users.
30946
b9413424 309472009-02-27 Robert Millan <rmh@aybabtu.com>
30948
30949 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30950 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30951
50fb7002 309522009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30953
30954 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30955 b-tree.
30956
8cc50345 309572009-02-27 Robert Millan <rmh@aybabtu.com>
30958
30959 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30960 `0x' qualifier as 0 when base is specified as parameter).
30961
6e09b8b7 309622009-02-24 Bean <bean123ch@gmail.com>
30963
30964 * configure.ac: Check for -mcmodel=large in x86_64 target.
30965
30966 * include/grub/efi/api.h (efi_call_10): New macro.
30967 (efi_wrap_10): New function.
30968
30969 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30970 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30971 (GRUB_PE32_REL_BASED_LOW): Likewise.
30972 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30973 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30974 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30975 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30976 (GRUB_PE32_REL_BASED_REL): Likewise.
30977 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30978 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30979 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30980
30981 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30982 issue.
30983
30984 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30985 (efi_wrap_10): New function.
30986
30987 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30988
30989 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30990 MB/MBP model (NV chipset).
30991 (devdata_devs): Add devpath_5 to the list.
30992
30993 * load/i386/efi/linux.c (video_base): Remove variable.
30994 (RGB_MASK): New macro.
30995 (RGB_MAGIC): Likewise.
30996 (LINE_MIN): Likewise.
30997 (LINE_MAX): Likewise.
30998 (FBTEST_STEP): Likewise.
30999 (FBTEST_COUNT): Likewise.
31000 (fb_list): New variable.
31001 (grub_find_video_card): Remove function.
31002 (find_framebuf): New function.
31003 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31004 line length.
31005
31006 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31007 problem for x86_64.
31008
74b21bee 310092009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31010
31011 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31012
31013 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31014 coding tool name.
31015
a455f472 310162009-02-22 Robert Millan <rmh@aybabtu.com>
31017
31018 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31019 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31020 in our relocation, instead of using it directly from heap. Also
31021 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31022
6374daf3 310232009-02-21 Robert Millan <rmh@aybabtu.com>
31024
31025 Implement USB keyboard support (based on patch by Marco Gerards)
31026
31027 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31028 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31029 (usb_keyboard_mod_LDFLAGS): New variables.
31030
31031 * term/usb_keyboard.c: New file.
31032
8fa4ea70 310332009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31034
31035 Corrected wrong declaration
31036
31037 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31038
353976ac 310392009-02-14 Christian Franke <franke@computer.org>
31040
31041 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31042 (grub_lspci_iter): Print class code and programming interface byte.
31043
6aa1169b 310442009-02-14 Christian Franke <franke@computer.org>
31045
31046 * gendistlist.sh: Ignore `.svn' directories.
31047
265372ca 310482009-02-14 Felix Zielcke <fzielcke@z-51.de>
31049
31050 * fs/fat.c: Add 2009 to Copyright line.
31051
9ff516f3 310522009-02-14 Christian Franke <franke@computer.org>
31053
31054 * commands/hdparm.c: New file. Provides `hdparm' command
31055 which sends ATA commands via grub_disk_ata_pass_through ().
31056
31057 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31058
31059 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31060 and <grub/cpu/io.h> to include/grub/ata.h.
31061 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31062 (GRUB_CDROM_SECTOR_SIZE): Remove.
31063 (GRUB_ATA_*): Move to include/grub/ata.h.
31064 (GRUB_ATAPI_*): Likewise.
31065 (enum grub_ata_commands): Likewise.
31066 (enum grub_ata_timeout_milliseconds): Likewise.
31067 (struct grub_ata_device): Likewise.
31068 (grub_ata_regset): Likewise.
31069 (grub_ata_regget): Likewise.
31070 (grub_ata_regset2): Likewise.
31071 (grub_ata_regget2): Likewise.
31072 (grub_ata_check_ready): Likewise.
31073 (grub_ata_wait_not_busy): Remove static, exported in
31074 include/grub/ata.h.
31075 (grub_ata_wait_drq): Likewise.
31076 (grub_ata_pio_read): Likewise.
31077
31078 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31079 function for hdparm.mod.
31080
31081 * include/grub/ata.h: New file, contains declarations from
31082 disk/ata.c.
31083 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31084
31085 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31086 (grub_disk_ata_pass_through): New exported variable.
31087
31088 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31089
772e23da 310902009-02-13 Colin D Bennett <colin@gibibit.com>
31091
31092 Support multiple fallback entries, and provide an API to support
31093 executing default+fallback menu entries. Renamed the `terminal' menu
31094 viewer to `text'.
31095
31096 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31097 variable declaration.
31098 (grub_menu_execute_callback): New structure declaration.
31099 (grub_menu_execute_callback_t): New typedef.
31100 (grub_menu_execute_with_fallback): New function declaration.
31101 (grub_menu_get_entry): Likewise.
31102 (grub_menu_get_timeout): Likewise.
31103 (grub_menu_set_timeout): Likewise.
31104
31105 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31106
31107 * normal/menu.c (grub_wait_after_message): Moved to
31108 `normal/menu_text.c'.
31109 (draw_border): Likewise.
31110 (print_message): Likewise.
31111 (print_entry): Likewise.
31112 (print_entries): Likewise.
31113 (grub_menu_init_page): Likewise.
31114 (get_entry_number): Likewise.
31115 (print_timeout): Likewise.
31116 (run_menu): Likewise.
31117 (grub_menu_execute_entry): Likewise.
31118 (show_text_menu): Likewise.
31119 (get_and_remove_first_entry_number): New function.
31120 (grub_menu_execute_with_fallback): Likewise.
31121 (get_entry): Renamed to ...
31122 (grub_menu_get_entry): .. this and made it global.
31123 (get_timeout): Renamed to ...
31124 (grub_menu_get_timeout): ... this and made it global.
31125 (set_timeout): Renamed to ...
31126 (grub_menu_set_timeout): ... this and made it global.
31127 (grub_normal_terminal_menu_viewer): Renamed to ...
31128 (grub_normal_text_menu_viewer): ... this.
31129
31130 * normal/menu_text.c: New file. Extracted text-menu-specific code
31131 from normal/menu.c.
31132
31133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31134 (normal_mod_SOURCES): Likewise.
31135
31136 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31137 (normal_mod_SOURCES): Likewise.
31138
31139 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31140 (normal_mod_SOURCES): Likewise.
31141
31142 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31143 (normal_mod_SOURCES): Likewise.
31144
31145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31146 (normal_mod_SOURCES): Likewise.
31147
31148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31149 (normal_mod_SOURCES): Likewise.
31150
31151 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31152 (normal_mod_SOURCES): Likewise.
31153
16ac430e 311542009-02-11 Robert Millan <rmh@aybabtu.com>
31155
31156 * util/grub.d/00_header.in: Update old reference to `font' command.
31157
06ff20fc 311582009-02-10 Felix Zielcke <fzielcke@z-51.de>
31159
31160 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31161
31162 Based on patch from Javier Martín.
31163
96da9407 311642009-02-09 Felix Zielcke <fzielcke@z-51.de>
31165
31166 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 31167 to avoid false positives with FAT.
96da9407 31168 (grub_fstest_SOURCES): Likewise.
31169 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31170 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31173 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31175
6dca6fe4 311762009-02-09 Felix Zielcke <fzielcke@z-51.de>
31177
06ff20fc 31178 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 31179 bpb.version_specific.fat12_or_fat16.fstype and
31180 bpb.version_specific.fat32.fstype.
31181
2550c62f 311822009-02-08 Robert Millan <rmh@aybabtu.com>
31183
be110b30 31184 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 31185
56978920 311862009-02-08 Robert Millan <rmh@aybabtu.com>
31187
31188 * Makefile.in (host_os, host_cpu): New variables.
31189 (target_os): Remove. Update all users.
31190
d64399b5 311912009-02-08 Marco Gerards <marco@gnu.org>
31192
31193 * Makefile.in (enable_grub_emu_usb): New variable.
31194 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31195 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31196 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31197 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31198 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31199 `usbtest.mod' and `usbms.mod'.
31200 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31201 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31202 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31203 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31204 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31205 variables.
31206
31207 * disk/usbms.c: New file.
31208
31209 * include/grub/usb.h: Likewise.
31210
31211 * include/grub/usbtrans.h: Likewise.
31212
31213 * include/grub/usbdesc.h: Likewise.
31214
31215 * bus/usb/usbtrans.c: Likewise.
31216
31217 * bus/usb/ohci.c: Likewise.
31218
31219 * bus/usb/uhci.c: Likewise.
31220
31221 * bus/usb/usbhub.c: Likewise.
31222
31223 * bus/usb/usb.c: Likewise.
31224
31225 * commands/usbtest.c: Likewise.
31226
31227 * util/usb.c: Likewise.
50fb7002 31228
d64399b5 31229 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
31230
31231 * configure.ac: Test for libusb presence.
50fb7002 31232
d64399b5 31233 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
31234
2b40d6bb 312352009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
31236
31237 * kern/mm.c: Add more comments.
31238
73a4ce81 312392009-02-08 Robert Millan <rmh@aybabtu.com>
31240
31241 Patch from Javier Martín.
31242 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
31243 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
31244
f821ce59 312452009-02-08 Robert Millan <rmh@aybabtu.com>
31246
31247 * fs/cpio.c: Split tar functionality to ...
31248 * fs/tar.c: ... here (new file). Update all users.
31249
aebfc4b0 312502009-02-07 Robert Millan <rmh@aybabtu.com>
31251
31252 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
31253 backward-incompatible features.
31254
31255 Based on patch from Javier Martín, with some adjustments.
31256
50fb7002 312572009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 31258
31259 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
31260
0bb5115e 312612009-02-07 Robert Millan <rmh@aybabtu.com>
31262
31263 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
31264 position of `disk/lvm.c' to ensure grub_init_all() always picks it
31265 after the RAID stuff.
31266
38a0f8e7 312672009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
31268
50fb7002 31269 Fixes problem when running vbetest command as reported by
38a0f8e7 31270 Vladimir Serbinenko <phcoder@gmail.com>.
31271
31272 * (grub_vbe_set_video_mode): Fixed problem with text modes.
31273
3143cc1c 312742009-02-04 Felix Zielcke <fzielcke@z-51.de>
31275
31276 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
31277 /dev/md/NpN style mdraid devices.
31278
9cba6fce 312792009-02-03 Felix Zielcke <fzielcke@z-51.de>
31280
31281 * util/unifont2pff.rb: Remove.
31282
e507a2c1 312832009-02-03 Felix Zielcke <fzielcke@z-51.de>
31284
31285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
31286 `#'.
31287
d2c2b4cd 312882009-02-03 Felix Zielcke <fzielcke@z-51.de>
31289
31290 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
31291 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31293 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31296 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31297
b4315fb0 312982009-02-02 Christian Franke <franke@computer.org>
31299
31300 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
31301
de3aa260 313022009-02-01 Felix Zielcke <fzielcke@z-51.de>
31303
7c3ff286 31304 * INSTALL: Note that we now require at least autoconf 2.59 and
31305 that LZO is optional.
de3aa260 31306
825a182b 313072009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31308
31309 Base on patch on bug #24154 created by Tomas Tintera
31310 <trosos@seznam.cz>.
31311
31312 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
31313
a69ef770 313142009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31315
7c3ff286 31316 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 31317 <bero@arklinux.org>.
31318
31319 * normal/parser.y (script_init): Add missing semicolon.
31320
6fa42fa6 313212009-01-31 Colin D Bennett <colin@gibibit.com>
31322
7c3ff286 31323 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 31324 (free_menu_entry_classes): Added.
31325 (grub_normal_menu_addentry): Added class property handling.
31326 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
31327 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
31328
31329 * normal/menu_viewer.c: New file.
31330
31331 * normal/menu.c (run_menu_entry): Renamed to ...
31332 (grub_menu_execute_entry): ... this and made it as global.
31333 (grub_menu_run): Renamed to ...
31334 (show_text_menu): ... this and made it local.
31335 (show_text_menu): Adapt to new function names.
31336 (grub_normal_terminal_menu_viewer): New global variable.
31337
31338 * include/grub/menu.h: New file.
31339
31340 * include/grub/menu_viewer.h: New file.
31341
31342 * include/grub/normal.h: Added include to grub/menu.h.
31343 (grub_menu_entry): Moved to include/grub/menu.h.
31344 (grub_menu_entry_t): Likewise.
31345 (grub_menu): Likewise.
31346 (grub_menu_t): Likewise.
31347 (grub_normal_terminal_menu_viewer): Added.
31348 (grub_menu_execute_entry): Likewise.
31349 (grub_menu_run): Removed.
31350
31351 * DISTLIST: Added include/grub/menu.h.
31352 Added include/grub/menu_viewer.h.
31353 Added normal/menu_viewer.c.
31354
313552009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
31356
31357 * normal/execute.c (grub_script_execute_menuentry): Changed to use
31358 arglist for menutitle arguments.
31359
31360 * normal/main.c (grub_normal_menu_addentry): Likewise.
31361
31362 * normal/parser.y (menuentry): Likewise.
31363
31364 * normal/script.c (grub_script_create_cmdmenu): Likewise.
31365
31366 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
31367 (grub_script_create_cmdmenu): Likewise.
31368
31369 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
31370
31371 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
31372 changes.
31373
31374 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
31375
31376 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
31377
31378 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
31379
31380 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31381
31382 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31383
31384 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31385
56192c23 313862009-01-30 Christian Franke <franke@computer.org>
31387
31388 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
31389 in option help text.
31390
d72521b3 313912009-01-27 Pavel Roskin <proski@gnu.org>
31392
31393 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
31394
994b5e84 313952009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31396
31397 * commands/lsmmap.c: Add include to grub/machine/memory.h.
31398
31399 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
31400
31401 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
31402 unregister function.
31403
6a7eab2c 314042009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31405
31406 * disk/scsi.c (grub_scsi_read): Fix sign problem.
31407
31408 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
31409
31410 * util/grub-mkfont.c (usage): Fix typo.
31411
31412 * util/elf/grub-mkimage.c (load_modules): Fix warning.
31413
1806b56e 314142009-01-26 Daniel Mierswa <impulze@impulze.org>
31415
3fb18f09 31416 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
31417
336e1fb9 31418 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
31419
1806b56e 31420 * kern/misc.c (grub_strcasecmp): New function.
31421 (grub_strcasecmp): Use grub_size_t instead of int for length.
31422 Fix return value.
31423 * include/grub/misc.h: Update function prototypes.
31424
580b2a0f 314252009-01-26 Robert Millan <rmh@aybabtu.com>
31426
31427 * configure.ac: Fix cross-compilation check.
ef257b36 31428
d31c24f1 314292009-01-22 Christian Franke <franke@computer.org>
31430
31431 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
31432 (precision) digit string. Allow `.format2' without `format1' (width).
31433 Limit input chars for `%s' output to `format2' if specified. This is
31434 compatible with standard printf ().
31435
3138b44c 314362009-01-22 Christian Franke <franke@computer.org>
31437
31438 * disk/ata.c (grub_ata_wait_status): Replace by ...
31439 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
31440 other status bits may be invalid while BSY is asserted.
31441 (grub_ata_check_ready): New function.
31442 (grub_ata_cmd): Removed.
31443 (grub_ata_wait_drq): New function.
31444 (grub_ata_strncpy): Remove inline.
31445 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
31446 and error check now done by grub_ata_wait_drq ().
31447 (grub_ata_pio_write): Likewise.
31448 (grub_atapi_identify): Set DEV before check for !BSY. Use
31449 grub_ata_wait_drq () to wait for data.
31450 (grub_ata_device_initialize): Add status register check to
31451 detect missing SATA slave devices. Add debug messages.
31452 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
31453 (grub_atapi_packet): Set DEV before check for !BSY. Replace
31454 transfer loop by grub_ata_pio_write ().
31455 (grub_ata_identify): Set DEV before check for !BSY. Use
31456 grub_ata_wait_drq () to wait for data.
ef257b36 31457 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 31458 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
31459 read/write in one loop. Fix invalid command on write. Fix incomplete
31460 command on (size % batch) == 0. Add missing error check after write of
31461 last block. Add debug messages.
31462 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
31463
59a64ef6 314642009-01-19 Christian Franke <franke@computer.org>
31465
31466 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
31467 (GRUB_ATAPI_IREASON_*): Likewise.
31468 (grub_ata_pio_write): Fix timeout error return.
31469 (grub_atapi_identify): Add grub_ata_wait () after cmd.
31470 (grub_atapi_wait_drq): New function.
31471 (grub_atapi_packet): New parameter `size'.
31472 Use grub_atapi_wait_drq () and direct write instead of
31473 grub_ata_pio_write ().
31474 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
31475 reads the number of bytes requested by the device for each DRQ
31476 assertion.
31477 (grub_atapi_write): Remove old implementation, return not
31478 implemented instead.
31479
1cfe20b3 314802009-01-19 Christian Franke <franke@computer.org>
31481
31482 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
31483 of 512 to calculate data size.
31484 (grub_scsi_read12): Likewise.
31485 (grub_scsi_write10): Likewise.
31486 (grub_scsi_write12): Likewise.
31487 (grub_scsi_read): Adjust size according to blocksize.
31488 Add checks for invalid blocksize and unaligned transfer.
31489
bee5fe5d 314902009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
31491
31492 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
31493
ef257b36 31494 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 31495 width glyphs.
31496
3e643f8c 314972009-01-19 Robert Millan <rmh@aybabtu.com>
31498
31499 * config.guess: Update to latest version from config git.
31500 * config.sub: Likewise.
31501
4fa80998 315022009-01-17 Felix Zielcke <fzielcke@z-51.de>
31503
31504 * Makefile.in: Change font compilation to use new grub-mkfont instead
31505 of java version.
31506
31507 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
31508 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
31509 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31510 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31511 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
31512 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
31513 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
31514 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
31515 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31516
7086085b 315172009-01-16 Christian Franke <franke@computer.org>
31518
31519 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
31520 (enum grub_ata_timeout_milliseconds): New enum.
31521 (grub_ata_wait_status): Add parameter milliseconds.
31522 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
31523 recovery from timed-out commands.
31524 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
31525 return grub_errno instead of REG_ERROR.
31526 (grub_ata_pio_write): Add parameter milliseconds.
31527 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
31528 Pass milliseconds to grub_ata_wait_status () and
31529 grub_ata_pio_read ().
31530 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
31531 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
31532 grub_ata_wait_status (). Fix IDENTIFY timeout check.
31533 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
31534 It is not suitable for device detection, because DEV bit is ignored,
31535 the command may run too long, and not all devices set the signature
31536 properly.
31537 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
31538 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
31539 Fix device selection, DEV bit must be set first to address the registers
31540 of the correct device.
31541 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
31542 grub_ata_pio_read/write ().
31543 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
31544 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
31545
4a412913 315462009-01-13 Carles Pina i Estany <carles@pina.cat>
31547
31548 * util/grub-editenv.c (main): Use fseeko(), not fseek().
31549
7795c55e 315502009-01-13 Bean <bean123ch@gmail.com>
d913988c 31551
31552 * util/grub-mkfont.c (write_font): forget to remove some debug code.
31553
7795c55e 315542009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 31555
31556 * Makefile.in: (enable_grub_mkfont): New variable.
31557 (freetype_cflags): Likewise.
31558 (freetype_libs): Likewise.
31559
31560 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
31561 (grub_mkfont_SOURCES): New variable.
31562 (grub_mkfont_CFLAGS): Likewise.
31563 (grub_mkfont_LDFLAGS): Likewise.
31564
31565 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
31566 library if `--enable-grub-mkfont' is requested.
31567 (enable_grub_mkfont): New variable.
31568 (freetype_cflags): Likewise.
31569 (freetype_libs): Likewise.
31570
31571 * util/grub-mkfont.c: New file.
31572
093af1fe 315732009-01-12 Christian Franke <franke@computer.org>
31574
31575 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
31576 mode check. Fix setting of compat_use[].
31577
f36cc108 315782009-01-10 Robert Millan <rmh@aybabtu.com>
31579
31580 Update a few copyright years which we forgot to do in 2008 (only for
31581 files whose changes made in 2008 were copyright-significant)
31582
31583 * Makefile.in: Add 2008 to Copyright line.
31584 * disk/ieee1275/ofdisk.c: Likewise.
31585 * disk/efi/efidisk.c: Likewise.
31586 * kern/dl.c: Likewise.
31587 * kern/sparc64/ieee1275/init.c: Likewise.
31588 * kern/mm.c: Likewise.
31589 * kern/efi/mm.c: Likewise.
31590 * boot/i386/pc/boot.S: Likewise.
31591 * genfslist.sh: Likewise.
31592 * fs/iso9660.c: Likewise.
31593 * fs/hfs.c: Likewise.
31594 * fs/jfs.c: Likewise.
31595 * fs/minix.c: Likewise.
31596 * fs/ufs.c: Likewise.
31597 * gensymlist.sh.in: Likewise.
31598 * genkernsyms.sh.in: Likewise.
31599 * include/grub/misc.h: Likewise.
31600 * include/grub/types.h: Likewise.
31601 * include/grub/symbol.h: Likewise.
31602 * include/grub/elf.h: Likewise.
31603 * include/grub/kernel.h: Likewise.
31604 * include/grub/disk.h: Likewise.
31605 * include/grub/dl.h: Likewise.
31606 * include/grub/i386/linux.h: Likewise.
31607 * include/grub/i386/pc/biosdisk.h: Likewise.
31608 * include/grub/efi/api.h: Likewise.
31609 * include/grub/efi/pe32.h: Likewise.
31610 * include/grub/util/misc.h: Likewise.
31611 * normal/execute.c: Likewise.
31612 * normal/arg.c: Likewise.
31613 * normal/completion.c: Likewise.
31614 * normal/lexer.c: Likewise.
31615 * normal/parser.y: Likewise.
31616 * normal/misc.c: Likewise.
31617 * commands/i386/pc/vbeinfo.c: Likewise.
31618 * commands/hexdump.c: Likewise.
31619 * commands/terminal.c: Likewise.
31620 * commands/ls.c: Likewise.
31621 * commands/help.c: Likewise.
31622 * partmap/pc.c: Likewise.
31623 * loader/efi/chainloader.c: Likewise.
31624 * loader/multiboot_loader.c: Likewise.
31625 * loader/i386/pc/multiboot2.c: Likewise.
31626 * term/efi/console.c: Likewise.
31627 * term/i386/pc/serial.c: Likewise.
31628 * util/lvm.c: Likewise.
31629 * util/console.c: Likewise.
31630 * util/i386/efi/grub-mkimage.c: Likewise.
31631 * util/raid.c: Likewise.
31632
7f02114b 316332009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31634
31635 * commands/videotest.c: Removed include to grub/machine/memory.h.
31636
31637 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31638 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31639 (video_mod_SOURCES): Removed.
31640 (video_mod_CFLAGS): Likewise.
31641 (video_mod_LDFLAGS): Likewise.
31642 (gfxterm_mod_SOURCES): Likewise.
31643 (gfxterm_mod_CFLAGS): Likewise.
31644 (gfxterm_mod_LDFLAGS): Likewise.
31645 (videotest_mod_SOURCES): Likewise.
31646 (videotest_mod_CFLAGS): Likewise.
31647 (videotest_mod_LDFLAGS): Likewise.
31648 (bitmap_mod_SOURCES): Likewise.
31649 (bitmap_mod_CFLAGS): Likewise.
31650 (bitmap_mod_LDFLAGS): Likewise.
31651 (tga_mod_SOURCES): Likewise.
31652 (tga_mod_CFLAGS): Likewise.
31653 (tga_mod_LDFLAGS): Likewise.
31654 (jpeg_mod_SOURCES): Likewise.
31655 (jpeg_mod_CFLAGS): Likewise.
31656 (jpeg_mod_LDFLAGS): Likewise.
31657 (png_mod_SOURCES): Likewise.
31658 (png_mod_CFLAGS): Likewise.
31659 (png_mod_LDFLAGS): Likewise.
31660
31661 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31662 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31663 (video_mod_SOURCES): Added.
31664 (video_mod_CFLAGS): Likewise.
31665 (video_mod_LDFLAGS): Likewise.
31666 (videotest_mod_SOURCES): Likewise.
31667 (videotest_mod_CFLAGS): Likewise.
31668 (videotest_mod_LDFLAGS): Likewise.
31669 (bitmap_mod_SOURCES): Likewise.
31670 (bitmap_mod_CFLAGS): Likewise.
31671 (bitmap_mod_LDFLAGS): Likewise.
31672 (tga_mod_SOURCES): Likewise.
31673 (tga_mod_CFLAGS): Likewise.
31674 (tga_mod_LDFLAGS): Likewise.
31675 (jpeg_mod_SOURCES): Likewise.
31676 (jpeg_mod_CFLAGS): Likewise.
31677 (jpeg_mod_LDFLAGS): Likewise.
31678 (png_mod_SOURCES): Likewise.
31679 (png_mod_CFLAGS): Likewise.
31680 (png_mod_LDFLAGS): Likewise.
31681 (gfxterm_mod_SOURCES): Likewise.
31682 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31683 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31684
31685 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31686 grub/machine/console.h.
31687
644fff97 316882009-01-04 Jerone Young <jerone@gmail.com>
31689
31690 Make on screen instructions clearer
31691
31692 Based on patch created by Jidanni <jidanni@jidanni.org>
31693
31694 * normal/menu.c: print clearer instructions on the screen
31695
1e901a75 316962009-01-02 Colin D Bennett <colin@gibibit.com>
31697
31698 New font engine.
34c44600 31699
1e901a75 31700 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31701 build system and fixed gfxterm.c to work with different sized fonts.
31702
31703 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31704
1e901a75 31705 * configure: Re-generated.
34c44600 31706
1e901a75 31707 * DISTLIST: Removed font/manager.c.
31708 Added font/font.c.
31709 Added font/font_cmd.c.
34c44600 31710
1e901a75 31711 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31712 compilation.
34c44600 31713
1e901a75 31714 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31715
31716 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31717
31718 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31719
1e901a75 31720 * normal/menu.c: Likewise.
34c44600 31721
1e901a75 31722 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31723 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31724
1e901a75 31725 * include/grub/font.h: Replaced with new file.
34c44600 31726
1e901a75 31727 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31728 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31729 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31730 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31731 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31732 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31733 fg_red, fg_green, fg_blue, fg_alpha.
31734 (grub_video_adapter): Removed blit_glyph.
34c44600 31735 (grub_video_blit_glyph): Removed.
31736
1e901a75 31737 * font/manager.c: Removed file.
34c44600 31738
31739 * font/font.c: New file.
31740
1e901a75 31741 * font/font_cmd.c: Likewise.
34c44600 31742
1e901a75 31743 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31744
1e901a75 31745 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31746 (grub_video_vbe_map_rgba): Likewise.
31747 (grub_video_vbe_unmap_color_int): Likewise.
31748 (grub_video_vbe_blit_glyph): Removed.
31749 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31750
1e901a75 31751 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31752 (get_pixel): Likewise.
34c44600 31753 (set_pixel): Likewise.
31754
1e901a75 31755 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31756
1e901a75 31757 * term/gfxterm.c: Adapted to new font engine.
34c44600 31758
1e901a75 31759 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31760
1e901a75 31761 * term/i386/pc/vga.c: Likewise.
34c44600 31762
1e901a75 31763 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31764
1e901a75 31765 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31766
1e901a75 31767 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31768
1e901a75 31769 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31770
1e901a75 31771 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31772
1e901a75 31773 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31774
1e901a75 31775 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31776
1e901a75 31777 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31778
1e901a75 31779 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31780
31781 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31782
1e901a75 31783 * util/grub-mkconfig_lib.in: Changed font extension.
31784
278922e8 317852008-12-28 Felix Zielcke <fzielcke@z-51.de>
31786
31787 * util/getroot.c (grub_util_get_grub_dev): Add support for
31788 /dev/md/dNNpNN style partitionable mdraid devices.
31789
3ced05cf 317902008-12-12 Alex Smith <alex@alex-smith.me.uk>
31791
31792 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31793 at a time limit of the PXE TFTP API correctly.
31794 (grub_pxefs_close): Likewise.
31795
7fd0ee30 317962008-11-29 Robert Millan <rmh@aybabtu.com>
31797
34c44600 31798 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31799 grub_ata_device_initialize() calls.
31800
34c44600 318012008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31802
31803 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31804 iteration failed.
31805 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31806
89313780 318072008-11-28 Robert Millan <rmh@aybabtu.com>
31808
31809 Fix build on powerpc-ieee1275. Based on patch created by
31810 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31811 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31812 `kern/ieee1275/mmap.c'.
31813 * include/grub/powerpc/ieee1275/memory.h: New file.
31814
15257703 31815 Provide grub-install on coreboot.
31816 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31817 (grub_install_SOURCES): New variable.
31818 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31819 usable on coreboot.
31820
9fc5388a 318212008-11-25 Felix Zielcke <fzielcke@z-51.de>
31822
31823 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31824 to `grub_term_input_t'.
31825 (grub_term_get_current_output): Change return type to
31826 `grub_term_output_t'.
31827
bc3a2f31 318282008-11-22 Robert Millan <rmh@aybabtu.com>
31829
34c44600 31830 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31831 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31832 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31833 grub_vga_text_cls().
31834
80fc88f2 31835 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31836 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31837
cbf36fd3 31838 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31839 to 0x200000 (avoids trouble with some OFW implementations, and matches
31840 with the one in Yaboot).
31841 Reported by Manoel Abranches
31842
73e8e268 318432008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31844
31845 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31846 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31847
73e8e268 31848 * util/grub-mkconfig_lib.in (grub_warn): New function.
31849 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31850 warnings, to obtain consistent formatting.
31851 * util/grub.d/00_header.in: Likewise.
31852 * util/update-grub_lib.in: Likewise.
31853
e94045a1 31854 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31855 Move comment text to `#error' stanza.
e94045a1 31856
79d29fd7 31857 Harmonize ieee1275's grub_available_iterate() with the generic
31858 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31859 build problem on i386-ieee1275):
31860 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31861 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31862 parameter `type'. Update all users of this function.
31863 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31864 `kern/ieee1275/mmap.c'.
31865 * kern/ieee1275/init.c
31866 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31867 with ...
31868 (grub_machine_mmap_iterate): ... this.
31869 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31870 return type to `grub_err_t'. Update all implementations of this
31871 function prototype.
31872 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31873 Likewise.
31874
60d6b16e 31875 Add `lsmmap' command (lists firmware-provided memory map):
31876 * commands/lsmmap.c: New file.
31877 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31878 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31879 variables.
31880 * conf/powerpc-ieee1275.rmk: Likewise.
31881 * conf/i386-coreboot.rmk: Likewise.
31882 * conf/i386-ieee1275.rmk: Likewise.
31883
ebaaf49b 318842008-11-19 Robert Millan <rmh@aybabtu.com>
31885
31886 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31887 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31888 constraints to initrd allocation (based on code from
31889 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31890 for Linux to find it.
ebaaf49b 31891
dfab719f 318922008-11-14 Robert Millan <rmh@aybabtu.com>
31893
31894 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31895 order to cope with duplicate slashes.
31896
10fc3eb9 318972008-11-14 Robert Millan <rmh@aybabtu.com>
31898
31899 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31900 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31901 don't want to mess with lower memory, because it is used in the Linux
31902 loader.
31903
31904 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31905 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31906 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31907 is in our heap (probably as a result of it being corrupted during
2f2a3442 31908 decompression). Add #error instance with comment to explain why this
31909 loader isn't currently usable on PC/BIOS.
10fc3eb9 31910
e2e07847 319112008-11-14 Robert Millan <rmh@aybabtu.com>
31912
31913 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31914 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31915
fe8e8d69 319162008-11-12 Robert Millan <rmh@aybabtu.com>
31917
31918 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31919
31920 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31921 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31922 from here ...
31923 * include/grub/i386/pc/memory.h: ... to here.
31924
976b07d0 319252008-11-12 Robert Millan <rmh@aybabtu.com>
31926
31927 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31928 split).
31929
31930 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31931 (grub_console_cur_color, grub_console_real_putchar)
31932 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31933 (grub_console_setcolorstate, grub_console_setcolor)
31934 (grub_console_getcolor): Move from here ...
31935 * include/grub/i386/vga_common.h: ... to here (new file).
31936
31937 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31938 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31939 `<grub/i386/io.h>'.
31940 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31941 `<grub/i386/vga_common.h>'.
31942
76679cd3 319432008-11-12 Robert Millan <rmh@aybabtu.com>
31944
31945 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31946 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31947 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31948 variables.
31949 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31950 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31951
31952 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31953 grub_console_init() with call to grub_vga_text_init().
31954 (grub_machine_fini): Replace call to
31955 grub_console_fini() with call to grub_vga_text_fini() and
31956 grub_at_keyboard_fini().
31957
31958 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31959 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31960 (grub_console_setcolorstate, grub_console_setcolor)
31961 (grub_console_getcolor): New function prototypes.
31962
31963 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31964 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31965 (grub_vga_text_setcursor): Static-ize.
31966 (grub_vga_text_term): New structure.
31967 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31968
31969 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31970 (grub_console_cur_color, grub_console_standard_color)
31971 (grub_console_normal_color, grub_console_highlight_color)
31972 (map_char, grub_console_putchar, grub_console_getcharwidth)
31973 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31974 (grub_console_getcolor): Move from here ...
31975 * term/i386/vga_common.c: ... to here (same function names).
31976
95b841d3 319772008-11-12 Robert Millan <rmh@aybabtu.com>
31978
31979 Use newly-added Multiboot support in coreboot.
31980
31981 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31982 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31983
31984 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31985 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31986 (codestart): Store the MBI in `startup_multiboot_info' when we're
31987 being loaded using Multiboot.
31988
31989 * kern/i386/coreboot/init.c (grub_machine_init): Move
31990 grub_at_keyboard_init() call to beginning of function (useful for
31991 debugging). Call grub_machine_mmap_init() before attempting to use
31992 grub_machine_mmap_iterate().
31993 (grub_lower_mem, grub_upper_mem): Move from here ...
31994 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31995 here (new file).
31996
31997 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31998 function prototype.
31999
761ca975 320002008-11-12 Robert Millan <rmh@aybabtu.com>
32001
32002 Fix a regression introduced by the at_keyboard.mod split. Because
32003 some terminals are default on some platforms and non-default on
32004 others, the first terminal being registered determines which is
32005 going to be default.
32006
32007 * kern/term.c (grub_term_register_input): If this is the first
32008 terminal being registered, set it as the current one.
32009 (grub_term_register_output): Likewise.
32010
32011 * term/efi/console.c (grub_console_init): Do not call
32012 grub_term_set_current_output() or grub_term_set_current_input().
32013 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32014 * term/i386/pc/console.c (grub_console_init): Likewise.
32015 (grub_console_fini): Do not call grub_term_set_current_input()
32016 (but leave grub_term_set_current_output() to restore text mode).
32017
6c529df7 320182008-11-10 Robert Millan <rmh@aybabtu.com>
32019
32020 * util/grub.d/00_header.in: Add backward compatibility check for
32021 versions of terminal.mod that don't understand `terminal_input' or
32022 `terminal_output'.
32023
132e4113 320242008-11-09 Robert Millan <rmh@aybabtu.com>
32025
32026 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32027 `terminal_input' / `terminal_output', not `terminal'.
32028
ac293d50 320292008-11-08 Robert Millan <rmh@aybabtu.com>
32030
32031 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 32032 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 32033
0025933a 320342008-11-08 Robert Millan <rmh@aybabtu.com>
32035
32036 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 32037 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 32038 members. Update all users.
32039 * util/console.c (grub_ncurses_term): Split in ...
32040 (grub_ncurses_term_input): ... this, and ...
32041 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 32042 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 32043
37c86336 320442008-11-08 Robert Millan <rmh@aybabtu.com>
32045
32046 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32047 (PKGDATA): Add $(pkgdata_SRCDIR).
32048 (pkglib_BUILDDIR): New variable.
32049 (pkgdata_SRCDIR): New variable.
32050 (build_env.mk): New target.
32051 (include_DATA): New variable.
32052 (install-local): Install $(include_DATA) files in $(includedir).
32053
b6c15a2d 320542008-11-07 Pavel Roskin <proski@gnu.org>
32055
d99d46f1 32056 * gendistlist.sh: Use C locale for sorting to ensure consistent
32057 output on all systems.
32058
b6c15a2d 32059 * util/grub.d/00_header.in: Remove incorrect space before
32060 "serial".
32061
c32ee8c9 320622008-11-07 Robert Millan <rmh@aybabtu.com>
32063
32064 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32065 per specification.
32066 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32067 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32068 (based on find_multi_boot1_header).
32069 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32070 using find_multi_boot2_header(), and abort if neither Multiboot or
32071 Multiboot headers were found.
32072
651c29b7 320732008-11-07 Robert Millan <rmh@aybabtu.com>
32074
32075 Modularize at_keyboard.mod:
32076
32077 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32078 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32079 (at_keyboard_mod_LDFLAGS): New variables.
32080
32081 Actual terminal split:
32082
32083 * include/grub/term.h (struct grub_term): Split in ...
32084 (struct grub_term_input): ... this, and ...
32085 (struct grub_term_output): ... this. Update all users.
32086 (grub_term_set_current): Split in ...
32087 (grub_term_set_current_input): ... this, and ...
32088 (grub_term_set_current_output): ... this.
32089 (grub_term_get_current): Split in ...
32090 (grub_term_get_current_input): ... this, and ...
32091 (grub_term_get_current_output): ... this.
32092 (grub_term_register): Split in ...
32093 (grub_term_register_input): ... this, and ...
32094 (grub_term_register_output): ... this.
32095 (grub_term_unregister): Split in ...
32096 (grub_term_unregister_input): ... this, and ...
32097 (grub_term_unregister_output): ... this.
32098 (grub_term_iterate): Split in ...
32099 (grub_term_iterate_input): ... this, and ...
32100 (grub_term_iterate_output): ... this.
32101
32102 * kern/term.c (grub_term_list): Split in ...
32103 (grub_term_list_input): ... this, and ...
32104 (grub_term_list_output): ... this. Update all users.
32105 (grub_cur_term): Split in ...
32106 (grub_cur_term_input): ... this, and ...
32107 (grub_cur_term_output): ... this. Update all users.
32108 (grub_term_set_current): Split in ...
32109 (grub_term_set_current_input): ... this, and ...
32110 (grub_term_set_current_output): ... this.
32111 (grub_term_get_current): Split in ...
32112 (grub_term_get_current_input): ... this, and ...
32113 (grub_term_get_current_output): ... this.
32114 (grub_term_register): Split in ...
32115 (grub_term_register_input): ... this, and ...
32116 (grub_term_register_output): ... this.
32117 (grub_term_unregister): Split in ...
32118 (grub_term_unregister_input): ... this, and ...
32119 (grub_term_unregister_output): ... this.
32120 (grub_term_iterate): Split in ...
32121 (grub_term_iterate_input): ... this, and ...
32122 (grub_term_iterate_output): ... this.
32123
32124 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32125 a check for input and one for output (and only attempt to get keys
32126 from user when input works).
32127
32128 * util/grub-probe.c (grub_term_get_current): Split in ...
32129 (grub_term_get_current_input): ... this, and ...
32130 (grub_term_get_current_output): ... this.
32131 * util/grub-fstest.c: Likewise.
32132 * util/i386/pc/grub-setup.c: Likewise.
32133 * util/grub-editenv.c: Likewise.
32134
32135 Portability adjustments:
32136
32137 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32138 `term/i386/pc/at_keyboard.c'.
32139 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32140 grub_keyboard_controller_init() (now handled by terminal .init).
32141 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32142 grub_at_keyboard_init().
32143 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32144 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
32145 at_keyboard.mod via input terminal interface).
32146 * include/grub/i386/coreboot/console.h: Convert into a stub for
32147 `<grub/i386/pc/console.h>'.
32148
32149 Migrate full terminals to new API:
32150
32151 * term/efi/console.c (grub_console_term): Split into ...
32152 (grub_console_term_input): ... this, and ...
32153 (grub_console_term_output): ... this. Update all users.
32154 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32155 (grub_ofconsole_init): Split into ...
32156 (grub_ofconsole_init_input): ... this, and ...
32157 (grub_ofconsole_init_output): ... this.
32158 (grub_ofconsole_term): Split into ...
32159 (grub_ofconsole_term_input): ... this, and ...
32160 (grub_ofconsole_term_output): ... this. Update all users.
32161 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32162 (grub_serial_term_input): ... this, and ...
32163 (grub_serial_term_output): ... this. Update all users.
32164 * term/i386/pc/console.c (grub_console_term): Split into ...
32165 (grub_console_term_input): ... this, and ...
32166 (grub_console_term_output): ... this. Update all users.
32167 (grub_console_term_input): Only enable it on PC/BIOS platform.
32168 (grub_console_init): Remove grub_keyboard_controller_init() call.
32169
32170 Migrate input terminals to new API:
32171
32172 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32173 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32174 i386-specific anyway).
32175 (grub_console_checkkey): Rename to ...
32176 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32177 users.
32178 (grub_keyboard_controller_orig): New variable.
32179 (grub_console_getkey): Rename to ...
32180 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32181 users.
32182 (grub_keyboard_controller_init): Static-ize. Save original
32183 controller value so that it can be restored ...
32184 (grub_keyboard_controller_fini): ... here (new function).
32185 (grub_at_keyboard_term): New structure.
32186 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32187 functions.
32188
32189 Migrate output terminals to new API:
32190
32191 * term/i386/pc/vga.c (grub_vga_term): Change type to
32192 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32193 members. Update all users.
32194 * term/gfxterm.c (grub_video_term): Change type to
32195 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32196 members. Update all users.
32197 * include/grub/i386/pc/console.h (grub_console_checkkey)
32198 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32199 etc).
32200
32201 Migrate `terminal' command and userland tools to new API:
32202
32203 * commands/terminal.c (grub_cmd_terminal): Split into ...
32204 (grub_cmd_terminal_input): ... this, and ...
32205 (grub_cmd_terminal_output): ... this.
32206 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32207 `terminal_input' and `terminal_output'.
32208 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32209 `terminal_input' / `terminal_output' API.
32210 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32211 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32212 provided ${GRUB_TERMINAL}, convert it).
32213
96e5d876 322142008-11-04 Robert Millan <rmh@aybabtu.com>
32215
32216 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32217 for FreeBSD.
32218 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32219
556f3775 322202008-11-03 Bean <bean123ch@gmail.com>
32221
32222 * kern/elf.c (grub_elf32_load): Revert to previous code.
32223 (grub_elf64_load): Likewise.
32224
32225 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
32226
926b9823 322272008-11-01 Robert Millan <rmh@aybabtu.com>
32228
32229 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
32230 (TARGET_CPPFLAGS): Likewise.
32231 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
32232
1432e958 322332008-11-01 Carles Pina i Estany <carles@pina.cat>
32234
32235 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
32236
dba3f844 322372008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 32238
32239 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
32240 addition of objects until the code is not going to be able to fail.
32241
dba3f844 322422008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 32243
32244 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
32245 (add a missing NULL check, and correct them by moving the pointer
32246 operations after the actual check).
32247
7ab28c21 322482008-10-29 Robert Millan <rmh@aybabtu.com>
32249
32250 * util/i386/pc/grub-install.in: Handle empty string as output from
32251 make_system_path_relative_to_its_root().
32252
1b7748eb 322532008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
32254
32255 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
32256 circular metadata worst case scenario. If the metadata is circular
32257 then copy the wrap in place.
32258 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
32259 project lib/format_text/layout.h
32260 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
32261
c9618ab2 322622008-10-03 Felix Zielcke <fzielcke@z-51.de>
32263
7a36edca 32264 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 32265
bf981c62 322662008-10-03 Felix Zielcke <fzielcke@z-51.de>
32267
32268 * util/update-grub_lib.in: Mention filename in warning message.
32269
6d994591 322702008-09-29 Felix Zielcke <fzielcke@z-51.de>
32271
32272 * NEWS: Update for rename of update-grub to grub-mkconfig.
32273
18ade780 322742008-09-29 Felix Zielcke <fzielcke@z-51.de>
32275
32276 * util/update-grub_lib.in: Copy to ...
32277 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 32278 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 32279 * util/update-grub.in: Rename to ...
32280 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
32281 option. Add `--output' option to allow users to specify the generated
32282 configuration file. Default to stdout.
32283 (update_grub_dir): Rename to ...
32284 (grub_mkconfig_dir): ... this.
32285 (grub_cfg): Default to an empty string.
32286 * conf/common.rmk (update-grub): Rename to ...
32287 (grub-mkconfig): ... this.
32288 (update-grub_lib): Copy to ...
32289 (grub-mkconfig_lib): ... this.
32290 (update-grub_SCRIPTS): Copy to ...
32291 (grub-mkconfig_SCRIPTS): ... this. Update all users.
32292 (update-grub_DATA): Rename to ...
32293 (grub-mkconfig_DATA): ... this.
32294
556ce6ac 322952008-09-28 Robert Millan <rmh@aybabtu.com>
32296
32297 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
32298 to `modified'. Add the real `created' field.
32299 (grub_iso9660_uuid): Use `modified' rather than `created' for
32300 constructing the UUID.
32301
323022008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 32303
32304 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
32305 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
32306
92274e85 323072008-09-28 Bean <bean123ch@gmail.com>
32308
32309 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
32310 Thanks to Christian Franke for finding this bug.
32311
add6f17a 323122008-09-25 Robert Millan <rmh@aybabtu.com>
32313
32314 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
32315 instances of grub_util_get_disk_name() (see previous commit).
32316
d2a367b8 323172008-09-25 Robert Millan <rmh@aybabtu.com>
32318
32319 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
32320 `util/i386/get_disk_name.c'.
32321 * conf/i386-efi.rmk: Likewise.
32322 * conf/x86_64-efi.rmk: Likewise.
32323 * conf/i386-coreboot.rmk: Likewise.
32324 * conf/i386-ieee1275.rmk: Likewise.
32325 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
32326 `util/ieee1275/get_disk_name.c'.
32327 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
32328 * util/ieee1275/get_disk_name.c: Remove file.
32329 * util/i386/get_disk_name.c: Remove file.
32330 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
32331 "hd%d" for device.map entries, rather than using
32332 grub_util_get_disk_name().
32333
81a06771 323342008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 32335
32336 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
32337 warning.
32338 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
32339
5a004279 323402008-09-24 Carles Pina i Estany <carles@pina.cat>
32341
32342 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
32343 Changed to 0x5100.
32344 (GRUB_TERM_PPAGE): Changed to 0x4900.
32345
397093d3 323462008-09-24 Robert Millan <rmh@aybabtu.com>
32347
32348 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
32349 macros (they were i386-pc specific).
32350 * include/grub/sparc64/ieee1275/console.h: Likewise.
32351 * include/grub/efi/console.h: Likewise.
32352
a91b6c7c 323532008-09-22 Bean <bean123ch@gmail.com>
32354
32355 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
32356 resident and in attribute list.
32357
32358 * include/grub/ntfs.h (BMP_LEN): Removed.
32359
c40fd116 323602008-09-22 Bean <bean123ch@gmail.com>
32361
81a06771 32362 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 32363 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
32364
32365 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
32366 error occurs, as grub_disk_open will call grub_disk_close, which will
32367 call p->close (scsi).
32368
81a06771 323692008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 32370
32371 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
32372 (AC_PREREQ): Bumped to 2.59.
32373 (AC_TRY_COMPILE): Replace obsolete macro with ...
32374 (AC_COMPILE_IFELSE): ... this.
32375 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
32376 (AC_LINK_IFELSE): ... this.
32377
5dc43410 323782008-09-21 Felix Zielcke <fzielcke@z-51.de>
32379
32380 * autogen.sh: Add a call to `gendistlist.sh'.
32381
9035dce4 323822008-09-19 Christian Franke <franke@computer.org>
32383
32384 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
32385 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
32386 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
32387 Export __enable_execute_stack() to modules.
32388 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
32389 New function.
32390
7fd75377 323912008-09-09 Felix Zielcke <fzielcke@z-51.de>
32392
040030b3 32393 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
32394 Sort the list.
32395
323962008-09-09 Felix Zielcke <fzielcke@z-51.de>
32397
32398 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 32399 #include <grub/util/hostdisk.h>.
32400
89d5ffcf 324012008-09-08 Robert Millan <rmh@aybabtu.com>
32402
32403 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
32404 segments when their filesz is zero (grub_file_read() interprets
81a06771 32405 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 32406 Use `lowest_segment' rather than 0 for calculating the current
32407 segment load address.
32408
40da438f 324092008-09-08 Robert Millan <rmh@aybabtu.com>
32410
32411 * util/hostdisk.c (open_device): Replace a grub_util_info() call
32412 with grub_dprintf("hostdisk", ...), as it was so verbose that it
32413 clobbered useful information.
32414
ddbf5556 324152008-09-08 Robert Millan <rmh@aybabtu.com>
32416
32417 * include/grub/util/biosdisk.h: Move to ...
32418 * include/grub/util/hostdisk.h: ... here. Update all users.
32419 * util/biosdisk.c: Move to ...
32420 * util/hostdisk.c: ... here. Update all users.
32421
783d0f48 324222008-09-07 Robert Millan <rmh@aybabtu.com>
32423
32424 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
32425 variables.
32426 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
32427 and length can be stored directly in the `mbi->mmap_addr' and
32428 `mbi->mmap_length' struct fields.
32429
548e2ea5 324302008-09-07 Robert Millan <rmh@aybabtu.com>
32431
32432 * conf/i386.rmk: New file. Provides declaration for building
32433 `cpuid.mod'.
32434 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
32435 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
32436 variables.
32437 Include `conf/i386.mk'.
32438 * conf/i386-efi.rmk: Likewise.
32439 * conf/x86_64-efi.rmk: Likewise.
32440 * conf/i386-coreboot.rmk: Likewise.
32441 * conf/i386-ieee1275.rmk: Likewise.
32442
0ea85a37 324432008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
32444
32445 Based on patch created by Colin D Bennett <colin@gibibit.com>.
32446 Adds optimization support for BGR based modes.
32447
32448 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
32449 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32450 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32451 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32452 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32453 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32454 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32455 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32456 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32457 (grub_video_i386_vbeblit_index_index): Likewise.
32458 (grub_video_i386_vbeblit_replace_directN): Added.
32459 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32460 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32461 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32462 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32463 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32464 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 32465 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 32466 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32467 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32468 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32469 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32470 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32471 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
32472
32473 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
32474 (grub_video_i386_vbefill_R8G8B8): Likewise.
32475 (grub_video_i386_vbefill_index): Likewise.
32476 (grub_video_i386_vbefill_direct32): Added.
32477 (grub_video_i386_vbefill_direct24): Likewise.
32478 (grub_video_i386_vbefill_direct16): Likewise.
32479 (grub_video_i386_vbefill_direct8): Likewise.
32480
81a06771 32481 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 32482 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
32483 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
32484 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
32485 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
32486 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 32487
0ea85a37 32488 * video/video.c (grub_video_get_blit_format): Updated to use new
32489 blit formats. Added handling for 16 bit color modes.
81a06771 32490
32491 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 32492 fillers.
32493 (common_blitter): Updated to use new blitters.
32494
32495 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
32496 Removed.
32497 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32498 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32499 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32500 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32501 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32502 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32503 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32504 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32505 (grub_video_i386_vbeblit_index_index): Likewise.
32506 (grub_video_i386_vbeblit_replace_directN): Added.
32507 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32508 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32509 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32510 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32511 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32512 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
32513 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
32514 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32515 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32516 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32517 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32518 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32519 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 32520
0ea85a37 32521 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
32522 (grub_video_i386_vbefill_R8G8B8): Likewise.
32523 (grub_video_i386_vbefill_index): Likewise.
32524 (grub_video_i386_vbefill_direct32): Added.
32525 (grub_video_i386_vbefill_direct24): Likewise.
32526 (grub_video_i386_vbefill_direct16): Likewise.
32527 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 32528
0ea85a37 32529 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
32530 types.
81a06771 32531
0ea85a37 32532 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
32533 types.
81a06771 32534
0ea85a37 32535 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
32536 blitter types.
81a06771 32537
0ea85a37 32538 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
32539 types.
32540
e8a83df6 325412008-09-06 Felix Zielcke <fzielcke@z-51.de>
32542
32543 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
32544 RAID level 1.
32545
6bcd8ee5 325462008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 32547
6bcd8ee5 32548 * fs/iso9660.c (grub_iso9660_date): New structure.
32549 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
32550 (grub_iso9660_uuid): New function.
c375ae58 32551
59261157 325522008-09-05 Bean <bean123ch@gmail.com>
32553
32554 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
32555
32556 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
32557 insensitive bit for names in Win32 and Win32 & DOS namespace.
32558
32559 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
32560
32561 * include/grub/types.h (LONG_MAX): Likewise.
32562
58b6645a 325632008-09-04 Felix Zielcke <fzielcke@z-51.de>
32564
4ee55921 32565 * util/getroot.c: Include <config.h>.
32566 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
32567 add support for /dev/md/N devices and handle LVM double dash escaping.
32568
325692008-09-04 Felix Zielcke <fzielcke@z-51.de>
32570
32571 * config.guess: Update to latest version from config git.
32572 * config.sub: Likewise.
58b6645a 32573
9124f65d 325742008-09-03 Robert Millan <rmh@aybabtu.com>
32575
32576 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
32577 `disk->total_sectors'.
32578
81a06771 325792008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 32580
32581 * include/grub/normal.h: Fixed incorrect comment for
32582 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
32583
81a06771 325842008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 32585
32586 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
32587 values with defines.
32588
32589 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
32590 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
32591 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32592 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32593 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32594 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32595 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32596 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32597 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32598 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32599 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32600 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32601 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32602 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32603 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32604 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32605 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32606 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32607 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32608
93d5cbf8 326092008-08-31 Robert Millan <rmh@aybabtu.com>
32610
32611 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32612 declaration.
32613 (grub_multiboot): Fix a few warnings.
32614
21751d50 326152008-08-31 Robert Millan <rmh@aybabtu.com>
32616
32617 * loader/i386/pc/multiboot.c: Update comment not to say that
32618 boot_device support is unimplemented.
32619
e27a75c5 326202008-08-31 Robert Millan <rmh@aybabtu.com>
32621
32622 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32623 or memory map support are unimplemented.
32624
81a06771 326252008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32626
32627 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32628
81a06771 326292008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32630
32631 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32632 total video memory in 'vbeinfo' output; show color format details for
32633 each video mode.
32634
7c5d8d95 326352008-08-30 Pavel Roskin <proski@gnu.org>
32636
32637 * util/genmoddep.c: Remove for real this time.
32638 * DISTLIST: Remove util/genmoddep.c.
32639
4cebd25a 326402008-08-30 Robert Millan <rmh@aybabtu.com>
32641
32642 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32643 as required by Multiboot spec (it was already 4-byte aligned, but
32644 only by chance).
32645
b497a269 326462008-08-29 Pavel Roskin <proski@gnu.org>
32647
e3925185 32648 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32649 * kern/powerpc/ieee1275/startup.S: ... this.
32650 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32651 * DISTLIST: Likewise.
32652
b497a269 32653 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32654 grub/cpu/kernel.h. Add start label for consistency with other
32655 platforms. Add grub_prefix immediately after start. Add jump
32656 to the code after grub_prefix.
32657 * include/grub/powerpc/kernel.h: Provide valid values for
32658 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32659
6e5a42fe 326602008-08-29 Bean <bean123ch@gmail.com>
32661
32662 * configure.ac: Change host_os to cygwin for mingw.
32663 (asprintf): New check for function.
32664
32665 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32666 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32667
32668 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32669 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32670 sync, sleep and grub_util_get_disk_size for mingw.
32671
32672 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32673 to get size in mingw.
32674 (open_device): Use flag O_BINARY if it's defined.
32675 (find_root_device): Add dummy code for mingw.
32676
32677 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32678 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32679 (get_scsi_disk_name): Return 0 for mingw.
32680
32681 * util/hostfs.c: #include <grub/util/misc.h>.
32682 (grub_hostfs_open): Use "rb" flag to open file, use
32683 grub_util_get_disk_size to get disk size for mingw.
32684
32685 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32686 (asprintf): New function if HAVE_ASPRINTF is not set.
32687 (sync): New function for mingw.
32688 (sleep): Likewise.
32689 (grub_util_get_disk_size): Likewise.
32690
ab3f2673 326912008-08-28 Pavel Roskin <proski@gnu.org>
32692
32693 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32694 kern/time.c.
32695
1c282483 326962008-08-28 Robert Millan <rmh@aybabtu.com>
32697
32698 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32699
678e849c 327002008-08-28 Robert Millan <rmh@aybabtu.com>
32701
32702 Change find_grub_drive() syntax so it doesn't prevent it from
32703 detecting NULL names as errors.
32704
32705 * util/biosdisk.c (find_grub_drive): Move free slot search code
32706 from here ...
32707 (find_free_slot): ... to here.
32708 (read_device_map): Use find_free_slot() to search for free slots.
32709
965c75ca 327102008-08-27 Marco Gerards <marco@gnu.org>
32711
32712 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32713 (scsi_mod_SOURCES): New variable.
32714 (scsi_mod_CFLAGS): Likewise
32715 (scsi_mod_LDFLAGS): Likewise.
32716
32717 * disk/scsi.c: New file.
32718
32719 * include/grub/scsi.h: Likewise.
32720
32721 * include/grub/scsicmd.h: Likewise.
32722
32723 * disk/ata.c: Include <grub/scsi.h>.
32724 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32725 instead.
32726 (grub_ata_iterate): Skip ATAPI devices.
32727 (grub_ata_open): Only handle ATAPI devices.
32728 (struct grub_atapi_read): Removed.
32729 (grub_atapi_readsector): Likewise.
32730 (grub_ata_read): No longer handle ATAPI devices.
32731 (grub_ata_write): Likewise.
32732 (grub_atapi_iterate): New function.
32733 (grub_atapi_read): Likewise.
32734 (grub_atapi_write): Likewise.
32735 (grub_atapi_open): Likewise.
32736 (grub_atapi_close): Likewise.
32737 (grub_atapi_dev): New variable.
32738 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32739 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32740
32741 * include/grub/disk.h (enum grub_disk_dev_id): Add
32742 `GRUB_DISK_DEVICE_SCSI_ID'.
32743
c07ae501 327442008-08-26 Robert Millan <rmh@aybabtu.com>
32745
32746 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32747 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32748 descriptive.
32749
5ed20adc 327502008-08-23 Bean <bean123ch@gmail.com>
32751
32752 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32753 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32754 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32755 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32756 dm_nv.mod.
32757 (raid5rec_mod_SOURCES): New macro.
32758 (raid5rec_mod_CFLAGS): Likewise.
32759 (raid5rec_mod_LDFLAGS): Likewise.
32760 (raid6rec_mod_SOURCES): Likewise.
32761 (raid6rec_mod_CFLAGS): Likewise.
32762 (raid6rec_mod_LDFLAGS): Likewise.
32763 (mdraid_mod_SOURCES): Likewise.
32764 (mdraid_mod_CFLAGS): Likewise.
32765 (mdraid_mod_LDFLAGS): Likewise.
32766 (dm_nv_mod_SOURCES): Likewise.
32767 (dm_nv_mod_CFLAGS): Likewise.
32768 (dm_nv_mod_LDFLAGS): Likewise.
32769
32770 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32771 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32772 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32773
32774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32775 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32776
32777 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32778
32779 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32780
32781 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32782
32783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32784
32785 * disk/raid5_recover.c: New file.
32786
32787 * disk/raid6_recover.c: Likewise.
32788
32789 * disk/mdraid_linux.c: Likewise.
32790
32791 * disk/dmraid_nvidia.c: Likewise.
32792
32793 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32794 ULONG_MAX.
32795
32796 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32797 calculate the size of raid device.
32798 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32799 different layout of raid5.
32800 (grub_raid_scan_device): Remove code specific to mdraid.
32801 (grub_raid_list): New variable.
32802 (free_array): New function.
32803 (grub_raid_register): Likewise.
32804 (grub_raid_unregister): Likewise.
32805 (grub_raid_rescan): Likewise.
32806 (GRUB_MOD_INIT): Don't iterate device here.
32807 (GRUB_MOD_FINI): Use free_array to release resource.
32808
32809 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32810 (grub_raid5_recover_func_t): New function variable type.
32811 (grub_raid6_recover_func_t): Likewise.
32812 (grub_raid5_recover_func): New variable.
32813 (grub_raid6_recover_func): Likewise.
32814 (grub_raid_register): New function.
32815 (grub_raid_unregister): Likewise.
32816 (grub_raid_rescan): Likewise.
32817 (grub_raid_block_xor): Likewise.
32818
32819 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32820 (CMD_CRC): New macro.
32821 (part): Removed.
32822 (read_file): Handle device as well as file.
32823 (cmd_crc): New function.
32824 (fstest): Handle multiple disks.
32825 (options): Remove part, raw and long, add root and diskcount.
32826 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32827 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32828 add handling for the new options, support multiple disks.
32829
32830 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32831
29c18915 328322008-08-23 Bean <bean123ch@gmail.com>
32833
32834 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32835
32836 * genfslist.sh: Ignore kernel.mod.
32837
32838 * genpartmaplist.sh: Likewise.
32839
8415f261 328402008-08-23 Robert Millan <rmh@aybabtu.com>
32841
32842 * util/getroot.c (find_root_device): Skip anything that starts with
32843 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32844
d5a7dc5b 328452008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32846
d5a7dc5b 32847 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32848 * util/grub.d/00_header.in: Allow the administrator to change default
32849 gfxmode via ${GRUB_GFXMODE}.
32850
380cfbb4 328512008-08-21 Felix Zielcke <fzielcke@z-51.de>
32852
32853 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32854
c9baafe7 328552008-08-21 Robert Millan <rmh@aybabtu.com>
32856
32857 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32858 loader.
32859 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32860 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32861
e290bef2 328622008-08-20 Carles Pina i Estany <carles@pina.cat>
32863
32864 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32865 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32866
f9dbfc96 328672008-08-19 Robert Millan <rmh@aybabtu.com>
32868
32869 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32870 (struct grub_virtual_screen): Remove `cursor_color'.
32871 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32872 initialization.
32873 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32874
dd6bd6ab 328752008-08-18 Robert Millan <rmh@aybabtu.com>
32876
32877 Unify (identical) linux_normal.c files.
32878 * loader/i386/efi/linux_normal.c: Move from here ...
32879 * loader/linux_normal.c: ... to here. Update all users.
32880 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32881 * loader/i386/ieee1275/linux_normal.c: Likewise.
32882
7f42f83e 328832008-08-18 Robert Millan <rmh@aybabtu.com>
32884
32885 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32886 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32887 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32888 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32889 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32890 New macros.
32891 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32892 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32893 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32894 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32895 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32896 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32897 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32898 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32899 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32900 portably using grub_getxy().
32901 Replace `-EFI' with `-bzImage' in boot message.
32902
38487ddb 329032008-08-17 Robert Millan <rmh@aybabtu.com>
32904
32905 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32906
deceb3ec 329072008-08-17 Robert Millan <rmh@aybabtu.com>
32908
32909 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32910
32911 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32912 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32913 (grub_machine_mmap_iterate): New function declaration.
32914 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32915 structure.
32916 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32917 macros.
32918
32919 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32920 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32921 Move e820 parsing from here ...
32922 * kern/i386/pc/mmap.c: New file.
32923 (grub_machine_mmap_iterate): ... to here.
32924
32925 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32926 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32927 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32928 (grub_available_iterate): Redeclare to return `void', and redeclare
32929 its hook to use grub_uint64_t as addr and size parameters, and rename
32930 to ...
32931 (grub_machine_mmap_iterate): ... this. Update all users.
32932
32933 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32934 to make it more readable. Rename to ...
32935 (grub_machine_mmap_iterate): ... this.
32936
32937 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32938 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32939 (grub_multiboot): Allocate an extra region after the payload, and fill
32940 it with a Multiboot memory map. Adjust a.out loader to calculate size
32941 with the extra space.
32942 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32943 with the extra space.
32944
f8aa0f43 329452008-08-17 Carles Pina i Estany <carles@pina.cat>
32946
9807deb9 32947 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32948
605f5bb6 329492008-08-17 Felix Zielcke <fzielcke@z-51.de>
32950
32951 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32952 mdate-sh to the list `find' searches for.
32953 * DISTLIST: Regenerated.
32954
210db6c6 329552008-08-16 Felix Zielcke <fzielcke@z-51.de>
32956
32957 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32958 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32959 genmoddep.awk, gensymlist.sh.in.
32960 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32961 * DISTLIST: Regenerated.
48cdbfd4 32962 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32963
1082b929 329642008-08-16 Robert Millan <rmh@aybabtu.com>
32965
32966 * disk/raid.c (grub_raid_init): Handle/report errors set by
32967 grub_device_iterate().
32968 * disk/lvm.c (grub_lvm_init): Likewise.
32969
42ce5170 329702008-08-15 Bean <bean123ch@gmail.com>
32971
32972 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32973 and datehook.mod.
32974 (datetime_mod_SOURCES): New macro.
32975 (datetime_mod_CFLAGS): Likewise.
32976 (datetime_mod_LDFLAGS): Likewise.
32977 (date_mod_SOURCES): Likewise.
32978 (date_mod_CFLAGS): Likewise.
32979 (date_mod_LDFLAGS): Likewise.
32980 (datehook_mod_SOURCES): Likewise.
32981 (datehook_mod_CFLAGS): Likewise.
32982 (datehook_mod_LDFLAGS): Likewise.
32983
32984 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32985 and datehook.mod.
32986 (datetime_mod_SOURCES): New macro.
32987 (datetime_mod_CFLAGS): Likewise.
32988 (datetime_mod_LDFLAGS): Likewise.
32989 (date_mod_SOURCES): Likewise.
32990 (date_mod_CFLAGS): Likewise.
32991 (date_mod_LDFLAGS): Likewise.
32992 (datehook_mod_SOURCES): Likewise.
32993 (datehook_mod_CFLAGS): Likewise.
32994 (datehook_mod_LDFLAGS): Likewise.
32995
32996 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32997 and datehook.mod.
32998 (datetime_mod_SOURCES): New macro.
32999 (datetime_mod_CFLAGS): Likewise.
33000 (datetime_mod_LDFLAGS): Likewise.
33001 (date_mod_SOURCES): Likewise.
33002 (date_mod_CFLAGS): Likewise.
33003 (date_mod_LDFLAGS): Likewise.
33004 (datehook_mod_SOURCES): Likewise.
33005 (datehook_mod_CFLAGS): Likewise.
33006 (datehook_mod_LDFLAGS): Likewise.
33007
33008 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33009 and datehook.mod.
33010 (datetime_mod_SOURCES): New macro.
33011 (datetime_mod_CFLAGS): Likewise.
33012 (datetime_mod_LDFLAGS): Likewise.
33013 (date_mod_SOURCES): Likewise.
33014 (date_mod_CFLAGS): Likewise.
33015 (date_mod_LDFLAGS): Likewise.
33016 (datehook_mod_SOURCES): Likewise.
33017 (datehook_mod_CFLAGS): Likewise.
33018 (datehook_mod_LDFLAGS): Likewise.
33019
33020 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33021 and datehook.mod.
33022 (datetime_mod_SOURCES): New macro.
33023 (datetime_mod_CFLAGS): Likewise.
33024 (datetime_mod_LDFLAGS): Likewise.
33025 (date_mod_SOURCES): Likewise.
33026 (date_mod_CFLAGS): Likewise.
33027 (date_mod_LDFLAGS): Likewise.
33028 (datehook_mod_SOURCES): Likewise.
33029 (datehook_mod_CFLAGS): Likewise.
33030 (datehook_mod_LDFLAGS): Likewise.
33031
33032 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33033
33034 * commands/date.c: New file.
33035
33036 * hook/datehook.c: Likewise.
33037
33038 * include/grub/lib/datetime.h: Likewise.
33039
33040 * include/grub/i386/cmos.h: Likewise.
33041
33042 * lib/datetime.c: Likewise.
33043
33044 * lib/i386/datetime.c: Likewise.
33045
33046 * lib/efi/datetime.c: Likewise.
33047
0e9242da 330482008-08-14 Robert Millan <rmh@aybabtu.com>
33049
33050 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33051 (grub_mkelfimage_SOURCES): New variable.
33052 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33053
33054 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33055 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33056 * conf/powerpc-ieee1275.rmk: Likewise.
33057 * conf/i386-ieee1275.rmk: Likewise.
33058
33059 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33060 * kern/i386/coreboot/init.c: Likewise.
33061
33062 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33063 with `<grub/cpu/kernel.h>'.
33064 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33065 to ...
33066 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33067 * kern/i386/coreboot/startup.S: Likewise.
33068
33069 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33070 (GRUB_MOD_GAP): Remove.
33071 * include/grub/powerpc/kernel.h: New file.
33072 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33073 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33074 * include/grub/i386/kernel.h: New file.
33075 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33076 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33077 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33078
33079 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33080 `grub-mkelfimage'.
33081 Use --directory when invoking grub_mkimage.
33082
33083 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33084 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33085 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33086 and GRUB_KERNEL_CPU_PREFIX.
33087
b86408f8 330882008-08-14 Felix Zielcke <fzielcke@z-51.de>
33089
d5e619ca 33090 * include/grub/err.h (grub_err_printf): New function prototype.
33091 * util/misc.c (grub_err_printf): New function.
33092 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33093 grub_printf.
33094 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 33095
7161f0e0 330962008-08-13 Robert Millan <rmh@aybabtu.com>
33097
33098 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33099
a1967522 331002008-08-13 Robert Millan <rmh@aybabtu.com>
33101
33102 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33103 boot entry.
33104
371458b5 331052008-08-12 Robert Millan <rmh@aybabtu.com>
33106
33107 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33108 of the relocation code from here ...
33109 (grub_multiboot): ... to here.
33110 (forward_relocator, backward_relocator): Move from here ...
33111 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33112 (grub_multiboot_backward_relocator): ... to here.
33113 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33114 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33115 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33116 (grub_multiboot_forward_relocator_end)
33117 (grub_multiboot_backward_relocator)
33118 (grub_multiboot_backward_relocator_end): New variables.
33119
05f9452b 331202008-08-12 Bean <bean123ch@gmail.com>
33121
33122 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33123
20024ab0 331242008-08-11 Robert Millan <rmh@aybabtu.com>
33125
33126 * kern/i386/linuxbios/startup.S: Move from here ...
33127 * kern/i386/coreboot/startup.S: ... to here.
33128
33129 * kern/i386/linuxbios/init.c: Move from here ...
33130 * kern/i386/coreboot/init.c: ... to here.
33131
33132 * kern/i386/linuxbios/table.c: Move from here ...
33133 * kern/i386/coreboot/mmap.c: ... to here.
33134
33135 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33136
e352e9cd 331372008-08-11 Robert Millan <rmh@aybabtu.com>
33138
33139 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33140 errors. Leave it to the upper layer to handle them.
33141
2d05bc6a 331422008-08-09 Christian Franke <franke@computer.org>
33143
33144 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
33145 * conf/common.rmk: Install `grub-pe2elf' only if requested.
33146 Install `grub.d/10_windows' only on Cygwin.
33147 * configure.ac: Add subst of `target_os'.
33148 Check `target_os' also before setting TARGET_OBJ2ELF.
33149 Add `--enable-grub-pe2elf'.
33150
042bd419 331512008-08-08 Robert Millan <rmh@aybabtu.com>
33152
33153 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33154 (grub_last_time): Change type to grub_uint64_t.
33155 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33156 (grub_disk_close): Likewise.
33157
33158 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33159 (run_menu): Migrate code from to using grub_get_time_ms().
33160
33161 * util/misc.c (grub_get_time_ms): New function.
33162
7f280db5 331632008-08-08 Marco Gerards <marco@gnu.org>
33164
33165 * disk/ata.c (grub_ata_regget): Change return type to
33166 `grub_uint8_t'.
33167 (grub_ata_regget2): Likewise.
33168 (grub_ata_wait_status): New function.
33169 (grub_ata_wait_busy): Removed function, updated all users to use
33170 `grub_ata_wait_status'.
33171 (grub_ata_wait_drq): Likewise.
33172 (grub_ata_cmd): New function.
33173 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33174 error handling.
33175 (grub_ata_pio_write): Add error handling.
33176 (grub_atapi_identify): Likewise.
33177 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33178 handling.
33179 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33180 handling. Actually use the detected registers. Reorder the
33181 detection logic such that it is easier to read.
33182 (grub_ata_pciinit): Do not assign the same ID to each controller.
33183 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33184 handling.
33185 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33186
33187 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33188
1fbc5e66 331892008-08-08 Marco Gerards <marco@gnu.org>
33190
33191 * NEWS: Update.
33192
819ce6c0 331932008-08-07 Bean <bean123ch@gmail.com>
33194
33195 * include/grub/x86_64/pci.h: New file.
33196
5c41d44d 331972008-08-07 Christian Franke <franke@computer.org>
33198
33199 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33200 (TIMER2_GATE): Likewise.
33201 (grub_pit_wait): Add enable/disable of the timer2 gate
33202 bit of port 0x61. This fixes a possible infinite loop.
33203
5ebc275d 332042008-08-07 Bean <bean123ch@gmail.com>
33205
33206 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33207 kern/i386/tsc.c and kern/i386/pit.c.
33208
33209 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33210 x86_64 platform.
33211
33212 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33213 <grub/i386/tsc.h>.
33214
33215 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33216
e383b3d0 332172008-08-07 Bean <bean123ch@gmail.com>
33218
33219 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33220
33221 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33222
33223 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
33224 multiple inclusion. Add #include <grub/types.h>.
33225
1cbb58ac 332262008-08-06 Christian Franke <franke@computer.org>
33227
33228 * conf/common.rmk: Build and install `10_windows'.
33229 * util/grub.d/10_windows.in: New script.
33230
337f5a1e 332312008-08-06 Pavel Roskin <proski@gnu.org>
33232
33233 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
33234
057bc4ac 332352008-08-06 Robert Millan <rmh@aybabtu.com>
33236
33237 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
33238 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
33239
2b99f123 332402008-08-06 Bean <bean123ch@gmail.com>
33241
33242 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
33243 (grub_pxefs_fs_int): Remove dummy definition.
33244 (grub_pxefs_open): Use data->block_size to store the current block
33245 size setting.
33246 (grub_pxefs_read): Use block size stored in data->block_size. As the
33247 value of grub_pxe_blksize can be changed after the file is opened.
33248
9f0234cb 332492008-08-06 Bean <bean123ch@gmail.com>
33250
33251 * fs/i386/pc/pxe.c (curr_file): new variable.
33252 (grub_pxefs_open): Simply the handling of pxe file system. Don't
33253 require the dummy internal file system anymore.
33254 (grub_pxefs_read): Removed.
33255 (grub_pxefs_close): Likewise.
33256 (grub_pxefs_fs_int): Likewise.
33257 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
33258 connection when we switch file.
33259 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
33260
a55d42e0 332612008-08-06 Robert Millan <rmh@aybabtu.com>
33262
33263 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
33264 `halt.mod'.
33265 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
33266 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
33267
33268 * kern/i386/halt.c: New file.
33269 * kern/i386/reboot.c: Likewise.
33270 * include/grub/i386/reboot.h: Likewise.
33271 * include/grub/i386/halt.h: Likewise.
33272
33273 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
33274 Include `<grub/cpu/halt.h>'.
33275 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
33276 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
33277
33278 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
33279 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
33280 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
33281 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
33282 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
33283 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
33284 from here ...
33285 * include/grub/i386/at_keyboard.h: ... to here.
33286
24371d26 332872008-08-05 Robert Millan <rmh@aybabtu.com>
33288
33289 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
33290 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
33291 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
33292 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33293 `kern/generic/millisleep.c'.
33294
33295 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
33296 instead of grub_get_rtc().
33297 (grub_tsc_init): Initialize `tsc_boot_time'.
33298
33299 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
33300 (grub_machine_init): Use grub_tsc_init() rather than
33301 installing an RTC-based handler via grub_install_get_time_ms().
33302
33303 * kern/i386/pit.c: New file.
33304 * include/grub/i386/pit.h: Likewise.
33305
9e7007b3 333062008-08-05 Bean <bean123ch@gmail.com>
33307
33308 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
33309
33310 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
33311 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
33312 (pxe_mod_SOURCES): New macro.
33313 (pxe_mod_CFLAGS): Likewise.
33314 (pxe_mod_LDFLAGS): Likewise.
33315 (pxecmd_mod_SOURCES): Likewise.
33316 (pxecmd_mod_CFLAGS): Likewise.
33317 (pxecmd_mod_LDFLAGS): Likewise.
33318
33319 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
33320 (grub_pxe_call): Likewise.
33321
33322 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
33323
33324 * commands/i386/pc/pxecmd.c: New file.
33325
9f0234cb 33326 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 33327
33328 * include/grub/i386/pc/pxe.h: Likewise.
33329
6977d49f 333302008-08-05 Bean <bean123ch@gmail.com>
33331
33332 * util/console.c (grub_console_cur_color): New variable.
33333 (grub_console_standard_color): Likewise.
33334 (grub_console_normal_color): Likewise.
33335 (grub_console_highlight_color): Likewise.
33336 (color_map): Likewise.
33337 (use_color): Likewise.
33338 (NUM_COLORS): New macro.
33339 (grub_ncurses_setcolorstate): Handle color properly.
33340 (grub_ncurses_setcolor): Don't change color here, just remember the
33341 settings, color will be set in grub_ncurses_setcolorstate.
33342 (grub_ncurses_getcolor): New function.
33343 (grub_ncurses_init): Initialize color pairs.
33344 (grub_ncurses_term): New member grub_ncurses_getcolor.
33345
9c2ff3ee 333462008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 33347
9c2ff3ee 33348 High resolution timer support. Implemented for x86 CPUs using TSC.
33349 Extracted generic grub_millisleep() so it's linked in only as needed.
33350 This requires a Pentium compatible CPU; if the RDTSC instruction is
33351 not supported, then it falls back on the generic grub_get_time_ms()
33352 implementation that uses the machine's RTC.
33353
33354 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
33355 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33356 `kern/generic/millisleep.c'.
33357
33358 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
33359 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
33360
33361 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
33362 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
33363
33364 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33365
33366 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33367 `kern/generic/millisleep.c'.
33368
33369 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33370
33371 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
33372
33373 * kern/generic/rtc_get_time_ms.c: New file.
33374
33375 * kern/generic/millisleep.c: New file.
337f5a1e 33376
9c2ff3ee 33377 * kern/misc.c: Don't include
33378 <kern/time.h> anymore.
33379 (grub_millisleep_generic): Removed.
33380
33381 * commands/sleep.c (grub_interruptible_millisleep): Uses
33382 grub_get_time_ms() instead of grub_get_rtc().
33383
33384 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
33385 function.
33386 (grub_cpu_is_cpuid_supported): New inline function.
33387 (grub_cpu_is_tsc_supported): New inline function.
33388 (grub_tsc_init): New function prototype.
33389 (grub_tsc_get_time_ms): New function prototype.
33390
33391 * kern/i386/tsc.c (grub_get_time_ms): New file.
33392
33393 * include/grub/time.h: Include <grub/types.h.
33394 (grub_millisleep_generic): Removed.
33395 (grub_get_time_ms): New prototype.
33396 (grub_install_get_time_ms): New prototype.
33397 (grub_rtc_get_time_ms): New prototype.
33398
33399 * kern/time.c (grub_get_time_ms): New function.
33400 (grub_install_get_time_ms): New function.
33401
33402 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
33403 <grub/time.h> anymore.
33404 (grub_millisleep): Removed.
33405 (grub_machine_init): Call grub_tsc_init.
33406
33407 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
33408 get_time_ms() implementation.
33409
33410 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
33411 (ieee1275_get_time_ms): New function.
33412 (grub_machine_init): Install get_time_ms() implementation.
33413
33414 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
33415 (grub_machine_init): Call grub_tsc_init().
33416 (grub_millisleep): Removed.
bf06a93f 33417
9c2ff3ee 33418 * kern/ieee1275/init.c (grub_millisleep): Removed.
33419 (grub_machine_init): Install ieee1275_get_time_ms()
33420 implementation.
33421 (ieee1275_get_time_ms): New function.
33422 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
33423 real work.
33424
9ec92aaf 334252008-08-05 Marco Gerards <marco@gnu.org>
33426
33427 * disk/ata.c: Include <grub/pci.h>.
33428 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
33429 (grub_ata_initialize): Rewritten.
33430 (grub_ata_device_initialize): New function.
33431
8d23f507 334322008-08-04 Pavel Roskin <proski@gnu.org>
33433
33434 * kern/main.c: Include grub/mm.h.
33435
5e15ee3d 334362008-08-04 Robert Millan <rmh@aybabtu.com>
33437
33438 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
33439 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
33440 corruption problem).
33441
a9053f8f 334422008-08-04 Robert Millan <rmh@aybabtu.com>
33443
33444 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
33445 warnings introduced in my last commit.
33446
dd19c7d7 334472008-08-03 Robert Millan <rmh@aybabtu.com>
33448
33449 Make PCI available on all i386 architectures.
33450
33451 * include/grub/i386/pc/pci.h: Move from here ...
33452 * include/grub/i386/pci.h: ... to here.
33453
33454 * include/grub/i386/pc/pci.h: Remove.
33455 * include/grub/i386/efi/pci.h: Remove.
33456 * include/grub/x86_64/efi/pci.h: Remove.
33457
33458 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
33459 `<grub/cpu/pci.h>'.
33460
33461 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
33462 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
33463 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
33464
33465 * conf/i386-ieee1275.rmk: Likewise.
33466
e14a6184 334672008-08-03 Robert Millan <rmh@aybabtu.com>
33468
33469 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
33470 (grub_console_setcursor): Make it possible to set cursor off.
33471
52768e37 334722008-08-03 Robert Millan <rmh@aybabtu.com>
33473
33474 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
33475 of modules instead of assuming which platform provides what.
33476 * util/update-grub.in: Likewise.
33477
2d52f57f 334782008-08-03 Robert Millan <rmh@aybabtu.com>
33479
33480 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
33481 instead of `grub_install_dos_part' to determine whether a drive needs
33482 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 33483 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 33484
2a5cd121 334852008-08-02 Robert Millan <rmh@aybabtu.com>
33486
33487 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
33488
93808428 334892008-08-02 Robert Millan <rmh@aybabtu.com>
33490
33491 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
33492 of informational grub_dprintf() calls.
33493
3bd0a12a 334942008-08-02 Robert Millan <rmh@aybabtu.com>
33495
33496 * disk/memdisk.c (memdisk_size): Don't initialize.
33497 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
33498
33499 * include/grub/i386/pc/kernel.h
33500 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
33501 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
33502 (grub_memdisk_image_size, grub_arch_memdisk_addr)
33503 (grub_arch_memdisk_size): Remove.
33504
33505 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
33506 field (was only used to transfer a constant). Add `type' field to
33507 support multiple module types.
33508 (grub_module_iterate): New function.
33509
33510 * kern/device.c (grub_device_open): Do not hide error messages
33511 when grub_disk_open() fails. Use grub_print_error() instead.
33512
33513 * kern/i386/pc/init.c (grub_arch_modules_addr)
33514 (grub_arch_memdisk_size): Remove functions.
33515 (grub_arch_modules_addr): Return the module address in high memory
33516 (now that it isn't copied anymore).
33517
33518 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
33519 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
33520 decompression routine (grub_total_module_size already includes that
33521 now). Don't copy modules back to low memory.
33522
33523 * kern/main.c: Include `<grub/mm.h>'.
33524 (grub_load_modules): Split out (and use) ...
33525 (grub_module_iterate): ... this function, which iterates through
33526 module objects and runs a hook.
33527 Comment out grub_mm_init_region() call, as it would cause non-ELF
33528 modules to be overwritten.
33529
33530 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
33531 the memdisk image in its own region, make it part of the module list.
33532 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
33533 (main): Parse --memdisk|-m option, and pass user-provided path as
33534 parameter to generate_image().
33535 (add_segments): Pass `memdisk_path' down to load_modules().
33536 (load_modules): Embed memdisk image in module section when requested.
33537 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
33538 `header.type' instead of `header.offset'.
33539
33540 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
33541 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
33542 (memdisk_mod_LDFLAGS): New variables.
33543 * conf/i386-coreboot.rmk: Likewise.
33544 * conf/i386-ieee1275.rmk: Likewise.
33545
a927cc73 335462008-08-02 Robert Millan <rmh@aybabtu.com>
33547
33548 * loader/i386/pc/multiboot.c (playground, forward_relocator)
33549 (backward_relocator): New variables. Used to allocate and relocate
33550 the payload, respectively.
33551 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 33552 address, install the appropriate relocator code in each bound of
a927cc73 33553 the payload, and set the entry point such that
33554 grub_multiboot_real_boot() will jump to one of them.
33555
33556 * kern/i386/loader.S (grub_multiboot_payload_size)
33557 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33558 (grub_multiboot_payload_entry_offset): New variables.
33559 (grub_multiboot_real_boot): Set cpu context to what the relocator
33560 expects, and jump to the relocator instead of the payload.
33561
33562 * include/grub/i386/loader.h (grub_multiboot_payload_size)
33563 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33564 (grub_multiboot_payload_entry_offset): Export.
33565
b15d8a0c 335662008-08-01 Bean <bean123ch@gmail.com>
33567
33568 * normal/menu_entry.c (editor_getline): Don't return the original
33569 string as result, as it will be released by lexer once it has done
33570 using it.
33571
cdfb3d22 335722008-08-01 Robert Millan <rmh@aybabtu.com>
33573
33574 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
33575 within menuentries, not before them.
33576 util/grub.d/10_hurd.in: Likewise.
33577
9175e93d 335782008-08-01 Bean <bean123ch@gmail.com>
33579
33580 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
33581 (bufio_mod_SOURCES): New macro.
33582 (bufio_mod_CFLAGS): Likewise.
33583 (bufio_mod_LDFLAGS): Likewise.
33584
33585 * include/grub/bufio.h: New file.
33586
33587 * io/bufio.c: Likewise.
33588
33589 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
33590 (grub_video_reader_png): Use grub_buffile_open to open file.
33591
33592 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33593 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33594
33595 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33596 (grub_video_reader_tga): Use grub_buffile_open to open file.
33597
33598 * font/manager.c: Include <grub/bufio.h>.
33599 (add_font): Use grub_buffile_open to open file.
33600
3d8383e7 336012008-07-31 Robert Millan <rmh@aybabtu.com>
33602
33603 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33604 ELF segments, use a macro for arbitrarily accessing any of them instead
33605 of preparing a pointer that allows access to one at a time.
33606 (grub_multiboot_load_elf64): Likewise.
33607
16e641b6 336082008-07-31 Bean <bean123ch@gmail.com>
33609
33610 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33611 GRUB_KERNEL_MACHINE_DATA_END.
33612
59198b72 336132008-07-30 Robert Millan <rmh@aybabtu.com>
33614
33615 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33616 Increase from 0x50 to 0x60.
33617 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33618 use UUIDs to identify the root drive for them. If that's not
33619 possible, abort.
33620 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33621 check, for cross-disk installs.
33622
ae88bca3 336232008-07-30 Robert Millan <rmh@aybabtu.com>
33624
33625 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33626 is non-empty, use it to set the `prefix' environment variable instead
33627 of the usual approach.
33628 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33629 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33630 environment variable instead of dummy make_install_device().
33631
33632 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33633 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33634 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33635
33636 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33637 New variable reference.
33638 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33639 New macro. Defines offset of `grub_prefix' within startup.S (relative
33640 to `start').
33641 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33642 section within startup.S (relative to `start').
33643 * include/grub/i386/coreboot/kernel.h: Likewise.
33644
33645 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33646 Overwrite grub_prefix with its contents, at the beginning of the
33647 first segment.
33648 (main): Understand -p|--prefix.
33649
14f41dd1 336502008-07-30 Robert Millan <rmh@aybabtu.com>
33651
33652 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33653
4ca049a3 336542008-07-30 Robert Millan <rmh@aybabtu.com>
33655
33656 * term/i386/pc/vga_text.c (grub_console_cls): Use
33657 grub_console_gotoxy() to go back to beginning of the screen.
33658 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33659
2921d337 336602008-07-29 Christian Franke <franke@computer.org>
33661
33662 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33663 Add conversion of emulated mount points on Cygwin.
33664
b609876d 336652008-07-29 Christian Franke <franke@computer.org>
33666
33667 * util/update-grub.in: Add a check for admin
33668 group on Cygwin.
33669 Remove old `grub.cfg.new' before creation.
33670 Add `-f' to `mv' to handle the different filesystem
33671 semantics of Windows.
33672
e93e4679 336732008-07-29 Bean <bean123ch@gmail.com>
33674
33675 * normal/main.c (get_line): Fix buffer overflow bug.
33676
41694fd0 336772008-07-28 Robert Millan <rmh@aybabtu.com>
33678
33679 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33680 (struct grub_apple_header): New struct. Describes the layout of
33681 the partmap header.
33682 (apple_partition_map_iterate): Check the header magic as well as the
33683 partition magic (which was already being checked).
33684
cfd0b4e6 336852008-07-28 Pavel Roskin <proski@gnu.org>
33686
33687 * genmk.rb: Add a warning to the beginning of the output that
33688 it's a generated file and should not be edited.
33689
93cce016 336902008-07-28 Robert Millan <rmh@aybabtu.com>
33691
33692 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33693 with the same number are found, just use issue a warning with
33694 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33695
cd1df915 336962008-07-27 Robert Millan <rmh@aybabtu.com>
33697
33698 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33699 information.
33700
b70a8427 337012008-07-27 Bean <bean123ch@gmail.com>
33702
33703 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33704 (grub_fat_find_dir): Ignore case when comparing filename.
33705
8f5e379f 337062008-07-27 Bean <bean123ch@gmail.com>
33707
33708 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33709 smallino, as it's more descriptive, and i8count can be confused with
33710 the other field count.
33711 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33712 inode type.
33713
a85cd5a0 337142008-07-27 Bean <bean123ch@gmail.com>
33715
33716 * commands/crc.c: New file.
33717
33718 * lib/crc.c: Likewise.
33719
33720 * include/grub/lib/crc.h: Likewise.
33721
33722 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33723
33724 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33725 (hexdump): Move this function to ...
33726
33727 * lib/hexdump.c: ... here.
33728
33729 * include/grub/hexdump.h: Renamed to ...
33730
33731 * include/grub/lib/hexdump.h: ... this.
33732
33733 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33734
33735 * util/grub-editenv.c: Likewise.
33736
33737 * include/envblk.h: Renamed to ...
33738
33739 * include/lib/envblk.h: ... this.
33740
33741 * util/envblk.c: Renamed to ...
33742
33743 * lib/envblk.c: ... this.
33744
33745 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33746 lib/hexdump.c.
33747 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33748 (pkglib_MODULES): Add crc.mod.
33749 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33750 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33751 (crc_mod_SOURCES): New macro.
33752 (crc_mod_CFLAGS): Likewise.
33753 (crc_mod_LDFLAGS): Likewise.
33754
33755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33756
33757 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33758
33759 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33760
33761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33762
33763 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33764
c298def0 337652008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33766
33767 * commands/help.c: Include <grub/term.h>.
33768 (TERM_WIDTH): Removed. Updated all users.
33769
cc349fb3 337702008-07-27 Pavel Roskin <proski@gnu.org>
33771
33772 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33773 spurious warnings about a comment within a comment.
33774
9051607e 337752008-07-25 Robert Millan <rmh@aybabtu.com>
33776
33777 * util/getroot.c (find_root_device): Skip devices that match
33778 /dev/dm-[0-9]. This lets the real device be found for any type of
33779 abstraction (LVM, EVMS, RAID..).
33780 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33781 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33782 device is found first, find_root_device() will now skip it.
33783
01453bfc 337842008-07-24 Pavel Roskin <proski@gnu.org>
33785
33786 * include/grub/types.h: Use __builtin_bswap32() and
33787 __builtin_bswap64() with gcc 4.3 and newer.
33788
6af9849f 337892008-07-24 Christian Franke <franke@computer.org>
33790
3a0fa256 33791 * util/i386/pc/grub-install.in: If `--debug' is specified,
33792 pass `--verbose' to grub-setup.
33793 Abort script if make_system_path_relative_to_its_root() fails.
33794
7810e747 337952008-07-24 Bean <bean123ch@gmail.com>
33796
33797 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33798 variable `target_platform' should be `platform'.
33799
42290e17 338002008-07-24 Bean <bean123ch@gmail.com>
33801
51cc5193 33802 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33803 (grub_png_init_fixed_block): New function.
33804 (grub_png_decode_image_data): Handle fixed huffman code compression.
33805
2a8a80e4 338062008-07-24 Bean <bean123ch@gmail.com>
33807
33808 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33809 (grub_pe2elf_SOURCES): New macro.
33810 (CLEANFILES): Add grub-pe2elf.
33811
33812 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33813 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33814 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33815 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33816 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33817 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33818 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33819 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33820 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33821 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33822 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33823 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33824 (GRUB_PE32_DT_FUNCTION): Likewise.
33825 (GRUB_PE32_REL_I386_DIR32): Likewise.
33826 (GRUB_PE32_REL_I386_REL32): Likewise.
33827 (grub_pe32_symbol): New structure.
33828 (grub_pe32_reloc): Likewise.
33829
33830 * util/grub-pe2elf.c: New file.
33831
33832 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33833 start symbol in non pc platform.
33834
33835 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33836
33837 The following patches are from Christian Franke.
33838
33839 * include/grub/dl.h: Remove .previous, gas supports this only
33840 for ELF format.
33841
33842 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33843 Remove .type, gas supports this only for ELF format.
33844
33845 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33846 nullbytes in symbol table. This fixes an infinite loop if table is
33847 zero filled.
33848
33849 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33850 TARGET_IMG_LDFLAGS and EXEEXT.
33851
33852 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33853 TARGET_IMG_LDFLAGS_AC.
33854 (grub_CHECK_STACK_ARG_PROBE): New function.
33855
33856 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33857
33858 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33859
33860 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33861 to set TARGET_IMG_LD* accordingly.
33862 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33863 Add call to grub_CHECK_STACK_ARG_PROBE.
33864 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33865
33866 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33867
33868 * genmk.rb: Add EXEEXT to CLEANFILES.
33869
12ccdb75 338702008-07-23 Robert Millan <rmh@aybabtu.com>
33871
33872 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33873 define the codes for arrows and lines used for the menu).
33874 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33875 as well.
33876
33877 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33878 fonts, because the latter are too slow.
33879
18eeaf04 338802008-07-21 Bean <bean123ch@gmail.com>
33881
33882 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33883 a20. Run keyboard test last, as it will cause macbook to halt.
33884
b095e2ad 338852008-07-18 Pavel Roskin <proski@gnu.org>
33886
33887 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33888 load foreign architecture modules correctly anyway. Keep
33889 support for loading host architecture modules, whether we
33890 compile them or not.
33891
737feb35 338922008-07-17 Pavel Roskin <proski@gnu.org>
33893
3f4ce737 33894 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33895 change target_cpu. The compiler default can mismatch target_cpu
33896 in any case.
33897
4ad2d049 33898 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33899 * kern/efi/efi.c: Likewise.
33900
f6130a12 33901 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33902 target compiler is functional.
33903 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33904 are set up.
33905
58393a2d 33906 * configure.ac: Default to efi platform for x86_64-apple. Allow
33907 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33908 adjustments from the rest, only do them if target is not
33909 explicitly given. Merge other adjustments with the final sanity
33910 check. Remove an extraneous check for supported CPU. Be
33911 specific which CPU and which platform is not supported.
33912
737feb35 33913 * configure.ac: Default to pc platform for x86_64.
33914
546f966a 339152008-07-17 Robert Millan <rmh@aybabtu.com>
33916
33917 Partial LinuxBIOS -> Coreboot rename.
33918
33919 * conf/i386-linuxbios.rmk: Renamed to ...
33920 * conf/i386-coreboot.rmk: ... this.
33921 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33922 * configure.ac: Accept "coreboot" as input platform (but maintain
33923 compatibility with "linuxbios").
33924 * include/grub/i386/linuxbios: Renamed to ...
33925 * include/grub/i386/coreboot: ... this.
33926
20011694 339272008-07-17 Bean <bean123ch@gmail.com>
33928
33929 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33930 (appleldr_mod_SOURCE): New variable.
20011694 33931 (appleldr_mod_CFLAGS): Likewise.
33932 (appleldr_mod_LDFLAGS): Likewise.
33933 (pci_mod_SOURCES): Likewise.
33934 (pci_mod_CFLAGS): Likewise.
33935 (pci_mod_LDFLAGS): Likewise.
33936 (lspci_mod_SOURCES): Likewise.
33937 (lspci_mod_CFLAGS): Likewise.
33938 (lspci_mod_LDFLAGS): Likewise.
33939
33940 * conf/x86_64-efi.rmk: New file.
33941
33942 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33943 macro.
33944 (grub_efidisk_write): Likewise.
33945
33946 * include/efi/api.h (efi_call_0): New macro.
33947 (efi_call_1): Likewise.
33948 (efi_call_2): Likewise.
33949 (efi_call_3): Likewise.
33950 (efi_call_4): Likewise.
33951 (efi_call_5): Likewise.
33952 (efi_call_6): Likewise.
33953
33954 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33955 grub_rescue_cmd_chainloader.
33956
33957 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33958 (grub_pe32_optional_header): Change some fields based on i386 or
33959 x86_64 platform.
33960 (GRUB_PE32_PE32_MAGIC): Likewise.
33961
33962 * include/grub/efi/uga_draw.h: New file.
33963
33964 * include/grub/elf.h (STN_ABS): New constant.
33965 (R_X86_64_NONE): Relocation constant for x86_64.
33966 (R_X86_64_64): Likewise.
33967 (R_X86_64_PC32): Likewise.
33968 (R_X86_64_GOT32): Likewise.
33969 (R_X86_64_PLT32): Likewise.
33970 (R_X86_64_COPY): Likewise.
33971 (R_X86_64_GLOB_DAT): Likewise.
33972 (R_X86_64_JUMP_SLOT): Likewise.
33973 (R_X86_64_RELATIVE): Likewise.
33974 (R_X86_64_GOTPCREL): Likewise.
33975 (R_X86_64_32): Likewise.
33976 (R_X86_64_32S): Likewise.
33977 (R_X86_64_16): Likewise.
33978 (R_X86_64_PC16): Likewise.
33979 (R_X86_64_8): Likewise.
33980 (R_X86_64_PC8): Likewise.
33981
33982 * include/grub/i386/efi/pci.h: New file.
33983
33984 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33985 Change it value based on platform.
33986 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33987 (GRUB_E820_RAM): Likewise.
33988 (GRUB_E820_RESERVED): Likewise.
33989 (GRUB_E820_ACPI): Likewise.
33990 (GRUB_E820_NVS): Likewise.
33991 (GRUB_E820_EXEC_CODE): Likewise.
33992 (GRUB_E820_MAX_ENTRY): Likewise.
33993 (grub_e820_mmap): New structure.
33994 (linux_kernel_header): Change the efi field according to different
33995 kernel version, also field from linux_kernel_header.
33996
33997 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33998
33999 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34000 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34001 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34002 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34003 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34004 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34005 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34006 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34007 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34008 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34009
34010 * include/grub/x86_64/efi/kernel.h: New file.
34011
34012 * include/grub/x86_64/efi/loader.h: Likewise.
34013
34014 * include/grub/x86_64/efi/machine.h: Likewise.
34015
34016 * include/grub/x86_64/efi/pci.h: Likewise.
34017
34018 * include/grub/x86_64/efi/time.h: Likewise.
34019
34020 * include/grub/x86_64/linux.h: Likewise.
34021
34022 * include/grub/x86_64/setjmp.h: Likewise.
34023
34024 * include/grub/x86_64/time.h: Likewise.
34025
34026 * include/grub/x86_64/types.h: Likewise.
34027
34028 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34029 GRUB_TARGET_SIZEOF_VOID_P.
34030
34031 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34032 (grub_efi_locate_handle): Likewise.
34033 (grub_efi_open_protocol): Likewise.
34034 (grub_efi_set_text_mode): Likewise.
34035 (grub_efi_stall): Likewise.
34036 (grub_exit): Likewise.
34037 (grub_reboot): Likewise.
34038 (grub_halt): Likewise.
34039 (grub_efi_exit_boot_services): Likewise.
34040 (grub_get_rtc): Likewise.
34041
34042 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34043 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34044 (grub_efi_allocate_pages): Wrap efi calls.
34045 (grub_efi_free_pages): Wrap efi calls.
34046 (grub_efi_get_memory_map): Wrap efi calls.
34047
34048 * kern/x86_64/dl.c: New file.
34049
34050 * kern/x86_64/efi/callwrap.S: Likewise.
34051
34052 * kern/x86_64/efi/startup.S: Likewise.
34053
34054 * loader/efi/appleloader.c: Likewise.
34055
34056 * loader/efi/chainloader.c (cmdline): New variable.
34057 (grub_chainloader_unload): Wrap efi calls.
34058 (grub_chainloader_boot): Likewise.
34059 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34060 command line.
34061
34062 * loader/efi/chainloader_normal.c (chainloader_command):
34063 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34064 command line.
34065
34066 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34067 method.
34068 (grub_e820_add_region): New function.
34069 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34070 booting.
34071 (grub_find_video_card): New function.
34072 (grub_linux_setup_video): New function.
34073 (grub_rescue_cmd_linux): Probe for video information.
34074
34075 * normal/x86_64/setjmp.S: New file.
34076
34077 * term/efi/console.c (map_char): New function.
34078 (grub_console_putchar): Map unicode char.
34079 (grub_console_checkkey): Wrap efi calls.
34080 (grub_console_getkey): Likewise.
34081 (grub_console_getwh): Likewise.
34082 (grub_console_gotoxy): Likewise.
34083 (grub_console_cls): Likewise.
34084 (grub_console_setcolorstate): Likewise.
34085 (grub_console_setcursor): Likewise.
34086
34087 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34088
59652a20 340892008-07-16 Pavel Roskin <proski@gnu.org>
34090
ef294055 34091 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34092 format strings.
34093
59652a20 34094 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34095 pointer, not an integer. This fixes a warning and prevents
34096 precision loss on 64-bit systems.
34097 (relocate_addresses): Remove unneeded cast.
34098
afc3b5d7 340992008-07-15 Pavel Roskin <proski@gnu.org>
34100
506b2b3e 34101 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34102
62ead89c 34103 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34104
c4cd51d7 34105 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34106 Fix comparison between signed and unsigned.
34107
0d3d8f28 34108 * include/grub/i386/ieee1275/console.h: Declare
34109 grub_console_init() and grub_console_fini().
34110
8804b286 34111 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34112 It's empty and unused.
34113
ee01cf35 34114 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34115 beginning to avoid warnings with some compilers.
34116
afc3b5d7 34117 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34118 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34119
e4e8eaa5 341202008-07-14 Pavel Roskin <proski@gnu.org>
34121
407aceb4 34122 * kern/env.c (grub_register_variable_hook): Don't copy empty
34123 string, it leaks memory. Pass "" to grub_env_set(), it should
34124 handle constant strings.
34125
e4e8eaa5 34126 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34127 * commands/cmp.c (grub_cmd_cmp): Likewise.
34128 * kern/dl.c (grub_dl_flush_cache): Likewise.
34129 (grub_dl_load_core): Likewise.
34130 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34131 (grub_elf64_load_phdrs): Likewise.
34132
d4e2dad3 341332008-07-13 Pavel Roskin <proski@gnu.org>
34134
34135 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34136 between signed and unsigned.
34137 (LzmaEnc_Finish): Fix warning about an unused parameter.
34138
aa24b516 341392008-07-13 Bean <bean123ch@gmail.com>
34140
34141 * Makefile.in (enable_lzo): New rule.
34142
34143 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34144
34145 * configure.ac (ENABLE_LZO): New option --enable-lzo.
34146
34147 * boot/i386/pc/lnxboot.S: #include <config.h>.
34148
34149 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 34150 its value according to the compression algorithm used, lzo or lzma.
aa24b516 34151
34152 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34153 compression algorithm according to configure macro.
34154
34155 * kern/i386/pc/startup.S (codestart): Likewise.
34156
34157 * kern/i386/pc/lzma_decode.S: New file.
34158
34159 * include/grub/lib/LzFind.h: Likewise.
34160
34161 * include/grub/lib/LzHash.h: Likewise.
34162
34163 * include/grub/lib/LzmaDec.h: Likewise.
34164
34165 * include/grub/lib/LzmaEnc.h: Likewise.
34166
34167 * include/grub/lib/LzmaTypes.h: Likewise.
34168
34169 * lib/LzFind.c: Likewise.
34170
34171 * lib/LzmaDec.c: Likewise.
34172
34173 * lib/LzmaEnc.c: Likewise.
34174
4ae821ac 341752008-07-13 Bean <bean123ch@gmail.com>
34176
34177 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34178 (grub_ext4_extent_header): New structure.
34179 (grub_ext4_extent): Likewise.
34180 (grub_ext4_extent_idx): Likewise.
34181 (grub_ext4_find_leaf): New function.
34182 (grub_ext2_read_block): Handle extents.
34183
9a745147 341842008-07-12 Robert Millan <rmh@aybabtu.com>
34185
34186 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34187
d49a4cf6 341882008-07-11 Robert Millan <rmh@aybabtu.com>
34189
34190 * util/grub.d/40_custom.in: New file. Example on how to add custom
34191 entries to /etc/grub.d.
34192 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34193 40_custom (implicitly, by merging all the grub.d rules).
34194
947414b4 341952008-07-11 Pavel Roskin <proski@gnu.org>
34196
0059cf6f 34197 * commands/read.c (grub_getline): Fix invalid memory access.
34198 Don't add newline to the variable value.
34199
947414b4 34200 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34201 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34202 (serial_hw_get_port): Check validity of the port number.
34203 (grub_cmd_serial): Check return value of serial_hw_get_port().
34204
62a02d00 342052008-07-07 Pavel Roskin <proski@gnu.org>
34206
34207 * boot/i386/pc/diskboot.S (notification_string): Replace
34208 "Loading kernel" with just "loading". This is shorter, less
34209 confusing and saves a few bytes for possible future changes.
34210
3e5581b0 342112008-07-05 Pavel Roskin <proski@gnu.org>
34212
ea387a48 34213 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34214 size for ATAPI devices, they are undefined. Output sector
34215 number in decimal form.
34216
3e5581b0 34217 * disk/ata.c: Use named constants for status bits.
34218
fdecb8fd 342192008-07-04 Pavel Roskin <proski@gnu.org>
34220
bcd35b90 34221 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34222 grub_addr_t before casting it to the void pointer to fix a
34223 warning. Non-addressable regions are discarded earlier.
34224 (grub_arch_modules_addr): Cast _end to grub_addr_t.
34225 * kern/i386/linuxbios/table.c: Include grub/misc.h.
34226 (check_signature): Don't shadow table_header.
34227 (grub_linuxbios_table_iterate): Cast numeric constants to
34228 grub_linuxbios_table_header_t.
34229 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
34230 grub_stop().
34231
af58ab3d 34232 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
34233 prevent warnings.
34234
1759aa57 34235 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
34236 pointer, which can cause warnings. Support 64-bit addresses.
34237
fdecb8fd 34238 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
34239 of sizeof(long). This fixes PowerPC image generation on x86_64.
34240
8516d2a8 342412008-07-04 Robert Millan <rmh@aybabtu.com>
34242
34243 This fixes a performance issue when pc & gpt partmap iterators
34244 didn't abort iteration even after our hook found what it was
fe987087 34245 looking for (often causing expensive probes of non-existent drives).
8516d2a8 34246
34247 Some callers relied on previous buggy behaviour, since they would
34c44600 34248 raise an error when their own hooks caused early abortion of its
8516d2a8 34249 iteration.
34250
34251 * kern/device.c (grub_device_open): Improve error message.
34252 * disk/lvm.c (grub_lvm_open): Likewise.
34253 * disk/raid.c (grub_raid_open): Likewise.
34254
34255 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
34256 when hook requests it, independently of grub_errno.
34257 (pc_partition_map_probe): Do not fail when find_func() caused
34258 early abortion of pc_partition_map_iterate().
34259
34260 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
34261 when hook requests it, independently of grub_errno.
34262 (gpt_partition_map_probe): Do not fail when find_func() caused
34263 early abortion of gpt_partition_map_iterate().
34264
34265 * kern/partition.c (grub_partition_iterate): Abort parent iteration
34266 when hook requests it, independently of grub_errno. Do not fail when
34267 part_map_iterate_hook() caused early abortion of p->iterate().
34268
34269 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
34270 when grub_partition_iterate() returned with non-zero.
34271
277d0de9 342722008-07-03 Pavel Roskin <proski@gnu.org>
34273
34274 * disk/ata.c (grub_ata_pio_write): Check status before writing,
34275 like we do in grub_ata_pio_read().
34276 (grub_ata_readwrite): Always write individual sectors. Fix the
34277 sector count for the remainder.
34278 (grub_ata_write): Enable writing to ATA devices. Correctly
34279 report error for ATAPI devices.
34280
d4c9b428 342812008-07-02 Pavel Roskin <proski@gnu.org>
34282
e43fc690 34283 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
34284 warning.
34285
f707af42 34286 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
34287 for every read sector, we already increment it for the whole
34288 batch. This fixes reading more than 256 sectors at once.
34289
11e16b15 34290 * util/grub-editenv.c (cmd_info): Cast argument to long
34291 explicitly. ptrdiff_t reduces to int on i386.
34292
cbabfdd4 34293 * util/grub-editenv.c (main): Be specific which parameter is
34294 missing.
34295
b8fbce0a 34296 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
34297 (memdisk): Make memdisk_orig_addr a pointer.
34298
c9c8e606 34299 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
34300 for file offsets, use grub_off_t instead. Fix printf format
34301 warnings.
34302
ca62e598 34303 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
34304 there. Real unexpected warnings should not drown in the noise
34305 about known problems.
34306
ce8d1766 34307 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
34308 grub_disk_addr_t for memory addresses.
34309
00c7a56a 34310 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
34311 explicitly to fix a warning.
34312
08d3ef09 34313 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
34314
cb71ba20 34315 * Makefile.in (MODULE_LDFLAGS): New variable.
34316 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
34317 the linker accepts --build-id=none.
34318 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
34319 MODULE_LDFLAGS.
34320 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
34321
d4c9b428 34322 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
34323 those in Linux XFS code. Provide a way to access 64-bit parent
34324 inode.
34325 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
34326 the end of struct grub_xfs_dir_header.
34327
d4156eee 343282008-07-02 Bean <bean123ch@gmail.com>
34329
34330 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
34331 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34332 and GRUB_IEEE1275_FLAG_NO_ANSI.
34333
34334 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
34335 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34336 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
34337
34338 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
34339 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
34340
34341 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
34342 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
34343
34344 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
34345 esc sequence on non ANSI terminal.
34346 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
34347
34348 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
34349 beginning of file.
34350
2270f77b 343512008-07-02 Bean <bean123ch@gmail.com>
34352
34353 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
34354 (grub_editenv_SOURCES): New variable.
34355 (pkglib_MODULES): Add loadenv.mod.
34356 (loadenv_mod_SOURCES): New variable.
34357 (loadenv_mod_CFLAGS): Likewise.
34358 (loadenv_mod_LDFLAGS): Likewise.
34359
34360 * include/grub/envblk.h: New file.
34361
34362 * util/envblk.c: New file.
34363
34364 * util/grub-editenv.c: New file.
34365
34366 * commands/loadenv.c: New file.
34367
0e9e51ec 343682008-07-01 Pavel Roskin <proski@gnu.org>
34369
d89b7634 34370 * include/multiboot2.h (struct multiboot_tag_module): Use char,
34371 not unsigned char. This fixes warnings and is consistent with
34372 other tags.
34373
bf1835b1 34374 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
34375
8222a04b 34376 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
34377
6a42d99d 34378 * term/tparm.c (analyze): Always set *popcount.
34379
10b159d1 34380 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
34381 cast to fix a warning.
34382
b8789f6c 34383 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
34384 cast to suppress a warning.
34385
29d7e38a 34386 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
34387 grub_fshelp_read_file() expects.
34388
f341f669 34389 * fs/fat.c: Fix UUID calculation on big-endian systems. We
34390 write uuid as a 32-bit value in CPU byte order, so declare and
34391 use it as such.
34392
0e9e51ec 34393 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
34394 long if the format specifier expects it.
34395 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
34396 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34397 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
34398 long to fix a warning.
34399 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
34400 grub_dprintf() arguments to fix warnings.
34401
3aefa857 344022008-06-30 Pavel Roskin <proski@gnu.org>
34403
56c7668b 34404 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
34405 install_bsd_part immediately before core.img is embedded or
34406 modified on disk. This fixes core.img verification if core.img
34407 cannot be embedded.
34408
3aefa857 34409 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
34410 core_path to calculate the blocklist.
34411 Patch from Javier Martín <lordhabbit@gmail.com>
34412
5444088d 344132008-06-29 Robert Millan <rmh@aybabtu.com>
34414
34415 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
34416 block to disk block.
34417 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
34418 Patch from Niels Böhm <bitbucket@arcor.de>
34419
674835c8 344202008-06-29 Robert Millan <rmh@aybabtu.com>
34421
34422 * util/update-grub_lib.in (font_path): Search for fonts in
34423 /boot/grub first, which is more likely to be readable (we aren't
34424 deciding where fonts live, just looking for them).
34425
f527dbc8 344262008-06-26 Pavel Roskin <proski@gnu.org>
34427
6c2d8df6 34428 * util/biosdisk.c (read_device_map): Don't leave dead map
34429 entries for devices failing stat() check.
34430
f527dbc8 34431 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
34432 core_path_dev for the core.img path on the target device.
34433
aebe3d13 344342008-06-26 Robert Millan <rmh@aybabtu.com>
34435
34436 * disk/fs_uuid.c: New file.
34437 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
34438 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
34439 (fs_uuid_mod_LDFLAGS): New variables.
34440 * include/grub/disk.h (grub_disk_dev_id): Add
34441 `GRUB_DISK_DEVICE_UUID_ID'.
34442 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
34443 implement iterate().
34444
37aaf354 344452008-06-26 Robert Millan <rmh@aybabtu.com>
34446
34447 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
34448 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
34449 Linux image includes no initrd.
34450
25ff262a 344512008-06-21 Javier Martín <lordhabbit@gmail.com>
34452
34453 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
34454 call to resolve the core image location that effectively appended the
34455 name twice.
34456
76a2bd44 344572008-06-21 Robert Millan <rmh@aybabtu.com>
34458
34459 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
34460 call from here ...
34461
34462 * util/grub.d/10_hurd.in: ... to here ...
34463 * util/grub.d/10_linux.in: ... and here.
34464
650e1c79 344652008-06-19 Robert Millan <rmh@aybabtu.com>
34466
fe987087 34467 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 34468 after it has been set by grub_machine_set_prefix().
34469
6ce63911 344702008-06-19 Robert Millan <rmh@aybabtu.com>
34471
34472 * commands/search.c (search_label, search_fs_uuid, search_file): Print
34473 search result when not saving to variable, not the other way around.
34474 When saving to variable, abort iteration as soon as a match is found.
34475
73940cec 344762008-06-19 Robert Millan <rmh@aybabtu.com>
34477
34478 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
34479 check for partition that provides /boot/grub. Its logic is flawed,
34480 as it prevents prepare_grub_to_access_device() from being called
34481 multiple times.
34482
3c62a39d 344832008-06-19 Robert Millan <rmh@aybabtu.com>
34484
34485 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
34486 "insmod" command directly when abstraction modules are needed,
fe987087 34487 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 34488 since it had already been processed).
34489
47395a42 344902008-06-19 Pavel Roskin <proski@gnu.org>
34491
34492 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
34493 changed. This is needed in case GRUB_LIBDIR changes.
34494 * conf/i386-ieee1275.rmk: Likewise.
34495 * conf/i386-linuxbios.rmk: Likewise.
34496 * conf/i386-pc.rmk: Likewise.
34497 * conf/powerpc-ieee1275.rmk: Likewise.
34498
a145ac2d 344992008-06-18 Pavel Roskin <proski@gnu.org>
34500
34501 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
34502 kernel_elf_symlist.c to symlist.c for consistency with other
34503 architectures. Update all users.
34504 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34505
7847c51e 345062008-06-18 Robert Millan <rmh@aybabtu.com>
34507
34508 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
34509 it in prefix.
34510
34511 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
34512 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
34513 a RAID device, run setup() for all members independently on whether
34514 LVM abstraction is being used.
34515 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
34516 If grub-mkimage has set `*install_dos_part == -2', don't override this
34517 value.
34518 Perform *install_dos_part adjustments independently on whether
34519 we're embedding or not.
34520 Clarify error message when image is too big for embedding.
34521 Remove duplicate *install_dos_part stanza.
34522
b23e5644 345232008-06-17 Robert Millan <rmh@aybabtu.com>
34524
34525 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
34526 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
34527 variables.
34528 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
34529 values in grub_ofconsole_normal_color and
34530 grub_ofconsole_highlight_color (they're not directly related to
34531 background and foreground).
34532 (grub_ofconsole_setcolorstate): Extract background and foreground
34533 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
34534
0aac2f79 345352008-06-17 Robert Millan <rmh@aybabtu.com>
34536
34537 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
34538 /boot/grub for the check in last commit, not /boot (they could be
34539 different partitions).
34540
3cca7ef3 345412008-06-16 Robert Millan <rmh@aybabtu.com>
34542
34543 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
34544 asked to setup access for the same partition that provides /boot,
34545 don't bother using UUIDs since our root already has the value we
34546 want.
34547
347396d8 345482008-06-16 Robert Millan <rmh@aybabtu.com>
34549
34550 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
34551 I2O devices.
34552 Patch from Sven Mueller <sven@debian.org>.
34553
991477f8 345542008-06-16 Robert Millan <rmh@aybabtu.com>
34555
34556 * util/update-grub.in: Check for $EUID instead of $UID.
34557 Reported by Vincent Zweije.
34558
d31a32a1 345592008-06-16 Bean <bean123ch@gmail.com>
34560
fe987087 34561 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 34562 (grub_ext2_read_block): Likewise.
34563 (grub_ext2_read_inode): Likewise.
34564 (grub_ext2_mount): Likewise.
34565 (grub_ext2_close): Likewise.
34566 (grub_ext3_get_journal): Removed.
34567
fe987087 34568 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 34569 (grub_reiserfs_read_symlink): Likewise.
34570 (grub_reiserfs_mount): Likewise.
34571 (grub_reiserfs_open): Likewise.
34572 (grub_reiserfs_read): Likewise.
34573 (grub_reiserfs_close): Likewise.
34574 (grub_reiserfs_get_journal): Removed.
34575
34576 * fs/fshelp.c (grub_fshelp_read): Removed.
34577 (grub_fshelp_map_block): Likewise.
34578
34579 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
34580 (grub_fshelp_journal): Likewise.
34581 (grub_fshelp_read): Likewise.
34582 (grub_fshelp_map_block): Likewise.
34583
3540a760 345842008-06-16 Pavel Roskin <proski@gnu.org>
34585
34586 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
34587 floating point anymore.
34588 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
34589
95614c84 345902008-06-15 Pavel Roskin <proski@gnu.org>
34591
34592 * commands/ls.c (grub_ls_list_files): Use integer calculations
34593 for human readable format, avoid floating point use.
34594 * kern/misc.c (grub_ftoa): Remove.
34595 (grub_vsprintf): Remove floating point support.
34596
50465dd6 345972008-06-15 Robert Millan <rmh@aybabtu.com>
34598
fe6b695a 34599 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34600 devices.
34601 Reported by Max Vozeler.
34602
a9207284 346032008-06-15 Robert Millan <rmh@aybabtu.com>
34604
34605 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34606 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34607 skipped later.
34608 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34609 the beginning of the prefix.
34610
34611 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34612 It is assumed that if we have a memdisk, grub-mkimage has set
34613 grub_prefix to include the "(memdisk)" drive in it.
34614
a7cbd45a 346152008-06-15 Robert Millan <rmh@aybabtu.com>
34616
34617 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34618 Initialize keyboard controller after registering the terminal, so that
34619 grub_printf() can be called from grub_keyboard_controller_init().
34620
21cf716a 346212008-06-15 Robert Millan <rmh@aybabtu.com>
34622
34623 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34624 extent-btree which is written as big endian on disk.
34625 Reported by Alain Greppin <al@chilibi.org>.
34626
23a64d8e 346272008-06-14 Robert Millan <rmh@aybabtu.com>
34628
34629 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34630 * util/i386/pc/grub-install.in (modules): Likewise.
34631
d687651c 346322008-06-13 Pavel Roskin <proski@gnu.org>
34633
34634 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34635
dfe9ddd4 346362008-06-13 Bean <bean123ch@gmail.com>
34637
34638 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34639
34640 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34641
34642 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34643 to indicate sparse block.
34644
16ae7781 346452008-06-12 Pavel Roskin <proski@gnu.org>
34646
e6d1a308 34647 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34648 number, grub_fshelp_read() does it for us.
34649
16ae7781 34650 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34651 linear disk read with journal translation.
34652 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34653 * include/grub/fshelp.h: Declare grub_fshelp_read().
34654
40fd3a2b 346552008-06-09 Pavel Roskin <proski@gnu.org>
34656
34657 * fs/minix.c (grub_minix_mount): Handle error reading
34658 superblock.
34659
f5679726 346602008-06-08 Robert Millan <rmh@aybabtu.com>
34661
34662 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34663 don't append the RAID prefix afterwards.
34664 Reported by Clint Adams.
34665
ce525529 346662008-06-08 Robert Millan <rmh@aybabtu.com>
34667
34668 Based on description from Pavel:
34669 * kern/disk.c (grub_disk_check_range): Rename to ...
34670 (grub_disk_adjust_range): ... this. Add a comment explaining the
34671 tasks performed by this function.
34672
ad4936a0 346732008-06-08 Robert Millan <rmh@aybabtu.com>
34674
34675 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34676 `num_serial' (for consistency with other variables).
34677 (struct grub_ntfs_data): Add `uuid' member.
34678 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34679 (grub_ntfs_uuid): New function.
34680 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34681
dc20b0f9 346822008-06-07 Pavel Roskin <proski@gnu.org>
34683
34684 * util/biosdisk.c (open_device): Revert last change to the
34685 function, it broke installation. The sector needs to be
34686 different dependent on which device is opened.
34687
c5e3cfba 346882008-06-06 Robert Millan <rmh@aybabtu.com>
34689
34690 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34691 rest of GRUB, and breakage doesn't happen if its value were modified.
34692
34693 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34694 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34695 a constant (same value).
34696 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34697 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34698
26a1f8c4 346992008-06-06 Robert Millan <rmh@aybabtu.com>
34700
34701 * util/biosdisk.c (open_device): Do not modify sector offset when
34702 accessing a partition. kern/disk.c already handles this for us.
34703
25d6b327 347042008-06-06 Robert Millan <rmh@aybabtu.com>
34705
34706 * util/grub-emu.c (grub_machine_init): Move code in this function from
34707 here ...
34708 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34709 segfault in case grub_printf() is called).
34710
34711 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34712 grub_probe. Update all users not to explicitly add it again.
34713 (grub_device): New variable; contains corresponding device for grubdir.
34714 (fs_module, partmap_module, devabstraction_module): Pass
34715 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34716 every time.
34717
9ece62fb 347182008-06-05 Robert Millan <rmh@aybabtu.com>
34719
34720 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34721 is found, print it (same layout as with labels).
34722
1ad36d37 347232008-06-04 Robert Millan <rmh@aybabtu.com>
34724
34725 * util/biosdisk.c (get_drive): Rename to ...
34726 (find_grub_drive): ... this. Update all users.
34727
34728 (get_os_disk): Rename to ...
34729 (convert_system_partition_to_system_disk): ... this. Update all users.
34730
34731 (find_drive): Rename to ...
34732 (find_system_device): ... this. Update all users.
34733
e6a30859 347342008-06-04 Robert Millan <rmh@aybabtu.com>
34735
34736 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34737 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34738 (make_device_map): Likewise.
34739
00c108a4 347402008-06-01 Robert Millan <rmh@aybabtu.com>
34741
34742 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34743 before dereferencing it.
34744
34745 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34746 union with fat12/fat16-specific ones. Add some new fields, including
34747 `num_serial' for both versions.
34748 (struct grub_fat_data): Add `uuid' member.
34749 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34750 names. Initialize `data->uuid' using `num_serial'.
34751 (grub_fat_uuid): New function.
34752 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34753
34754 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34755 (grub_reiserfs_uuid): New function.
34756 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34757 member.
34758
34759 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34760 (grub_xfs_uuid): New function.
34761 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34762
1385c5bb 347632008-06-01 Robert Millan <rmh@aybabtu.com>
34764
34765 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34766 code that is backward compatible with pre-uuid search command.
34767
c682dfd7 347682008-05-31 Robert Millan <rmh@aybabtu.com>
34769
34770 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34771 floppies after everything else, to ensure floppy drive isn't accessed
34772 unnecessarily (patch from Bean).
34773
b7db5d47 347742008-05-31 Robert Millan <rmh@aybabtu.com>
34775
34776 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34777 not print device names when we were asked to set a variable.
34778
6e037aa9 347792008-05-31 Robert Millan <rmh@aybabtu.com>
34780
34781 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34782 using "cursor-on" and "cursor-off" commands (understood at least by
34783 the Open Firmware flavour on OLPC).
34784
41305bc8 347852008-05-31 Michael Gorven <michael@gorven.za.net>
34786
34787 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34788 on and off sequences.
34789
69ba137e 347902008-05-31 Robert Millan <rmh@aybabtu.com>
34791
34792 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34793 * util/update-grub.in: Likewise.
34794
520ae21b 347952008-05-30 Pavel Roskin <proski@gnu.org>
34796
34797 * util/biosdisk.c (linux_find_partition): Simplify logic and
34798 make the code more universal. Keep special processing for
34799 devfs, but use a simple rule for all other devices. If the
34800 device ends with a number, append 'p' and the partition number.
34801 Otherwise, append only the partition number.
34802
5786569b 348032008-05-30 Robert Millan <rmh@aybabtu.com>
34804
34805 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34806 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34807 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34808 the `root' parameter to Linux.
34809
51500452 348102008-05-30 Robert Millan <rmh@aybabtu.com>
34811
34812 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34813 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34814 --fs_uuid with --fs-uuid.
34815 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34816 all filesystems support them).
34817
811d3878 348182008-05-30 Robert Millan <rmh@aybabtu.com>
34819
34820 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34821 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34822
cab63c95 348232008-05-30 Robert Millan <rmh@aybabtu.com>
34824
34825 * util/grub.d/00_header.in: Remove obsolete comment referencing
34826 convert_system_path_to_grub_path().
34827 * util/update-grub.in: Likewise.
34828 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34829 (convert_system_path_to_grub_path): Add a warning message explaining
34830 that this function is deprecated. Rely on is_path_readable_by_grub()
34831 for the readability checks.
34832 (font_path): Use is_path_readable_by_grub() for the readability
34833 check rather than convert_system_path_to_grub_path().
34834
972e2f7a 348352008-05-30 Robert Millan <rmh@aybabtu.com>
34836
34837 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34838 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34839 converting it first.
34840 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34841 grub.cfg for access to font file, and afterwards call it again to set
34842 the root device.
34843
62191274 348442008-05-30 Robert Millan <rmh@aybabtu.com>
34845
34846 * commands/search.c (options): Add --fs_uuid option.
34847 (search_fs_uuid): New function.
34848 (grub_cmd_search): Fix --set argument passing.
34849 Use search_fs_uuid() when requested via --fs_uuid.
34850 (grub_search_init): Update help message.
34851 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34852 and redeclare it as an array of 16-bit words.
34853 (grub_ext2_uuid): New function.
34854 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34855 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34856 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34857 (GRUB_DEVICE_BOOT_UUID): New variables.
34858 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34859 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34860 whenever possible.
34861 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34862 just assume `root' variable has the right value.
34863 * util/grub.d/10_linux.in: Likewise.
34864 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34865 via PRINT_FS_UUID.
34866 (main): Recognise `-t fs_uuid' argument.
34867
01b73ec8 348682008-05-30 Robert Millan <rmh@aybabtu.com>
34869
34870 * util/biosdisk.c (map): Redefine structure to hold information
34871 about GRUB drive name.
fe6b695a 34872 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34873 drive names.
34874 (call_hook): Remove.
34875 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34876 member. Assume drive has partitions.
34877 (grub_util_biosdisk_open): Access device names via `.device' struct
34878 member.
34879 (open_device): Likewise.
34880 (find_drive): Likewise.
34881 (read_device_map): Adjust map[] usage to match the new struct
34882 definition. Don't check for duplicates (still possible, but not cheap
34883 anymore).
34884 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34885 (make_device_name): Remove assumption of BIOS-like drive names.
34886
22f16596 348872008-05-30 Pavel Roskin <proski@gnu.org>
34888
34889 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34890 compiling execute.c doesn't need grub_script.tab.h anymore.
34891 (normal/command.c_DEPENDENCIES): Likewise.
34892 (normal/function.c_DEPENDENCIES): Likewise.
34893 * conf/i386-ieee1275.rmk: Likewise.
34894 * conf/i386-linuxbios.rmk: Likewise.
34895 * conf/i386-pc.rmk: Likewise.
34896 * conf/powerpc-ieee1275.rmk: Likewise.
34897 * conf/sparc64-ieee1275.rmk: Likewise.
34898
528ad8f2 348992008-05-29 Pavel Roskin <proski@gnu.org>
34900
d1dff95d 34901 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34902 when scanning metadata for volume group name.
34903
528ad8f2 34904 * include/grub/script.h: Don't include grub_script.tab.h. It's
34905 a generated file, which may only be included from the files with
34906 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34907 use union YYSTYPE, as the later allows forward declaration.
34908 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34909
47248e08 349102008-05-29 Robert Millan <rmh@aybabtu.com>
34911
34912 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34913 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34914 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34915 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34916 scan codes.
34917
ee632529 349182008-05-29 Robert Millan <rmh@aybabtu.com>
34919
34920 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34921 control key combinations.
34922
eee96e08 349232008-05-29 Robert Millan <rmh@aybabtu.com>
34924
34925 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34926 * util/ieee1275/grub-install.in: ... to here.
34927 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34928 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34929 (grub_install_SOURCES): Likewise.
34930
da9a6a94 349312008-05-29 Robert Millan <rmh@aybabtu.com>
34932
34933 * fs/affs.c: Update copyright year.
34934 * fs/ext2.c: Likewise.
34935 * fs/fshelp.c: Likewise.
34936 * fs/hfsplus.c: Likewise.
34937 * fs/ntfs.c: Likewise.
34938 * fs/xfs.c: Likewise.
34939 * include/grub/fshelp.h: Likewise.
34940 * util/grub-mkdevicemap.c: Likewise.
34941
12e65f3a 349422008-05-28 Robert Millan <rmh@aybabtu.com>
34943
34944 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34945 might need to be fatfs to support some firmware implementations
34946 (e.g. OFW or EFI).
34947
23023641 349482008-05-28 Robert Millan <rmh@aybabtu.com>
34949
34950 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34951 devices.
34952 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34953 (make_device_map): Likewise.
34954
887d2619 349552008-05-20 Bean <bean123ch@gmail.com>
34956
34957 * fs/fshelp.c (grub_fshelp_map_block): New function.
34958 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34959 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34960
34961 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34962 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34963 (grub_fshelp_journal): New structure.
34964 (grub_fshelp_map_block): New function prototype.
34965 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34966 (grub_fshelp_map_block): Likewise.
34967
34968 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34969 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34970 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34971 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34972 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34973 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34974 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34975 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34976 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34977 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34978 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34979 (grub_ext2_sblock): New members for journal support.
34980 (grub_ext3_journal_header): New structure.
34981 (grub_ext3_journal_revoke_header): Likewise.
34982 (grub_ext3_journal_block_tag): Likewise.
34983 (grub_ext3_journal_sblock): Likewise.
34984 (grub_fshelp_node): New members logfile and journal.
34985 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34986 grub_fshelp_map_block to get real block number.
34987 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34988 number.
34989 (grub_ext2_read_inode): Likewise.
34990 (grub_ext3_get_journal): New function.
34991 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34992 (grub_ext2_close): Release memory used by journal.
34993
34994 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34995 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34996 (grub_reiserfs_transaction_header): Renamed to
34997 grub_reiserfs_description_block, replace field data with real_blocks.
34998 (grub_reiserfs_commit_block): New structure.
34999 (grub_reiserfs_data): New member journal.
35000 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35001 number.
35002 (grub_reiserfs_read_symlink): Likewise.
35003 (grub_reiserfs_iterate_dir): Likewise.
35004 (grub_reiserfs_open): Likewise.
35005 (grub_reiserfs_read): Likewise.
35006 (grub_reiserfs_get_journal): New function.
35007 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35008 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35009 using grub_reiserfs_get_journal.
35010 (grub_reiserfs_close): Release memory used by journal.
35011
35012 * fs/affs.c (grub_affs_read_block): Change block type to
35013 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35014
35015 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35016
35017 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35018
35019 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35020
35021 * fs/udf.c (grub_udf_read_block): Change block type to
35022 grub_disk_addr_t. Use type cast to avoid warning.
35023
35024 * fs/xfs.c (grub_xfs_read_block): Likewise.
35025
b7c6bed5 350262008-05-16 Christian Franke <franke@computer.org>
35027
35028 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35029 to ensure that break with ESC will always work.
35030 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35031 Remove ESC from keyboard queue.
35032
eedf167f 350332008-05-16 Christian Franke <franke@computer.org>
35034
35035 * util/biosdisk.c: [__CYGWIN__] Add includes.
35036 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35037 (get_os_disk): Move variable declarations to OS specific
35038 parts to avoid warning.
35039 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35040 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35041 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35042 Cygwin.
35043 * util/getroot.c: [__CYGWIN__] Add includes.
35044 (strip_extra_slashes): Fix "/" case.
35045 [__CYGWIN__] (get_win32_path): New function.
35046 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35047 [__CYGWIN__] (find_root_device): Disable.
35048 [__CYGWIN__] (get_bootsec_serial): New function.
35049 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35050 [__linux__] (grub_guess_root_device): Add early returns to simplify
35051 structure.
35052 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35053 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35054 check for Linux only.
35055
a079699e 350562008-05-15 Bean <bean123ch@gmail.com>
35057
35058 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35059 keyboard hang problem in apple's intel mac.
35060
1cf4059a 350612008-05-09 Robert Millan <rmh@aybabtu.com>
35062
35063 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35064 devices.
35065 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35066 (make_device_map): Likewise.
35067 Reported by Aurelien Jarno <aurel32@debian.org>
35068
ed759390 350692008-05-07 Ian Campbell <ijc@hellion.org.uk>
35070
35071 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35072 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35073 (make_device_map): Output entries for xvd type disks.
35074
b56c4eaa 350752008-05-07 Robert Millan <rmh@aybabtu.com>
35076
35077 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35078 devices.
35079 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35080 (make_device_map): Likewise.
35081 Reported by Roland Dreier <rdreier@cisco.com>
35082
7f8866ed 350832008-05-07 Robert Millan <rmh@aybabtu.com>
35084
35085 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35086 grub_strstr() call. Correct a few mistakes in failure path handling.
35087
b0346e0f 350882008-05-06 Robert Millan <rmh@aybabtu.com>
35089
35090 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35091 Do not print a trailing slash (therefore, the root directory is an
35092 empty string).
35093 (convert_system_path_to_grub_path): Do not remove trailing slash
35094 from make_system_path_relative_to_its_root() output.
35095
35096 * util/i386/pc/grub-install.in: Add trailing slash to output from
35097 make_system_path_relative_to_its_root().
35098
6cf12cbd 350992008-05-06 Robert Millan <rmh@aybabtu.com>
35100
35101 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35102 ensures that output lines aren't intermangled with those sent to
35103 stderr (via grub_util_info()).
35104 * util/grub-probe.c (grub_refresh): Likewise.
35105 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35106
0fbb3117 351072008-05-05 Christian Franke <franke@computer.org>
35108
35109 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35110 Add Cygwin device names.
35111 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35112 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35113 (check_device): Return error instead of success on empty name.
35114 (make_device_map): Move label inside linux specific code to
35115 prevent compiler warning.
35116
8124cdb7 351172008-04-30 Robert Millan <rmh@aybabtu.com>
35118
35119 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35120 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35121 first boot option.
35122 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35123
094c01d0 351242008-04-29 Robert Millan <rmh@aybabtu.com>
35125
35126 * docs/grub.cfg: New file (example GRUB configuration).
35127
f4b1fc02 351282008-04-26 Robert Millan <rmh@aybabtu.com>
35129
329ce2a5 35130 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35131 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35132 and `disk/ieee1275/nand.c'.
f4b1fc02 35133
25f16ec1 351342008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 35135
25f16ec1 35136 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35137 i386-linuxbios.
35138
35139 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35140 change the buffer size to 4096 for cdrom device.
35141
35142 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35143 and nand.mod.
35144 (_linux_mod_SOURCES): New variable.
35145 (_linux_mod_CFLAGS): Likewise.
35146 (_linux_mod_LDFLAGS): Likewise.
35147 (linux_mod_SOURCES): Likewise.
35148 (linux_mod_CFLAGS): Likewise.
35149 (linux_mod_LDFLAGS): Likewise.
35150 (nand_mod_SOURCES): Likewise.
35151 (nand_mod_CFLAGS): Likewise.
35152 (nand_mod_LDFLAGS): Likewise.
35153
35154 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35155 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35156 type property. (nand device in olpc don't have this property)
35157
35158 * include/grub/disk.h (grub_disk_dev_id): New macro
35159 GRUB_DISK_DEVICE_NAND_ID.
35160
35161 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35162 function prototype.
35163 (grub_rescue_cmd_initrd): Likewise.
35164
35165 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35166 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35167 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 35168
25f16ec1 35169 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35170 GRUB_MACHINE_IEEE1275 is defined.
35171
35172 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35173 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35174
35175 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35176 on nested function heap_init.
35177 (grub_upper_mem): New variable for i386-ieee1275.
35178 (grub_get_extended_memory): New function for i386-ieee1275.
35179 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35180
35181 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35182 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35183 property.
f19dbdb7 35184
25f16ec1 35185 * loader/i386/ieee1275/linux.c: New file.
35186
35187 * loader/i386/ieee1275/linux_normal.c: New file.
35188
35189 * disk/ieee1275/nand.c: New file.
35190
e89d61e9 351912008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35192
35193 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35194 value.
35195 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35196
602566f6 351972008-04-18 Robert Millan <rmh@aybabtu.com>
35198
35199 Restructures early code path on ieee1275 to unify grub_main() as
35200 the first C function that is executed in every platform.
35201
35202 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35203 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35204 cmain().
35205 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35206 * kern/ieee1275/cmain.c (cmain): Rename to ...
35207 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35208 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35209 at the beginning.
35210
57490c2b 352112008-04-18 Robert Millan <rmh@aybabtu.com>
35212
35213 * util/update-grub.in: Fix syntax error when setting
35214 `GRUB_PRELOAD_MODULES'.
35215 Reported by Stephane Chazelas <stephane@artesyncp.com>
35216
1977517d 352172008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35218
35219 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35220 section into account, newer toolchains generate unique build ids
35221 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 35222 we want build ids to be preserved
1977517d 35223 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
35224 far from other sections don't cause the raw binary images grow
35225 size
35226
bfb1f1a2 352272008-04-15 Robert Millan <rmh@aybabtu.com>
35228
35229 * disk/lvm.c: Update copyright year.
35230 * kern/misc.c: Likewise.
35231
01979850 352322008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35233
35234 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 35235 there is no memory left for physical volume name.
01979850 35236
0a1150e2 352372008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35238
35239 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
35240 volume name mapping to support bigger than 9 character names properly.
35241
82ead3fe 352422008-04-13 Robert Millan <rmh@aybabtu.com>
35243
35244 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
35245 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
35246
e54a72f5 352472008-04-13 Christian Franke <franke@computer.org>
35248
35249 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
35250 to create a floppy emulation boot CD when non emulation mode
35251 does not work.
35252 Enable Joliet CD filesystem extension.
35253
9fe86034 352542008-04-13 Robert Millan <rmh@aybabtu.com>
35255
35256 * kern/misc.c (grub_strncat): Fix off-by-one error.
35257 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
35258
35259 * kern/env.c (grub_env_context_close): Clear current context, not
35260 previous one.
35261 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
35262
35263 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
35264
7ceeee39 352652008-04-13 Robert Millan <rmh@aybabtu.com>
35266
35267 Improve robustness when handling LVM.
35268
35269 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 35270 (and leave `*p' unmodified).
7ceeee39 35271 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
35272 through it.
35273 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
35274 iterating through it.
35275 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
35276 through it.
fe6b695a 35277 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 35278 when due) on each grub_lvm_getvalue() or grub_strstr() call.
35279 Don't assume `vg->pvs != NULL' when iterating through it.
35280
58cd3d85 352812008-04-13 Robert Millan <rmh@aybabtu.com>
35282
35283 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
35284 * genmk.rb (partmap): New variable.
35285 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
35286 (#{partmap}): New target rule.
35287 * genpartmaplist.sh: New file.
35288 * Makefile.in (pkglib_DATA): Add partmap.lst.
35289 (partmap.lst): New target rule.
35290 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
35291 modules (including all partition maps), instead of preloading them.
35292
78b51059 352932007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
35294
35295 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
35296 `linux-boot-prober' (if installed) to detect other operating
35297 systems which are installed on the computer and add them to
35298 the boot menu.
35299 * conf/common.rmk: Build and install 30_os-prober.
35300
a91627b4 353012008-04-12 Robert Millan <rmh@aybabtu.com>
35302
35303 * kern/powerpc/ieee1275/init.c: Move from here ...
35304 * kern/ieee1275/init.c: ... to here. Update all users.
35305
35306 * kern/powerpc/ieee1275/cmain.c: Move from here ...
35307 * kern/ieee1275/cmain.c: ... to here. Update all users.
35308
35309 * kern/powerpc/ieee1275/openfw.c: Move from here ...
35310 * kern/ieee1275/openfw.c: ... to here. Update all users.
35311
35312 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
35313 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
35314
322562ea 353152008-04-10 Pavel Roskin <proski@gnu.org>
35316
35317 * configure.ac: Always use "_cv_" in cache variables for
35318 compatibility with Autoconf 2.62.
35319
a02a73c5 353202008-04-07 Robert Millan <rmh@aybabtu.com>
35321
35322 Revert grub/machine/init.h addition by Pavel (since it breaks on
35323 i386-ieee1275 and others):
35324 * util/i386/pc/misc.c: Remove grub/machine/init.h.
35325 * util/powerpc/ieee1275/misc.c: Likewise.
35326
25c024b1 353272008-04-07 Robert Millan <rmh@aybabtu.com>
35328
35329 * util/grub-probe.c (probe): Improve error message.
35330
3cbd2f98 353312008-04-07 Robert Millan <rmh@aybabtu.com>
35332
35333 * util/biosdisk.c (read_device_map): Skip devices that don't exist
35334 (this prevents the presence of a bogus entry from ruining the whole
35335 thing).
35336
87a297bf 353372008-04-06 Pavel Roskin <proski@gnu.org>
35338
36747a62 35339 * util/biosdisk.c: Include grub/util/biosdisk.h.
35340 * util/grub-fstest.c (execute_command): Make static.
35341 * util/grub-mkdevicemap.c (check_device): Likewise.
35342 * util/i386/pc/misc.c: Include grub/machine/init.h.
35343 * util/powerpc/ieee1275/misc.c: Likewise.
35344 * util/lvm.c: Include grub/util/lvm.h.
35345 * util/misc.c: Include grub/kernel.h, grub/misc.h and
35346 grub/cache.h.
35347 * util/raid.c: Include grub/util/raid.h.
35348 (grub_util_getdiskname): Make static.
35349
87a297bf 35350 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
35351 grub_hostfs_fini(), as they are called from grub_init_all() and
35352 grub_fini_all() respectively. This fixes an infinite loop in
35353 grub-fstest due to double registration of hostfs.
35354 Reported by Christian Franke <Christian.Franke@t-online.de>
35355
f6ce7629 353562008-04-05 Pavel Roskin <proski@gnu.org>
35357
35358 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
35359 all 8 functions. Otherwise, probe function 0 only.
35360
070e49e4 353612008-04-04 Pavel Roskin <proski@gnu.org>
35362
8b088a4c 35363 * commands/lspci.c (grub_lspci_iter): Print the bus number
35364 correctly.
35365
4f657021 35366 * commands/lspci.c (grub_pci_classes): Fix typos.
35367 (grub_lspci_iter): Don't print func twice. Print vendor ID
35368 before device ID, as it's normally done.
35369
070e49e4 35370 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35371 Fix signedness warnings.
35372 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
35373 Likewise.
35374 * util/ieee1275/get_disk_name.c: Include config.h so that
35375 _GNU_SOURCE is defined and getline() is declared. Mark an
35376 unused argument as such. Fix a signedness warning.
35377
ba7328dc 353782008-04-02 Pavel Roskin <proski@gnu.org>
35379
26887f22 35380 * genkernsyms.sh.in: Use more robust assignments for CC and
35381 srcdir. Quote srcdir.
35382 * gensymlist.sh.in: Likewise. Assert at the compile time that
35383 the symbol table is not empty.
35384
ba7328dc 35385 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
35386 * fs/cpio.c (grub_cpio_read): Likewise.
35387
0f582c6b 353882008-04-01 Pavel Roskin <proski@gnu.org>
35389
4b6e1995 35390 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
35391 * disk/host.c (grub_host_open): Likewise.
35392 * disk/loopback.c (grub_loopback_open): Likewise.
35393 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
35394 disk->id as in disk/host.c, not a multi-character constant.
35395
828a2768 35396 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
35397 later is obsolete, potentially dangerous and sets a bad example.
35398 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
35399 * util/misc.c (grub_util_get_image_size): Likewise.
35400
2bb4fb47 35401 * disk/loopback.c (options): Improve help for "--partitions".
35402
0f582c6b 35403 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
35404 options to align them with the short options, e.g. "echo -e".
35405
a33224e0 354062008-03-31 Bean <bean123ch@gmail.com>
35407
35408 * video/reader/png.c (grub_png_data): New member is_16bit and
35409 image_data.
35410 (grub_png_decode_image_header): Detect 16 bit png image.
35411 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
35412 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
35413 (grub_video_reader_png): Release memory occupied by image_data.
35414
35415 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
35416 4096 bytes.
35417 (grub_nfs_mount): Skip the test for sector per cluster.
35418
35419 * include/grub/ntfs.h (MAX_SPC): Removed.
35420
86cb4f54 354212008-03-31 Bean <bean123ch@gmail.com>
35422
35423 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
35424 (grub_probe_SOURCES): Add fs/afs.c.
35425 (grub_fstest_SOURCES): Likewise.
35426 (afs_mod_SOURCES): New variable.
35427 (afs_mod_CFLAGS): Likewise.
35428 (afs_mod_LDFLAGS): Likewise.
35429
35430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
35431 (grub_emu_SOURCES): Likewise.
35432
35433 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35434
35435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35436
35437 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35438
35439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35440
35441 * fs/afs.c: New file.
35442
17c74c21 354432008-03-30 Pavel Roskin <proski@gnu.org>
35444
4cb68e89 35445 * disk/host.c: Include grub/misc.h to fix a warning.
35446 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
35447 warnings about implicit declarations.
35448
8790bb04 35449 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
35450 variable.
35451 * include/grub/i386/loader.h: Change declaration of
35452 grub_linux_boot() to match what grub_loader_set() expects.
35453 * util/getroot.c (grub_guess_root_device): Return const char* to
35454 fix a warning.
35455 * util/grub-probe.c (probe): Fix a warning about uninitialized
35456 abstraction_name variable.
35457 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
35458 second argument as unused to fix a warning.
35459
9a3f3296 35460 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
35461 missing grub_error() call.
35462
0ecef90d 35463 * util/update-grub_lib.in: Define datarootdir, since Autoconf
35464 2.60 and newer uses it to define datadir.
35465
0bf6d401 35466 * commands/sleep.c: Fix warning about implicit declaration.
35467 * disk/memdisk.c: Likewise.
35468 * loader/aout.c: Likewise.
35469 * loader/i386/bsd_normal.c: Likewise.
35470 * util/grub-probe.c: Likewise.
35471
7cdacf97 35472 * commands/i386/cpuid.c (has_longmode): Make static.
35473 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
35474 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
35475
17c74c21 35476 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
35477 GDT. This is more robust, as %ds can change.
35478 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
35479 calling real_to_prot().
35480 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
35481
80a3e68b 354822008-03-28 Pavel Roskin <proski@gnu.org>
35483
35484 * kern/i386/pc/startup.S: Assert that uncompressed functions
35485 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
35486 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
35487 code, as they push parts of the code (error handlers) beyond
35488 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
35489 code as correctness and size.
35490
77bcd272 354912008-03-28 Pavel Roskin <proski@gnu.org>
35492
35493 * kern/i386/pc/startup.S
35494 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
35495 data block address to the real mode, keep offset minimal. This
35496 works around a bug in AWARD BIOS on old Athlon systems, which
35497 makes CD detection hang.
35498
c5dfd43b 354992008-03-26 Pavel Roskin <proski@gnu.org>
35500
35501 * normal/color.c (grub_parse_color_name_pair): Make `name' a
35502 const.
35503 * include/grub/normal.h: Add grub_parse_color_name_pair()
35504 declaration.
35505
bf962df2 355062008-03-24 Bean <bean123ch@gmail.com>
35507
35508 * disk/i386/pc/biosdisk.c (cd_start): Removed.
35509 (cd_count): Removed.
35510 (cd_drive): New variable.
35511 (grub_biosdisk_get_drive): Don't check for (cdN) device.
35512 (grub_biosdisk_call_hook): Likewise.
35513 (grub_biosdisk_iterate): Change cdrom detection method.
35514 (grub_biosdisk_open): Replace cd_start with cd_drive.
35515 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
35516 detect cdrom device.
35517
35518 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
35519 Removed.
35520 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
35521 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
35522 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
35523 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
35524 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
35525 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
35526 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
35527 (grub_biosdisk_cdrp): New structure.
35528 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
35529
35530 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
35531
35532 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
35533 device.
35534
35535 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
35536 New function.
35537
68e7fc7a 355382008-03-20 Robert Millan <rmh@aybabtu.com>
35539
35540 Remove 2 TiB limit in ata.mod.
35541 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
35542 (grub_ata_dumpinfo): Print sector count with 0x%llx.
35543 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
35544 grub_uint64_t instead of grub_uint32_t.
35545
38ad2cf5 355462008-03-05 Bean <bean123ch@gmail.com>
35547
35548 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
35549 (grub_multiboot): Set boot device.
35550
35551 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
35552
2b89344e 355532008-03-02 Bean <bean123ch@gmail.com>
35554
35555 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
35556 symlink_buffer.
35557
87a95d1f 355582008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
35559
35560 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
35561 texinfo.tex.
35562
35563 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
35564 modified.
35565
35566 * docs/fdl.texi: New file.
f19dbdb7 35567
87a95d1f 35568 * docs/mdate-sh: New file. Copied from gnulib.
35569 * docs/texinfo.tex: Likewise.
35570
35571 * config.guess: Updated from gnulib.
35572 * install-sh: Likewise.
35573
7dc15d8e 355742008-02-28 Robert Millan <rmh@aybabtu.com>
35575
35576 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
35577 (aout_mod_SOURCES): New variable.
35578 (aout_mod_CFLAGS): Likewise.
35579 (aout_mod_LDFLAGS): Likewise.
35580
35581 * conf/i386-ieee1275.rmk: Likewise.
35582
b00ab696 355832008-02-28 Robert Millan <rmh@aybabtu.com>
35584
35585 * util/update-grub.in: Reorganise terminal validity check. Accept
35586 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
35587 Based on suggestion by Franklin PIAT.
35588
79ca2d78 355892008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
35590
35591 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35592 function.
35593 * util/getroot.c (grub_util_check_block_device): New function that
35594 returns the given argument if it is a block device and returns NULL else.
35595 * util/grub-probe.c (argument_is_device): New variable.
35596 (probe): Promote device_name from a variable to an argument. Receive
35597 device_name from grub_util_check_block_device() if path is NULL and from
35598 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35599 (options): Introduce new parameter '-d, --device'.
79ca2d78 35600 (main): Add description of the new parameter to the help screen.
35601 Rename path variable to argument. Set argument_is_device if the '-d'
35602 option is given. Pass argument to probe() depending on
35603 argument_is_device.
35604
0d16e571 356052008-02-24 Bean <bean123ch@gmail.com>
35606
35607 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35608 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35609 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35610 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35611 (GRUB_ISO9660_VOLDESC_END): Likewise.
35612 (grub_iso9660_primary_voldesc): New member escape.
35613 (grub_iso9660_data): New member joliet.
35614 (grub_iso9660_convert_string): New function.
35615 (grub_iso9660_mount): Detect joliet extension.
35616 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35617 (grub_iso9660_iso9660_label): Likewise.
35618
35619 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35620 (grub_setup_SOURCES): Add fs/udf.c.
35621 (grub_fstest_SOURCES): Likewise.
35622 (udf_mod_SOURCES): New variable.
35623 (udf_mod_CFLAGS): Likewise.
35624 (udf_mod_LDFLAGS): Likewise.
35625
35626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35627 (grub_emu_SOURCES): Likewise.
35628
35629 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35630
35631 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35632
35633 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35634
35635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35636
35637 * fs/udf.c: New file.
35638
8a594a17 356392008-02-24 Robert Millan <rmh@aybabtu.com>
35640
35641 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35642 (normal/lexer.c_DEPENDENCIES): New variables.
35643 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35644 (normal/lexer.c_DEPENDENCIES): Likewise.
35645 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35646 (normal/lexer.c_DEPENDENCIES): Likewise.
35647 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35648 (normal/lexer.c_DEPENDENCIES): Likewise.
35649 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35650 (normal/lexer.c_DEPENDENCIES): Likewise.
35651 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35652 (normal/lexer.c_DEPENDENCIES): Likewise.
35653
2dc33c03 356542008-02-23 Robert Millan <rmh@aybabtu.com>
35655
35656 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35657 since they were intended to be in hex. This didn't break previously
35658 because of a bug in gpt_partition_map_iterate() (see below).
35659
35660 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35661 when checking the validity of GPT header.
35662 Remove `partno', since it always provides the same information as `i'.
35663
f6f4cfb0 356642008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35665
35666 * include/grub/efi/time.h: Fix a wrong comment.
35667
79ff665f 356682008-02-19 Pavel Roskin <proski@gnu.org>
35669
35670 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35671 message.
35672
d38e24c2 356732008-02-19 Bean <bean123ch@gmail.com>
35674
35675 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35676 (aout_mod_SOURCES): New variable.
35677 (aout_mod_CFLAGS): Likewise.
35678 (aout_mod_LDFLAGS): Likewise.
35679 (_bsd_mod_SOURCES): New variable.
35680 (_bsd_mod_CFLAGS): Likewise.
35681 (_bsd_mod_LDFLAGS): Likewise.
35682 (bsd_mod_SOURCES): New variable.
35683 (bsd_mod_CFLAGS): Likewise.
35684 (bsd_mod_LDFLAGS): Likewise.
35685
35686 * include/grub/aout.h: New file.
35687
35688 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35689
35690 * include/grub/i386/bsd.h: New file.
35691
35692 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35693 to make it public.
35694
35695 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35696 function is called, so that it's possible to change it inside the hook.
35697 (grub_elf64_load): Likewise.
35698 (grub_elf_file): Don't close the file if elf header is not found.
35699 (grub_elf_close): Close the file if grub_elf_file fails (The new
35700 grub_elf_file won't close it).
35701 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35702 (grub_elf64_size): Likewise.
35703
35704 * kern/i386/loader.S (grub_unix_real_boot): New function.
35705
35706 * loader/aout.c: New file.
35707
35708 * loader/i386/bsd.c: New file.
35709
35710 * loader/i386/bsd_normal.c: New file.
35711
35712 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35713
35714 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35715 can test other formats.
d38e24c2 35716
b93bdb0f 357172008-02-19 Robert Millan <rmh@aybabtu.com>
35718
35719 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35720 (grub_gpt_partition_type_empty): Redefine with macro from
35721 `<grub/gpt_partition.h>'.
35722 (gpt_partition_map_iterate): Adjust partition type comparison.
35723
35724 Export `entry' as partmap-specific `part.data' struct.
35725 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35726
35727 * include/grub/gpt_partition.h (grub_gpt_header)
35728 (grub_gpt_partentry): ... to here (new file).
35729
35730 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35731
35732 (grub_gpt_partition_type_bios_boot): New const variable, defined
35733 with macro from `<grub/gpt_partition.h>'.
35734
35735 (setup): Replace `first_start' with `embed_region', which keeps
35736 track of the embed region (and is partmap-agnostic).
35737
35738 Replace find_first_partition_start() with find_usable_region(),
35739 which finds a usable region for embedding using partmap-specific
35740 knowledge (supports PC/MSDOS and GPT).
35741
35742 Fix all assumptions that the embed region start at sector 1, using
35743 `embed_region.start' from now on. Similarly, use `embed_region.end'
35744 rather than `first_start' to calculate available size.
35745
35746 In grub_util_info() message, replace "into after the MBR" with an
35747 indication of the specific sector our embed region starts at.
35748
66cb40f6 357492008-02-19 Robert Millan <rmh@aybabtu.com>
35750
35751 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35752 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35753 `commands/reboot.c'.
35754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35755 (halt_mod_SOURCES): Likewise.
35756 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35757 (halt_mod_SOURCES): Likewise.
35758
b7202015 357592008-02-17 Christian Franke <franke@computer.org>
35760
35761 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35762
32b0fc49 357632008-02-17 Robert Millan <rmh@aybabtu.com>
35764
35765 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35766 set `first_start' to 0 for non-PC/MSDOS partition maps.
35767
aca63502 357682008-02-16 Robert Millan <rmh@aybabtu.com>
35769
35770 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35771 do not assume partition map is PC/MSDOS before performing checks that
35772 are specific to that layout.
35773
0de8be86 357742008-02-13 Robert Millan <rmh@aybabtu.com>
35775
35776 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35777 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35778 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35779
c3db8364 357802008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35781
35782 * configure.ac: Only a cosmetic change on the handling of
35783 -fno-stack-protector.
35784
f714229e 357852008-02-12 Alexandre Boeglin <alex@boeglin.org>
35786
c3db8364 35787 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35788 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35789 reboot.c.
f714229e 35790 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35791 (halt_mod_SOURCES): New variable.
35792 (halt_mod_CFLAGS): Likewise.
35793 (halt_mod_LDFLAGS): Likewise.
35794 (reboot_mod_SOURCES): Likewise.
35795 (reboot_mod_CFLAGS): Likewise.
35796 (reboot_mod_LDFLAGS): Likewise.
35797
c3db8364 35798 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35799 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35800 reboot.c.
f714229e 35801 (halt_mod_SOURCES): Likewise.
35802 (reboot_mod_SOURCES): Likewise.
35803
c3db8364 35804 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35805 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35806 (reboot_mod_SOURCES): Likewise.
35807
35808 * commands/i386/pc/reboot.c: merge this file ...
35809
35810 * commands/ieee1275/reboot.c: ... and this file ...
35811
35812 * commands/reboot.c: ... to this file.
c3db8364 35813 Add some precompiler directive to include the correct header for
35814 each machine.
f714229e 35815
35816 * commands/ieee1275/halt.c: move this file ...
35817
35818 * commands/halt.c: ... to here.
c3db8364 35819 Add some precompiler directive to include the correct header for
35820 each machine.
f714229e 35821
35822 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35823 (grub_halt): Likewise.
35824
35825 * kern/efi/efi.c (grub_reboot): New function.
35826 (grub_halt): Likewise.
35827
c74493e0 358282008-02-12 Robert Millan <rmh@aybabtu.com>
35829
35830 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35831 /dev (like it is done for /dev/mapper). This doesn't provide support
35832 for EVMS, but at least it is now easy to identify the problem when it
35833 arises.
35834
d0db4b04 358352008-02-11 Robert Millan <rmh@aybabtu.com>
35836
35837 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35838 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35839 comparing it with -1, not 0.
35840
bf748642 358412008-02-10 Robert Millan <rmh@aybabtu.com>
35842
35843 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35844 `disk/lvm.c'.
35845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35846 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35847
35848 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35849 `disk/lvm.c' to the end of the list.
35850 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35851 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35852
b5db202a 358532008-02-10 Robert Millan <rmh@aybabtu.com>
35854
35855 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35856 grub_print_error() instead. This will let user know why we're entering
35857 rescue mode.
35858 Based on suggestions from Sam Morris.
35859
83abee31 358602008-02-10 Alexandre Boeglin <alex@boeglin.org>
35861
35862 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35863 on remaining N args, instead of "--" arg N times.
35864
78d5a08b 358652008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35866
35867 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35868 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35869 pattern for unknown glyphs.
35870
68807e5f 358712008-02-09 Robert Millan <rmh@aybabtu.com>
35872
35873 * configure.ac: Probe for `help2man'.
35874 * Makefile.in (builddir): New variable.
35875 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35876 or otherwise add a few flags/options to it.
35877 (install-local): For every executable utility or script that is
35878 installed, invoke $(HELP2MAN) to install a manpage based on --help
35879 output.
35880
35881 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35882 that it doesn't prevent --help from working in build tree.
35883
35884 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35885 with `bug-grub@gnu.org'.
35886 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35887 * util/update-grub.in (usage): New function.
35888 Implement proper argument check, with support for --help and --version
35889 (as well as existing -y).
35890
358912008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35892
35893 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35894 avoid overwriting previous output.
35895 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35896
c1962162 358972008-02-09 Robert Millan <rmh@aybabtu.com>
35898
35899 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35900 drawing the menu.
35901
3dac2e3f 359022008-02-09 Robert Millan <rmh@aybabtu.com>
35903
35904 * commands/sleep.c: New file.
35905 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35906 (sleep_mod_SOURCES): New variable.
35907 (sleep_mod_CFLAGS): Likewise.
35908 (sleep_mod_LDFLAGS): Likewise.
35909
7a634e08 359102008-02-09 Robert Millan <rmh@aybabtu.com>
35911
35912 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35913 situations in which we can deduce the RAID size and the superblock
35914 doesn't match it.
35915
b92f0c18 359162008-02-09 Robert Millan <rmh@aybabtu.com>
35917
35918 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35919 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35920 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35921
35922 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35923 and return a grub_diskmemberlist_t composed of physical array members.
35924 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35925
35926 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35927 prototype.
35928 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35929 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35930 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35931
35932 * util/grub-probe.c (probe): Move partmap probing code from here ...
35933 (probe_partmap): ... to here.
35934 (probe): Use probe_partmap() once for the disk we're probing, and
35935 additionally, when such disk contains a memberlist() struct member,
35936 once for each disk that is contained in the structure returned by
35937 memberlist().
35938
91a4bf68 359392008-02-09 Robert Millan <rmh@aybabtu.com>
35940
35941 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35942 environment variable to 'all' in order to obtain debug output from
35943 non-util/ code.
35944 * util/i386/pc/grub-setup.c (main): Likewise.
35945
a96f9caa 359462008-02-08 Robert Millan <rmh@aybabtu.com>
35947
35948 * disk/raid.c (grub_raid_scan_device): Check for
35949 `array->device[sb.this_disk.number]' rather than for
35950 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35951 guaranteed to be accessible.
a96f9caa 35952
b37a9222 359532008-02-08 Robert Millan <rmh@aybabtu.com>
35954
35955 * disk/raid.c: Update copyright.
35956 * fs/cpio.c: Likewise.
35957 * include/grub/raid.h: Likewise.
35958 * loader/i386/pc/multiboot.c: Likewise.
35959 * util/hostfs.c: Likewise.
35960
5626aee1 359612008-02-08 Robert Millan <rmh@aybabtu.com>
35962
35963 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35964 to a grub_disk_t array.
35965 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35966 `device[x]'.
35967 (grub_raid_scan_device): Replace `device[x].name' accesses with
35968 `device[x]->name'. Simplify initialization of `array->device[x]'.
35969
554f0187 359702008-02-08 Robert Millan <rmh@aybabtu.com>
35971
35972 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35973 grub_dprintf() calls.
35974 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35975 error message.
35976
1ec8425d 359772008-02-07 Christian Franke <franke@computer.org>
35978
35979 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35980 instead of fseek and ftell to support large files.
35981 (grub_hostfs_read): Likewise.
35982
f2156fda 359832008-02-07 Robert Millan <rmh@aybabtu.com>
35984
35985 Patch from Jeroen Dekkers.
35986 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35987 failure, since successfully reading all array members might not be
f2156fda 35988 required.
35989
9216e0e7 359902008-02-06 Robert Millan <rmh@aybabtu.com>
35991
35992 * util/grub-probe.c (probe): Simplify partmap probing (with the
35993 assumption that the first word up to the underscore equals to
35994 the module name).
35995
b0dfd29a 359962008-02-06 Christian Franke <franke@computer.org>
35997
35998 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35999 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36000 last block of a cpio or tar stream.
36001 Check for "TRAILER!!!" instead of any empty data
36002 block to detect last block of a cpio stream.
36003 (grub_cpio_dir): Fix constness of variable np.
36004 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36005 cpio or tar trailer is detected. This fixes a crash
36006 on open of a non existing file.
36007
c32865bf 360082008-02-05 Bean <bean123ch@gmail.com>
36009
36010 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36011 address of entry.
36012 (grub_multiboot_load_elf64): Likewise.
36013 (grub_multiboot): Initialize mbi structure.
36014
36015 * util/grub-fstest.c: Don't include unused header file script.h.
36016
fe6b695a 36017 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 36018 of file.
36019 (grub_fstest_SOURCES): Likewise.
36020
409480b7 360212008-02-05 Robert Millan <rmh@aybabtu.com>
36022
36023 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36024 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36025 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36026 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36027
36028 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36029 (translation_table): Replace hardcoded values with macros
36030 provided by `<grub/term.h>'.
36031
36032 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36033 (keyboard_map): Correct/add a few values, with macros provided
36034 by `<grub/term.h>'.
36035 (keyboard_map_shift): Zero values that don't differ from their
36036 `keyboard_map' equivalents.
36037 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36038 Discard the second scan code that is always sent by Caps lock.
36039 Only use `keyboard_map_shift' when it provides a non-zero value,
36040 otherwise fallback to `keyboard_map'.
36041
99fadbaa 360422008-02-04 Bean <bean123ch@gmail.com>
36043
36044 * Makefile.in (enable_grub_fstest): New variable.
36045
36046 * conf/common.rmk (grub_fstest_init.lst): New rule.
36047 (grub_fstest_init.h): Likewise.
36048 (grub_fstest_init.c): Likewise.
36049 (util/grub-fstest.c_DEPENDENCIES): New variable.
36050 (grub_fstest_SOURCES): Likewise.
36051
36052 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36053
36054 * util/grub-fstest.c: New file.
36055
bf567c50 360562008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36057
36058 Make grub-setup handle a separate root device.
f19dbdb7 36059
bf567c50 36060 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36061 so that the root device can be compared with the destination
36062 device.
36063 When embedding the core image, if the root and destination devices
36064 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36065 0xFF.
36066 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 36067
9be6b98b 360682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36069
36070 Add support for having a grub directory in a different drive. This
36071 is still only the data handling part.
f19dbdb7 36072
9be6b98b 36073 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36074 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36075 (grub_root_drive): New variable.
36076
36077 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36078 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36079 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36080 as it was.
36081
36082 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36083
36084 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36085 macro.
36086 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36087
36088 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36089 is bogus, because PXE booting does not specify any drive
36090 correctly.
36091
36092 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36093 am not sure if this is really correct.
36094
36095 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36096 is always identical to the boot drive when booting from a CD.
36097
36098 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36099 longer.
36100 (root_drive): New variable.
36101 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36102 (setup_sectors): Push %dx right after popping it, because %dh will
36103 be modified later.
36104 (copy_buffer): Restore %dx.
36105
e0ca0677 361062008-02-03 Robert Millan <rmh@aybabtu.com>
36107
36108 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36109 use `cdboot.img' for cdrom images.
36110
3b3f6629 361112008-02-03 Robert Millan <rmh@aybabtu.com>
36112
36113 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36114 only setup gfxterm when `font' command has succeeded.
36115
d42b3672 361162008-02-03 Robert Millan <rmh@aybabtu.com>
36117
36118 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36119 (grub_rescue_cmd_multiboot_loader)
36120 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36121
fa370ea6 361222008-02-03 Pavel Roskin <proski@gnu.org>
36123
e0c5dacb 36124 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 36125 %edx and %esi from stack only after grub_gate_a20() is called.
36126 grub_gate_a20() clobbers %edx.
36127
f2a76e1d 361282008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36129
36130 * configure.ac (AC_INIT): Bumped to 1.96.
36131
36132 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36133 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36134 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36135 video/readers/png.c.
36136
90fd32d1 361372008-02-03 Bean <bean123ch@gmail.com>
9be665dd 36138
36139 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36140 (cdboot_img_SOURCES): New variable.
36141 (cdboot_img_ASFLAGS): New variable.
36142 (cdboot_img_LDFLAGS): New variable.
36143
36144 * boot/i386/pc/cdboot.S: New file.
36145
36146 * disk/i386/pc/biosdisk.c (cd_start): New variable.
36147 (cd_count): Likewise.
36148 (grub_biosdisk_get_drive): Add support for cd device.
36149 (grub_biosdisk_call_hook): Likewise.
36150 (grub_biosdisk_iterate): Likewise.
36151 (grub_biosdisk_open): Likewise.
36152 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36153 (grub_biosdisk_rw): Support reading from cd device.
36154 (GRUB_MOD_INIT): Iterate cd devices.
36155
36156 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36157 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36158 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36159
36160 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36161
4020aa53 361622008-02-02 Robert Millan <rmh@aybabtu.com>
36163
36164 * commands/read.c: New file.
36165 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36166 (read_mod_SOURCES): New variable.
36167 (read_mod_CFLAGS): Likewise.
36168 (read_mod_LDFLAGS): Likewise.
36169
e03a1132 361702008-02-02 Robert Millan <rmh@aybabtu.com>
36171
36172 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36173 determining whether menu has to be displayed.
36174
58c69220 361752008-02-02 Marco Gerards <marco@gnu.org>
36176
36177 * bus/pci.c: New file.
36178
36179 * include/grub/pci.h: Likewise.
36180
36181 * include/grub/i386/pc/pci.h: Likewise.
36182
36183 * commands/lspci.c: Likewise.
36184
36185 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36186 `lspci.mod'.
36187 (pci_mod_SOURCES): New variable.
36188 (pci_mod_CFLAGS): Likewise.
36189 (pci_mod_LDFLAGS): Likewise.
36190 (lspci_mod_SOURCES): Likewise.
36191 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 36192 (lspci_mod_LDFLAGS): Likewise.
58c69220 36193
c004e1b4 361942008-02-02 Bean <bean123ch@gmail.com>
36195
36196 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36197 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36198
36199 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36200 (grub_xfs_btree_node): New structure.
36201 (grub_xfs_btree_root): New structure.
36202 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36203 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36204 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36205 (GRUB_XFS_EXTENT_SIZE): Likewise.
36206 (grub_xfs_read_block): Support btree format type.
36207 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36208 Use directory block as basic unit.
36209
36210 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36211
36212 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36213 __attribute__ ((__regparm__ (1))).
36214
f95562bf 362152008-02-01 Robert Millan <rmh@aybabtu.com>
36216
36217 Correct a mistake in previous commit.
36218
36219 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36220 top.
36221 (normal/command.c_DEPENDENCIES): New variable.
36222
7d31f41f 362232008-02-01 Robert Millan <rmh@aybabtu.com>
36224
36225 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
36226 top.
36227 (normal/command.c_DEPENDENCIES): New variable.
36228 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
36229 * conf/i386-ieee1275.rmk: Likewise.
36230 * conf/i386-linuxbios.rmk: Likewise.
36231 * conf/i386-pc.rmk: Likewise.
36232 * conf/sparc64-ieee1275.rmk: Likewise.
36233 * conf/powerpc-ieee1275.rmk: Likewise.
36234 (grub_emu_SOURCES): Add `fs/fshelp.c'.
36235
36236 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
36237
60b6be74 362382008-02-01 Robert Millan <rmh@aybabtu.com>
36239
36240 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
36241 call at beginning of function.
36242
078522ab 362432008-01-31 Pavel Roskin <proski@gnu.org>
36244
36245 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 36246 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
36247 (grub_mkrescue_SOURCES): Likewise.
078522ab 36248 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
36249
ccaa8a5f 362502008-01-30 Robert Millan <rmh@aybabtu.com>
36251
36252 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
36253 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
36254 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
36255 (grub_probe_SOURCES): ... to here.
36256
36257 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
36258 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
36259 * conf/i386-ieee1275.rmk: Likewise.
36260 * conf/i386-linuxbios.rmk: Likewise.
36261 * conf/powerpc-ieee1275.rmk: Likewise.
36262
ae5a9cd7 362632008-01-30 Tristan Gingold <gingold@free.fr>
36264
36265 * kern/rescue.c: Silently accept empty lines.
36266
70bc2ef2 362672008-01-29 Bean <bean123ch@gmail.com>
36268
36269 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
36270 (real_code_2): Code cleanup and change comment style.
36271 (move_memory): Avoid using 32-bit address mode.
36272
6a4d50ea 362732008-01-29 Bean <bean123ch@gmail.com>
36274
36275 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
36276 (png_mod_SOURCES): New variable.
36277 (png_mod_CFLAGS): Likewise.
36278 (png_mod_LDFLAGS): Likewise.
36279
36280 * video/readers/png.c: New file.
36281
11cc30ac 362822008-01-28 Robert Millan <rmh@aybabtu.com>
36283
36284 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
36285 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
36286 `ifndef GRUB_MOD_GAP' hack.
36287 * util/elf/grub-mkimage.c (add_segments): Likewise.
36288
3abc589f 362892008-01-27 Robert Millan <rmh@aybabtu.com>
36290
36291 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
36292 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 36293 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 36294
e1907778 362952008-01-27 Robert Millan <rmh@aybabtu.com>
36296
36297 Get grub-emu to build again (including parallel builds).
36298
36299 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
36300 Split into ...
36301 (util/grub-emu.c_DEPENDENCIES): ... this, ...
36302 (normal/execute.c_DEPENDENCIES): ... this, ...
36303 (grub-emu_DEPENDENCIES): ... and this.
36304
36305 * conf/i386-efi.rmk: Likewise.
36306 * conf/i386-linuxbios.rmk: Likewise.
36307 * conf/i386-ieee1275.rmk: Likewise.
36308 * conf/powerpc-ieee1275.rmk: Likewise.
36309 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
36310
2216b101 363112008-01-27 Robert Millan <rmh@aybabtu.com>
36312
36313 * NEWS: Add a few items.
36314
f75172d9 363152008-01-27 Robert Millan <rmh@aybabtu.com>
36316
36317 Fix parallel builds with grub-emu. Based on earlier commit for
36318 grub-probe and grub-setup.
36319
36320 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36321 (util/grub-emu.c_DEPENDENCIES): ... this.
36322 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36323 (util/grub-emu.c_DEPENDENCIES): ... this.
36324 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36325 (util/grub-emu.c_DEPENDENCIES): ... this.
36326 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36327 (util/grub-emu.c_DEPENDENCIES): ... this.
36328 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36329 (util/grub-emu.c_DEPENDENCIES): ... this.
36330
3f51de77 363312008-01-27 Pavel Roskin <proski@gnu.org>
36332
36333 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
36334 to create a gap between _end and the modules added to the image
36335 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
36336 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
36337 * util/elf/grub-mkimage.c (add_segments): Likewise.
36338
2033f53e 363392008-01-26 Pavel Roskin <proski@gnu.org>
36340
36341 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
36342 just return an error.
36343
22da1f6f 363442008-01-26 Bean <bean123ch@gmail.com>
36345
36346 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
36347 (grub_reiserfs_get_item): Save offset of the next item.
36348 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
36349
2a9525e6 363502008-01-25 Robert Millan <rmh@aybabtu.com>
36351
36352 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
36353 make all filesystem sources appear together (possibly fixing omissions
36354 while at it).
36355 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36356 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36357 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36359
36360 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
36361 add `kern/file.c'.
36362 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
36363 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36364 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
36365 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36366
36367 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
36368 (probe): Add a sanity check to make sure of our ability to read
36369 requested files when probing for filesystem type.
36370
36371 * genmk.rb: Update copyright year (2007).
36372
36373 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
36374 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
36375 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
36376 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
36377 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
36378 : Remove function prototypes.
36379
b95f71b5 363802008-01-25 Robert Millan <rmh@aybabtu.com>
36381
36382 Revert my previous commits (based on wrong assumption of how grub_errno
36383 works).
36384
fe6b695a 36385 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 36386 * kern/file.c (grub_file_open): Likewise.
36387
d08bbb49 363882008-01-24 Pavel Roskin <proski@gnu.org>
36389
36390 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
36391 that hang if GRUB tries to setup colors.
36392 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
36393 colors for firmwares that don't support it.
36394 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
36395 Recognize Open Hack'Ware, set flags to work around its
36396 limitations.
36397
605e36ed 363982008-01-24 Robert Millan <rmh@aybabtu.com>
36399
36400 * kern/file.c (grub_file_open): Do not account previous failures of
36401 unrelated functions when grub_errno is checked for.
36402 Reported by Oleg Strikov.
36403
bac332a1 364042008-01-24 Bean <bean123ch@gmail.com>
36405
36406 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
36407 (grub_ufs_sblock): New member volume name.
36408 (grub_ufs_find_file): Fix string copy bug.
36409 (grub_ufs_label): Implement this function properly.
36410
36411 * fs/hfs.c (grub_hfs_cnid_type): New enum.
36412 (grub_hfs_iterate_records): Use the correct file number for extents
36413 and catalog file. Fix problem in next index calculation.
36414 (grub_hfs_find_node): Replace recursive function call with loop.
36415 (grub_hfs_iterate_dir): Replace recursive function call with loop.
36416
15c80c09 364172008-01-23 Robert Millan <rmh@aybabtu.com>
36418
36419 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
36420 `<grub/symbol.h>' and `<grub/multiboot.h>'.
36421 (grub_multiboot2_real_boot): New function prototype.
36422
36423 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
36424 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
36425
36426 * kern/i386/ieee1275/init.c (grub_os_area_addr)
36427 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
36428
305338fd 364292008-01-23 Robert Millan <rmh@aybabtu.com>
36430
36431 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
36432 #ifdef'ed out grub_printf().
36433
3ea52685 364342008-01-23 Robert Millan <rmh@aybabtu.com>
36435
36436 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
36437 grub_dprintf calls, since they make "debug=all" mode unusable.
36438 (grub_console_checkkey): Likewise.
36439
5882ae4b 364402008-01-23 Robert Millan <rmh@aybabtu.com>
36441
36442 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36443 `term/i386/pc/at_keyboard.c'.
36444 (pkglib_MODULES): Add `serial.mod'.
36445 (serial_mod_SOURCES): New variable.
36446 (serial_mod_CFLAGS): Likewise.
36447 (serial_mod_LDFLAGS): Likewise.
36448
36449 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
36450 `<grub/powerpc/ieee1275/console.h>'.
36451 (grub_keyboard_controller_init): New function prototype.
36452 (grub_console_checkkey): Likewise.
36453 (grub_console_getkey): Likewise.
36454
36455 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
36456 keyboard on i386.
36457
36458 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
36459 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
36460
06ab5303 364612008-01-23 Robert Millan <rmh@aybabtu.com>
36462
36463 * kern/i386/pc/init.c (make_install_device): When memdisk image is
36464 present, "(memdisk)/boot/grub" becomes the default prefix.
36465
36466 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
36467 a memdisk tarball with all the modules. Add --overlay=DIR option that
36468 allows users to overlay additional files into the image.
36469
dbb475a4 364702008-01-23 Robert Millan <rmh@aybabtu.com>
36471
36472 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
36473 and `machine/memory.h'.
36474 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
36475 (_multiboot_mod_SOURCES): New variable.
36476 (_multiboot_mod_CFLAGS): Likewise.
36477 (_multiboot_mod_LDFLAGS): Likewise.
36478 (multiboot_mod_SOURCES): Likewise.
36479 (multiboot_mod_CFLAGS): Likewise.
36480 (multiboot_mod_LDFLAGS): Likewise.
36481
36482 * include/grub/i386/ieee1275/loader.h: New file.
36483
36484 * include/grub/i386/ieee1275/machine.h: Likewise.
36485
36486 * include/grub/i386/ieee1275/memory.h: Likewise.
36487
36488 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
36489 variable declaration.
36490 (grub_os_area_size): Likewise.
36491
36492 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
36493 (grub_lower_mem, grub_upper_mem): New variables.
36494 (grub_stop_floppy): New function (just to make
36495 grub_multiboot2_real_boot() happy).
36496
36497 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
36498 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
36499 (grub_stop): New function.
36500 Include `"../realmode.S"' and `"../loader.S"'.
36501
36502 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
36503 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
36504
36505 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
36506 rely on grub_multiboot2_real_boot() for final boot.
36507
25638629 365082008-01-22 Robert Millan <rmh@aybabtu.com>
36509
36510 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
36511 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
36512 device that doesn't look like an SD card.
36513 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36514 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
36515 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
36516 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
36517 found.
36518
9dad816d 365192008-01-22 Robert Millan <rmh@aybabtu.com>
36520
36521 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
36522 avoid claiming over our own code.
36523
34842f2d 365242008-01-22 Bean <bean123ch@gmail.com>
36525
36526 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
36527 (jpeg_mod_SOURCES): New variable.
36528 (jpeg_mod_CFLAGS): Likewise.
36529 (jpeg_mod_LDFLAGS): Likewise.
36530
36531 * video/readers/jpeg.c : New file.
36532
44023a28 365332008-01-22 Bean <bean123ch@gmail.com>
36534
36535 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
36536 there are no more items.
36537
bc2d8ac6 365382008-01-21 Robert Millan <rmh@aybabtu.com>
36539
36540 * kern/mm.c (grub_mm_init_region): Improve debug message.
36541
261bd4bc 365422008-01-21 Robert Millan <rmh@aybabtu.com>
36543
36544 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
36545 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
36546 address.
36547 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
36548 a C macro.
36549 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
36550 Indicates start of upper memory.
36551 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
36552 (generate_image): Abort when image size is big enough to corrupt
36553 upper memory.
36554
36555 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
36556 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
36557 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36558 instead of hardcoding 0xA0000.
36559 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
36560 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36561 instead of hardcoding 0xA0000.
36562
f970b55e 365632008-01-21 Robert Millan <rmh@aybabtu.com>
36564
36565 * disk/memdisk.c (memdisk_size): New variable.
36566 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
36567 `memdisk_size'.
36568 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
36569 image to dynamic memory.
36570 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
36571 `memdisk_size'. Free memdisk block.
36572
1a8b0526 365732008-01-21 Robert Millan <rmh@aybabtu.com>
36574
36575 Fix detection of very small filesystems (like tar).
36576
36577 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
36578 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
36579 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
36580 a problem with this disk).
36581
6e9b4aab 365822008-01-21 Robert Millan <rmh@aybabtu.com>
36583
36584 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
36585 on grub_biosdisk_rw_standard() error.
36586
0d8837b2 365872008-01-21 Robert Millan <rmh@aybabtu.com>
36588
36589 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
36590 recent changes.
36591 * kern/elf.c: Likewise.
36592 * kern/ieee1275/ieee1275.c: Likewise.
36593 * kern/powerpc/ieee1275/openfw.c: Likewise.
36594 * term/ieee1275/ofconsole.c: Likewise.
36595
ffd36e34 365962008-01-21 Robert Millan <rmh@aybabtu.com>
36597
36598 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36599
3f0093d0 36600 * include/grub/kernel.h (grub_arch_memdisk_addr)
36601 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36602
3f0093d0 36603 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36604 (grub_arch_memdisk_size): ... to here.
ffd36e34 36605
6c391b21 366062008-01-21 Robert Millan <rmh@aybabtu.com>
36607
36608 Mostly based on bugfix from Bean.
36609
36610 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36611 attribute with hook() parameter.
36612 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36613 declaration.
36614 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36615 attribute with hook() parameter.
36616 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36617 declaration.
36618
55a581dc 366192008-01-21 Robert Millan <rmh@aybabtu.com>
36620
36621 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36622 (pkglib_MODULES): Add `memdisk.mod'.
36623 (memdisk_mod_SOURCES): New variable.
36624 (memdisk_mod_CFLAGS): Likewise.
36625 (memdisk_mod_LDFLAGS): Likewise.
36626
36627 * disk/memdisk.c: New file.
36628
36629 * include/grub/disk.h (grub_disk_dev_id): Add
36630 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36631
36632 * include/grub/i386/pc/kernel.h
36633 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36634 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36635 (grub_kernel_image_size): New variable declaration.
36636 (grub_total_module_size): Likewise.
36637 (grub_memdisk_image_size): Likewise.
36638
36639 * include/grub/i386/pc/memory.h
36640 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36641
36642 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36643 (grub_arch_memdisk_addr): New variable declaration.
36644 (grub_arch_memdisk_size): Likewise.
36645
36646 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36647 (grub_arch_memdisk_size): Likewise.
36648
36649 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36650 (codestart): Replace hardcoded `0x100000' with
36651 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36652
36653 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36654 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36655 not NULL, append the contents of the file it refers to, at the end of
36656 the compressed kernel image. Initialize `grub_memdisk_image_size'
36657 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36658 (options): Add "memdisk"|'m' option.
36659 (main): Parse --memdisk|-m option, and pass user-provided path as
36660 parameter to generate_image().
36661
3d7f54c9 366622008-01-20 Robert Millan <rmh@aybabtu.com>
36663
36664 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36665 grub_dprintf() calls from here ...
36666 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36667
0bf74728 366682008-01-20 Robert Millan <rmh@aybabtu.com>
36669
36670 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36671
36672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36673 declaration.
36674 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36675 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36676 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36677 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36678 property).
36679 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36680 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36681
33bf70a7 366822008-01-19 Robert Millan <rmh@aybabtu.com>
36683
fe6b695a 36684 Get rid of confusing function (superseded by
33bf70a7 36685 `grub_ieee1275_get_integer_property')
36686 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36687 prototype.
36688 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36689 function.
36690 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36691 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36692 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36693
e2da7d26 366942008-01-19 Robert Millan <rmh@aybabtu.com>
36695
36696 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36697 command after "shut-down", since implementations differ on which
36698 the command for halt is.
36699
59f1fd8d 367002008-01-19 Robert Millan <rmh@aybabtu.com>
36701
36702 * include/grub/i386/linuxbios/console.h: Add header protection.
36703 (grub_keyboard_controller_init): New function prototype.
36704 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36705 (KEYBOARD_COMMAND_READ): Likewise.
36706 (KEYBOARD_COMMAND_WRITE): Likewise.
36707 (KEYBOARD_SCANCODE_SET1): Likewise.
36708 (grub_keyboard_controller_write): New function.
36709 (grub_keyboard_controller_read): Likewise.
36710 (grub_keyboard_controller_init): Likewise.
36711
36712 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36713 (grub_console_init): On coreboot/LinuxBIOS, call
36714 grub_keyboard_controller_init().
36715
5f5a7c15 367162008-01-19 Robert Millan <rmh@aybabtu.com>
36717
36718 PowerPC changes provided by Pavel Roskin.
36719
36720 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36721 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36722 don't rely on cmain() doing it.
36723 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36724 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36725
1210e168 367262008-01-16 Robert Millan <rmh@aybabtu.com>
36727
36728 * include/grub/i386/linuxbios/memory.h
36729 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36730 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36731 receive `table_header' as argument. Instead, probe for it in the
36732 known memory ranges where it can be present.
36733 (grub_available_iterate): Do not pass a fixed `table_header' address
36734 to grub_linuxbios_table_iterate().
36735
3d04eab8 367362008-01-15 Robert Millan <rmh@aybabtu.com>
36737
36738 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36739 * conf/i386-ieee1275.rmk: New file.
36740 * include/grub/i386/ieee1275/console.h: Likewise.
36741 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36742 * include/grub/i386/ieee1275/kernel.h: Likewise.
36743 * include/grub/i386/ieee1275/time.h: Likewise.
36744 * kern/i386/ieee1275/init.c: Likewise.
36745 * kern/i386/ieee1275/startup.S: Likewise.
36746
d1bc1b73 367472008-01-15 Robert Millan <rmh@aybabtu.com>
36748
36749 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36750 when pointers are 32-bit (but still do set it to one when they are
36751 64-bit).
36752
66a65807 367532008-01-15 Robert Millan <rmh@aybabtu.com>
36754
36755 * include/grub/ieee1275/ieee1275.h
36756 (grub_ieee1275_get_integer_property): New function prototype.
36757
36758 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36759 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36760 grub_ieee1275_get_property() to handle endianness.
66a65807 36761
36762 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36763 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36764 where appropriate.
66a65807 36765 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36766 (grub_map): Likewise.
36767 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36768
a83ccafd 367692008-01-15 Bean <bean123ch@gmail.com>
36770
36771 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36772 (grub_script_execute_cmdline): Reset grub_errno.
36773
36774 * normal/main.c (read_config_file): Reset grub_errno.
36775
36776 * normal/parse.y (script_init): New.
36777 (script): Move function and menuentry here.
36778 (delimiter): New.
36779 (command): Add delimiter at the end of command.
36780 (commands): Adjust to match the new command.
36781 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36782 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36783 (if): Use the new commands.
36784
36785 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36786
df6ecfc6 367872008-01-15 Robert Millan <rmh@aybabtu.com>
36788
36789 * normal/menu.c (run_menu): Move timeout message from here ...
36790 (print_timeout): ... to here.
36791 (run_menu): Use print_timeout() once during initial draw to print
36792 the whole message, and again in every clock tick to update only
36793 the number of seconds.
36794
87ae25eb 367952008-01-15 Robert Millan <rmh@aybabtu.com>
36796
36797 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36798 actual size of `available' from grub_ieee1275_get_property(), and
36799 restrict parsing to that bound.
36800
47bf09a4 368012008-01-15 Christian Franke <franke@computer.org>
36802
36803 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36804 (argp_program_version): Remove variable.
36805 (argp_program_bug_address): Likewise.
36806 (options): Convert from struct argp_option to struct option.
36807 (struct arguments): Remove.
36808 (parse_opt): Remove.
36809 (usage): New function.
36810 (main): Replace struct args members by simple variables.
36811 Replace argp_parse() by getopt_long().
36812 Add switch to evaluate options.
36813 Add missing "(...)" around root_dev in prefix string.
36814
c86f1469 368152008-01-14 Robert Millan <rmh@aybabtu.com>
36816
36817 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36818 for grub_ieee1275_exit(), in order to improve portability.
36819
e622c559 368202008-01-14 Robert Millan <rmh@aybabtu.com>
36821
36822 * util/grub.d/10_linux.in (prefix): Define.
36823 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36824
44cb1ec8 368252008-01-13 Pavel Roskin <proski@gnu.org>
36826
36827 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36828 grub_errno if no errors have been detected.
36829
1eb8c802 368302008-01-12 Robert Millan <rmh@aybabtu.com>
36831
36832 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36833 (grub_util_get_dev_abstraction): New function prototype.
36834
36835 * util/getroot.c: Include `<grub/util/getroot.h>'
36836 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36837 (grub_util_get_dev_abstraction): ... here (new function).
36838
36839 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36840 `PRINT_ABSTRACTION'.
36841 (probe): Probe for abstraction type when requested.
36842 (main): Understand `--target=abstraction'.
36843
36844 * util/i386/efi/grub-install.in: Add abstraction module to core
36845 image when it is found to be necessary.
36846 * util/i386/pc/grub-install.in: Likewise.
36847 * util/powerpc/ieee1275/grub-install.in: Likewise.
36848
36849 * util/update-grub_lib.in (font_path): Return system path without
36850 converting to GRUB path.
36851 * util/update-grub.in: Convert system path returned by font_path()
36852 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36853 abstraction module is needed for loading fonts (if any). Export
36854 that as `GRUB_PRELOAD_MODULES'.
36855 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36856 insmod commands).
36857
52bd3de9 368582008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36859
36860 Remove some unused code from reiserfs.
f19dbdb7 36861
52bd3de9 36862 * fs/reiserfs.c (struct grub_reiserfs_key)
36863 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36864 (struct grub_reiserfs_node_body): Removed.
36865 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36866 Likewise.
36867 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36868 Likewise.
36869 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36870 Likewise.
36871 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36872 Likewise.
36873 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36874 Likewise.
36875 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36876 Likewise.
36877 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36878 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36879 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36880
2f80039d 368812008-01-10 Robert Millan <rmh@aybabtu.com>
36882
36883 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36884 Determines if a file is garbage left by packaging systems, etc.
36885 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36886 for processing /etc/grub.d scripts.
36887 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36888 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36889 as a condition for processing Linux images.
36890
87888032 368912008-01-10 Pavel Roskin <proski@gnu.org>
36892
36893 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36894 to compile reiserfs.c on PowerPC.
36895
7e54fced 368962008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36897
36898 * kern/device.c (grub_device_iterate): Do not abort device iteration
36899 when one of the devices cannot be opened.
36900 * kern/disk.c (grub_disk_open): Do not account previous failures of
36901 unrelated functions when grub_errno is checked for.
36902
5aa541e6 369032008-01-08 Robert Millan <rmh@aybabtu.com>
36904
36905 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36906 `! grub_linux_is_bzimage', change order of address comparison to make
36907 it more intuitive, and improve "too big zImage" error message.
36908
7076340d 369092008-01-08 Robert Millan <rmh@aybabtu.com>
36910
36911 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36912 `$(update-grub_DATA)'.
36913 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36914 targets.
36915
9ca70333 369162008-01-07 Robert Millan <rmh@aybabtu.com>
36917
36918 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36919 which instruction is modified by grub-setup during installation
36920 (since it wasn't obvious by only looking at this file).
36921
38ccf575 369222008-01-07 Robert Millan <rmh@aybabtu.com>
36923
36924 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36925 listing actual TODO items.
36926
f5db4291 369272008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36928
868967cf 36929 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36930 correctly.
36931 (grub_reiserfs_get_key_offset): Likewise.
36932 (grub_reiserfs_set_key_offset): Likewise.
36933 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36934 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36935
36936 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36937 better to remove the bitfield version completely.
f19dbdb7 36938
868967cf 369392008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36940
f5db4291 36941 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36942 allocated from the heap, due to the fshelp implementation.
36943 (grub_reiserfs_dir): Free NODE, due to the same reason.
36944
492e6d9d 369452008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36946
36947 Mostly from Vincent Pelletier:
f19dbdb7 36948
492e6d9d 36949 * fs/reiserfs.c: New file.
f19dbdb7 36950
492e6d9d 36951 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36952 (reiserfs_mod_SOURCES): New variable.
36953 (reiserfs_mod_CFLAGS): Likewise.
36954 (reiserfs_mod_LDFLAGS): Likewise.
36955
36956 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36957 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36958 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36959 normal/color.c.
36960
9ce3e7c1 369612008-01-06 Robert Millan <rmh@aybabtu.com>
36962
36963 * normal/color.c: Remove `<grub/env.h>'.
36964
f3b58148 369652008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36966
36967 * include/grub/normal.h: Include <grub/env.h>.
36968
7ac3bcfa 369692008-01-05 Robert Millan <rmh@aybabtu.com>
36970
36971 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36972 usage example with `(hd0,1)'.
fb358190 36973 Reported by Samuel Thibault.
7ac3bcfa 36974
c8ee99d7 369752008-01-05 Robert Millan <rmh@aybabtu.com>
36976
36977 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36978 (grub_linux_boot_zimage): Rename to ...
36979 (grub_linux_boot): ... this.
36980 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36981 (grub_linux_boot_zimage): Conditionalize zImage copy.
36982
36983 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36984 (grub_linux_boot_bzimage): Remove prototype.
36985 (grub_linux_boot_zimage): Rename to ...
36986 (grub_linux_boot): ... this.
36987
36988 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36989 (grub_linux_boot): Remove function.
36990
0ece25b1 369912008-01-05 Robert Millan <rmh@aybabtu.com>
36992
36993 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36994 (grub_env_write_color_highlight): Likewise.
36995 (grub_wait_after_message): Likewise.
36996
36997 * normal/color.c: New file.
36998
36999 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37000 (normal_mod_DEPENDENCIES): Likewise.
37001
37002 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37003 (normal_mod_DEPENDENCIES): Likewise.
37004
37005 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37006 (normal_mod_DEPENDENCIES): Likewise.
37007
37008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37009 (normal_mod_DEPENDENCIES): Likewise.
37010
37011 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37012 for waiting after a message is printed.
37013 * normal/main.c (read_config_file): Likewise.
37014 (grub_normal_init): Register grub_env_write_color_normal() and
37015 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37016 `color_highlight' variables as global.
37017
37018 * normal/menu.c (grub_wait_after_message): New function.
37019 (grub_color_menu_normal): New variable. Replaces ...
37020 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37021 (grub_color_menu_highlight): New variable. Replaces ...
37022 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37023 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37024 `GRUB_TERM_COLOR_STANDARD'.
37025 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37026 `normal_code' and `highlight_code' to `old_color_normal' and
37027 `old_color_highlight', respectively.
37028 (grub_menu_init_page): Update colors when drawing the menu, based on
37029 `menu_color_normal' and `menu_color_highlight' variables.
37030 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37031 a message is printed.
37032
182dd4e5 370332008-01-05 Robert Millan <rmh@aybabtu.com>
37034
37035 * kern/env.c (grub_env_context_open): Propagate hooks for global
37036 variables to new context.
37037
37038 * kern/main.c (grub_set_root_dev): Export `root' variable.
37039
ddf8f6ad 370402008-01-05 Robert Millan <rmh@aybabtu.com>
37041
37042 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 37043 discs unconditionally, since udev and others have options to provide
ddf8f6ad 37044 them.
37045
d8b43d9b 370462008-01-05 Robert Millan <rmh@aybabtu.com>
37047
37048 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37049
2bff2de3 370502008-01-04 Christian Franke <franke@computer.org>
37051
37052 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37053 of eisa_mmap.
37054
97eab917 370552008-01-03 Pavel Roskin <proski@gnu.org>
37056
37057 * kern/i386/linuxbios/init.c: Put "void" to all function
37058 declarations with no arguments.
37059 * kern/powerpc/ieee1275/init.c: Likewise.
37060 * term/i386/pc/at_keyboard.c: Likewise.
37061 * term/i386/pc/vga_text.c: Likewise.
37062 * util/grub-mkdevicemap.c: Likewise.
37063
b9416d00 370642008-01-02 Robert Millan <rmh@aybabtu.com>
37065
37066 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37067 message when loaded image is out of bounds.
37068 (grub_multiboot_load_elf64): Likewise.
37069
92695df9 370702008-01-02 Pavel Roskin <proski@gnu.org>
37071
37072 * util/grub.d/10_linux.in: Try version without ".old" when
37073 looking for initrd. It's better to use initrd from the newer
37074 kernel of the same version than no initrd at all.
37075
d98d9cad 370762008-01-01 Robert Millan <rmh@aybabtu.com>
37077
37078 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37079
dbfdce36 370802008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37081
f19dbdb7 37082 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 37083 grub_video_get_active_render_target.
37084 (grub_video_adapter): Added unmap_color and get_active_render_target.
37085
f19dbdb7 37086 * video/video.c: Added grub_video_unmap_color and
dbfdce36 37087 grub_video_get_active_render_target.
37088 (grub_video_get_info): Changed method to accept NULL pointer as an
37089 argument to allow detection of active video adapter.
37090
37091 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37092 grub_video_vbe_unmap_color_int.
37093 Added grub_video_vbe_unmap_color and
37094 grub_video_vbe_get_active_render_target.
37095 (grub_video_vbe_adapter): Added unmap_color and
37096 get_active_render_target.
37097
f19dbdb7 37098 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 37099 with grub_video_vbe_unmap_color_int.
37100
37101 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37102 (DEFAULT_NORMAL_COLOR): Likewise.
37103 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37104 (DEFAULT_FG_COLOR): Removed.
37105 (DEFAULT_BG_COLOR): Likewise.
37106 (DEFAULT_CURSOR_COLOR): Changed value.
37107 (grub_virtual_screen): Added standard_color_setting,
37108 normal_color_setting, highlight_color_setting and term_color.
37109 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37110 (bitmap_width): Added.
37111 (bitmap_height): Likewise.
37112 (bitmap): Likewise.
37113 (set_term_color): Likewise.
37114 (grub_virtual_screen_setup): Changed to use new terminal coloring
37115 settings.
37116 (grub_gfxterm_init): Added init for bitmap.
37117 (grub_gfxterm_fini): Added destroy for bitmap.
37118 (redraw_screen_rect): Updated to use background bitmap and new
37119 terminal coloring.
37120 (scroll_up): Added optimization for case when there is no bitmap.
37121 (grub_gfxterm_cls): Fixed to use correct background color.
37122 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37123 coloring.
37124 (grub_virtual_screen_setcolor): Likewise.
37125 (grub_virtual_screen_getcolor): Added.
37126 (grub_gfxterm_background_image_cmd): Likewise.
37127 (grub_video_term): Added setcolor and getcolor.
37128 (MOD_INIT): Added registration of background_image command.
37129 (MOD_TERM): Added unregistration for background_image command.
37130
c3c20931 371312007-12-30 Pavel Roskin <proski@gnu.org>
37132
37133 * loader/multiboot_loader.c: Fix multiboot command
37134 unregistration. Fix all typos in the word "multiboot".
37135
df266716 371362007-12-29 Pavel Roskin <proski@gnu.org>
94239199 37137
37138 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37139 support for initrd names used in Fedora.
37140
fc6e896c 371412007-12-26 Bean <bean123ch@gmail.com>
37142
37143 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37144 (cpio_mod_SOURCES): New variable.
37145 (cpio_mod_CFLAGS): Likewise.
37146 (cpio_mod_LDFLAGS): Likewise.
37147
37148 * fs/cpio.c: New file.
37149
37150 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37151
37152 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37153
37154 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37155
37156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37157
533110ad 371582007-12-25 Robert Millan <rmh@aybabtu.com>
37159
37160 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37161 (grub_getcolor): New function.
37162
37163 * kern/term.c (grub_getcolor): New function.
37164 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37165 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37166 (print_entry): Set normal and highlight colors to
37167 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37168 respectively, before printing and restore them to old
37169 values afterwards.
37170 (grub_menu_init_page): Likewise. Fill an additional colored space
37171 that would otherwise be left blank.
37172
37173 * term/efi/console.c (grub_console_getcolor): New function.
37174 (struct grub_console_term.getcolor): New variable.
37175 * term/i386/pc/console.c (grub_console_getcolor): New function.
37176 (struct grub_console_term.getcolor): New variable.
37177 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37178 (struct grub_console_term.getcolor): New variable.
37179
37180 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37181 (struct grub_console_term.setcolor): Remove variable.
37182 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37183 (struct grub_console_term.setcolor): Remove variable.
37184 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37185 (struct grub_console_term.setcolor): Remove variable.
37186 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37187 (struct grub_console_term.setcolor): Remove variable.
37188
4931827f 371892007-12-25 Robert Millan <rmh@aybabtu.com>
37190
37191 * configure.ac: Search for possible unifont.hex locations, and
37192 define UNIFONT_HEX if found.
37193
37194 * Makefile.in (UNIFONT_HEX): Define variable.
37195 (DATA): Rename to ...
37196 (PKGLIB): ... this. Update all users.
37197 (PKGDATA): New variable.
37198 (pkgdata_IMAGES): Rename to ...
37199 (pkglib_IMAGES): ... this. Update all users.
37200 (pkgdata_MODULES): Rename to ...
37201 (pkglib_MODULES): ... this. Update all users.
37202 (pkgdata_PROGRAMS): Rename to ...
37203 (pkglib_PROGRAMS): ... this. Update all users.
37204 (pkgdata_DATA): Rename to ...
37205 (pkglib_DATA): ... this. Update all users.
37206 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37207 (unicode.pff, ascii.pff): New rules.
37208 (all-local): Add `$(PKGDATA)' dependency.
37209 (install-local): Process `$(PKGDATA)'.
37210
37211 * util/update-grub_lib.in (font_path): Search for *.pff files in
37212 a few more locations, including `${pkgdata}'.
37213
57e57e31 372142007-12-23 Robert Millan <rmh@aybabtu.com>
37215
37216 Patch from Bean <bean123ch@gmail.com>:
37217 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37218 `size'.
37219
4bc72aa9 372202007-12-21 Bean <bean123ch@gmail.com>
37221
37222 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37223 (ntfscomp_mod_SOURCES): New variable.
37224 (ntfscomp_mod_CFLAGS): Likewise.
37225 (ntfscomp_mod_LDFLAGS): Likewise.
37226
37227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
37228 (grub_probe_SOURCES): Likewise.
37229 (grub_emu_SOURCES): Likewise.
37230
37231 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37232 (grub_emu_SOURCES): Likewise.
37233
37234 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37235 (grub_emu_SOURCES): Likewise.
37236
37237 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37238 (grub_emu_SOURCES): Likewise.
37239
37240 * fs/ntfs.c (grub_ntfscomp_func): New variable.
37241 (read_run_list): Renamed to grub_ntfs_read_run_list.
37242 (decomp_nextvcn): Moved to ntfscomp.c.
37243 (decomp_getch): Likewise.
37244 (decomp_get16): Likewise.
37245 (decomp_block): Likewise.
37246 (read_block): Likewise.
37247 (read_data): Partially moved to ntfscomp.c.
37248 (fixup): Change unsigned to grub_uint16_t.
37249 (read_mft): Change unsigned long to grub_uint32_t.
37250 (read_attr): Likewise.
37251 (read_data): Likewise.
37252 (read_run_data): Likewise.
37253 (read_run_list): Likewise.
37254 (read_mft): Likewise.
37255
37256 * fs/ntfscomp.c: New file.
37257
37258 * include/grub/ntfs.h: New file.
37259
af680a87 372602007-12-16 Robert Millan <rmh@aybabtu.com>
37261
37262 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
37263 IDE disk check, since Linux is known to support 20 IDE disks.
37264 Reported by Colin Watson.
37265
84be7599 372662007-12-15 Bean <bean123ch@gmail.com>
37267
37268 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
37269 (lnxboot_img_SOURCES): New variable.
37270 (lnxboot_img_ASFLAGS): Likewise.
37271 (lnxboot_img_LDFLAGS): Likewise.
37272
37273 * boot/i386/pc/lnxboot.S: New file.
37274
6af9db01 372752007-11-24 Pavel Roskin <proski@gnu.org>
37276
37277 * configure.ac: Test if '--build-id=none' is supported by the
37278 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
37279 objcopy to generate incorrect binary files (binutils
37280 2.17.50.0.18-1 as shipped by Fedora 8).
37281 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
37282 linking, so that build ID doesn't break the test.
37283
7361cfe6 372842007-11-24 Pavel Roskin <proski@gnu.org>
37285
37286 * include/grub/i386/time.h: use "void" in the argument list
37287 of grub_cpu_idle().
37288 * include/grub/powerpc/time.h: Likewise.
37289 * include/grub/sparc64/time.h: Likewise.
37290
1593e10c 372912007-11-18 Christian Franke <franke@computer.org>
37292
37293 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
37294 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
37295 This fixes the problem that function keys did not work in grub-emu.
37296
3b8db1a8 372972007-11-18 Christian Franke <franke@computer.org>
37298
37299 * disk/host.c (grub_host_open): Remove attribute unused from
37300 name parameter. Add check for "host". This fixes the problem
37301 that grub-emu does not find partitions.
37302
2e29408d 373032007-11-18 Christian Franke <franke@computer.org>
37304
37305 * util/hostfs.c (is_dir): New function.
37306 (grub_hostfs_dir): Handle missing dirent.d_type case.
37307 (grub_hostfs_read): Add missing fseek().
37308 (grub_hostfs_label): Clear label pointer. This fixes a crash
37309 of grub-emu on "ls (host)".
37310
398cd047 373112007-11-18 Christian Franke <franke@computer.org>
37312
37313 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
37314 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
37315 to 64 bit boundary by default.
37316
c405c391 373172007-11-18 Bean <bean123ch@gmail.com>
37318
37319 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
37320 (hexdump_mod_SOURCES): New variable.
37321 (hexdump_mod_CFLAGS): Likewise.
37322 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 37323
c405c391 37324 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37325
37326 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37327
37328 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37329
37330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37331
37332 * include/grub/hexdump.h: New file.
37333
37334 * commands/hexdump.c: New file.
37335
5cced7fd 373362007-11-10 Robert Millan <rmh@aybabtu.com>
37337
37338 * commands/i386/pc/play.c (beep_off): Switch order of arguments
37339 in grub_outb() calls.
37340 (beep_on): Likewise.
37341
8b714eb0 373422007-11-10 Christian Franke <franke@computer.org>
37343
37344 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
37345 (grub_menu_run): Likewise.
37346
ce0f1839 373472007-11-10 Robert Millan <rmh@aybabtu.com>
37348
37349 * include/grub/i386/efi/machine.h: New file.
37350 * include/grub/i386/linuxbios/machine.h: Likewise.
37351 * include/grub/i386/pc/machine.h: Likewise.
37352 * include/grub/powerpc/ieee1275/machine.h: Likewise.
37353 * include/grub/sparc64/ieee1275/machine.h: Likewise.
37354
37355 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
37356 (serial_hw_io_addr): New variable.
37357 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
37358 instead of `(unsigned short *) 0x400'.
37359
270c237d 373602007-11-10 Bean <bean123ch@gmail.com>
37361
37362 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
37363
a87783bf 373642007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37365
37366 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
37367 (vga_mod_SOURCES): Added.
37368 (vga_mod_CFLAGS): Likewise.
37369 (vga_mod_LDFLAGS): Likewise.
37370
37371 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
37372 grub_outb() calls.
37373 (set_map_mask): Likewise.
37374 (set_read_map): Likewise.
37375 (set_read_address): Likewise.
37376 (vga_font): Removed variable.
37377 (get_vga_glyph): Removed function.
37378 (invalidate_char): Likewise.
37379 (write_char): Changed to use grub_font_get_glyph() for font
37380 information.
37381 (grub_vga_putchar): Likewise.
37382 (grub_vga_getcharwidth): Likewise.
37383
6433b448 373842007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37385
37386 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
37387 flags.
37388 (pxeboot_img_LDFLAGS): Likewise.
37389 (diskboot_img_LDFLAGS): Likewise.
37390 (kernel_img_LDFLAGS): Likewise.
37391
49178511 373922007-11-06 Robert Millan <rmh@aybabtu.com>
37393
37394 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
37395 in grub_outb() calls.
37396 (serial_hw_init): Likewise.
37397
53b052de 373982007-11-05 Robert Millan <rmh@aybabtu.com>
37399
37400 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
37401 spaces. Skip non-regular files.
37402
5ab33bba 374032007-11-05 Robert Millan <rmh@aybabtu.com>
37404
37405 * kern/disk.c (grub_disk_firmware_fini)
37406 (grub_disk_firmware_is_tainted): New variables.
37407
37408 * include/grub/disk.h (grub_disk_firmware_fini)
37409 (grub_disk_firmware_is_tainted): Likewise.
37410
37411 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
37412 (grub_disk_biosdisk_fini): ... to here.
37413 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
37414 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
37415 is set. Register grub_disk_biosdisk_fini() in
37416 `grub_disk_firmware_fini'.
37417
37418 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
37419 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
37420 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
37421 to finish existing firmware disk interface.
37422
37423 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
37424 (ata_mod_SOURCES): New variable.
37425 (ata_mod_CFLAGS): Likewise.
37426 (ata_mod_LDFLAGS): Likewise.
37427
0149ab7c 374282007-11-05 Robert Millan <rmh@aybabtu.com>
37429
37430 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
37431 (grub_ata_wait): Reimplement using grub_millisleep().
37432
37433 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
37434 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
37435
be7ac41e 374362007-11-03 Marco Gerards <marco@gnu.org>
37437
37438 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
37439 (CRTC_ADDR_PORT): New macro.
37440 (CRTC_DATA_PORT): Likewise.
37441 (CRTC_CURSOR): Likewise.
37442 (CRTC_CURSOR_ADDR_HIGH): Likewise.
37443 (CRTC_CURSOR_ADDR_LOW): Likewise.
37444 (update_cursor): New function.
37445 (grub_console_real_putchar): Call `update_cursor'.
37446 (grub_console_gotoxy): Likewise.
37447 (grub_console_cls): Set the default color when clearing the
37448 screen.
37449 (grub_console_setcursor): Implemented.
37450
bb06ab2e 374512007-11-03 Marco Gerards <marco@gnu.org>
37452
37453 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
37454 become activate.
37455 (grub_ata_pio_write): Likewise.
37456
37457 (grub_atapi_identify): Wait after issuing an ATA command.
37458 (grub_atapi_packet): Likewise.
37459 (grub_ata_identify): Likewise.
37460 (grub_ata_readwrite): Likewise.
37461
cf8f780b 374622007-11-03 Marco Gerards <marco@gnu.org>
37463
37464 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
37465 (grub_ata_pio_write): Likewise.
37466 (grub_ata_readwrite): Use `grub_error', instead of
37467 returning `grub_errno'.
37468
ed649e54 374692007-11-03 Marco Gerards <marco@gnu.org>
37470
37471 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
37472 grub_ata_pio_write once for every single sector, instead of for
37473 multiple sectors.
37474
ca25d8f0 374752007-10-31 Robert Millan <rmh@aybabtu.com>
37476
37477 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
37478
37479 * conf/i386-linuxbios.rmk: New file.
37480
37481 * kern/i386/pc/hardware.c: Likewise.
37482 * term/i386/pc/at_keyboard.c: Likewise.
37483 * term/i386/pc/vga_text.c: Likewise.
37484
37485 * include/grub/i386/linuxbios/boot.h: Likewise.
37486 * include/grub/i386/linuxbios/console.h: Likewise.
37487 * include/grub/i386/linuxbios/init.h: Likewise.
37488 * include/grub/i386/linuxbios/kernel.h: Likewise.
37489 * include/grub/i386/linuxbios/loader.h: Likewise.
37490 * include/grub/i386/linuxbios/memory.h: Likewise.
37491 * include/grub/i386/linuxbios/serial.h: Likewise.
37492 * include/grub/i386/linuxbios/time.h: Likewise.
37493
37494 * kern/i386/linuxbios/init.c: Likewise.
37495 * kern/i386/linuxbios/startup.S: Likewise.
37496 * kern/i386/linuxbios/table.c: Likewise.
37497
e911ecc1 374982007-10-31 Marco Gerards <marco@gnu.org>
37499
37500 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
37501 (ata_mod_SOURCES): New variable.
37502 (ata_mod_CFLAGS): Likewise.
37503 (ata_mod_LDFLAGS): Likewise.
37504
37505 * disk/ata.c: New file.
37506
37507 * include/grub/disk.h (grub_disk_dev_id): Add
37508 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 37509
7f66d0e0 375102007-10-31 Robert Millan <rmh@aybabtu.com>
37511
37512 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
37513 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
37514
37515 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
37516 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
37517
37518 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
37519 `<grub/types.h>'.
37520
37521 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
37522
5cd7dd46 375232007-10-27 Robert Millan <rmh@aybabtu.com>
37524
3236ca65 37525 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 37526
2ebfc90f 375272007-10-22 Robert Millan <rmh@aybabtu.com>
37528
37529 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
37530 `"../realmode.S"'.
37531 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
37532
73fcb0f3 375332007-10-22 Robert Millan <rmh@aybabtu.com>
37534
37535 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
37536 (pkgdata_MODULES): Add `biosdisk.mod'.
37537 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
37538 variables.
37539
37540 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
37541 (grub_biosdisk_init): Replace with ...
37542 (GRUB_MOD_INIT(biosdisk)): ... this.
37543 (grub_biosdisk_fini): Replace with ...
37544 (GRUB_MOD_FINI(biosdisk)): ... this.
37545
37546 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
37547 (grub_machine_init): Remove call to grub_biosdisk_init().
37548 (grub_machine_fini): Remove call to grub_machine_fini().
37549
37550 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
37551
3381d274 375522007-10-22 Robert Millan <rmh@aybabtu.com>
37553
37554 * include/grub/time.h: New file.
37555 * include/grub/i386/time.h: Likewise.
37556 * include/grub/powerpc/time.h: Likewise.
37557 * include/grub/sparc64/time.h: Likewise.
37558
37559 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
37560 instances to ...
37561 (KERNEL_MACHINE_TIME_HEADER): ... this.
37562 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37563 instances to ...
37564 (KERNEL_MACHINE_TIME_HEADER): ... this.
37565 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37566 instances to ...
37567 (KERNEL_MACHINE_TIME_HEADER): ... this.
37568
37569 * kern/i386/efi/init.c: Include `<grub/time.h>'.
37570 (grub_millisleep): New function.
37571 * kern/i386/pc/init.c: Include `<grub/time.h>'.
37572 (grub_millisleep): New function.
37573 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
37574 Remove `grub/machine/time.h' include.
37575 (grub_millisleep): New function.
37576 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
37577 Remove `grub/machine/time.h' include.
37578 (grub_millisleep): New function.
37579
37580 * include/grub/misc.h (grub_div_roundup): New function.
37581
37582 * kern/misc.c: Include `<grub/time.h>'.
37583 (grub_millisleep_generic): New function.
37584
37585 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
37586 Add `time.h'.
37587 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
37588 Add `time.h'.
37589 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
37590 `machine/time.h'. Add `time.h'.
37591 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37592
a39a0312 375932007-10-21 Robert Millan <rmh@aybabtu.com>
37594
37595 * include/grub/misc.h (grub_max): New function.
37596
2aad70e2 375972007-10-21 Robert Millan <rmh@aybabtu.com>
37598
37599 * util/misc.c (grub_util_info): Call fflush() before returning.
37600
54b71c4b 376012007-10-20 Robert Millan <rmh@aybabtu.com>
37602
37603 * genmk.rb (Image): Copy `extra_flags' from here ...
37604 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37605
37606 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37607 to `argc' and `args' arguments.
37608
a979f513 376092007-10-17 Robert Millan <rmh@aybabtu.com>
37610
37611 * kern/i386/loader.S: New file.
37612
37613 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37614 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37615 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37616 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37617 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37618 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37619 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37620 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37621 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37622 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37623 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37624 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37625 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37626 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37627
37628 * kern/i386/realmode.S: New file.
37629
37630 * kern/i386/pc/startup.S (protstack): Moved from here ...
37631 * kern/i386/realmode.S (protstack)... to here.
37632 * kern/i386/pc/startup.S (gdt): Moved from here ...
37633 * kern/i386/realmode.S (gdt)... to here.
37634 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37635 * kern/i386/realmode.S (prot_to_real)... to here.
37636
37637 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37638 `kern/i386/realmode.S'.
37639
825fc8fd 376402007-10-17 Robert Millan <rmh@aybabtu.com>
37641
37642 * include/grub/i386/loader.h: New file.
37643
37644 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37645 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37646 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37647 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37648 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37649 * include/grub/i386/loader.h (grub_linux_prot_size)
37650 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37651 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37652 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37653 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37654
37655 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37656
e179b2f4 376572007-10-15 Robert Millan <rmh@aybabtu.com>
37658
37659 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37660 filesystem when dev->disk is unset.
37661 Do probe for filesystem even when dev->disk->has_partitions is set.
37662 In case a filesystem is found, always report it.
37663 In case it isn't, if dev->disk->has_partitions is set, report that
37664 a partition table was found instead of reporting that no filesystem
37665 could be identified.
37666
5db82af6 376672007-10-12 Robert Millan <rmh@aybabtu.com>
37668
37669 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37670 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37671
68f6ac74 37672 * include/grub/types.h (grub_host_to_target16): New macro.
37673 (grub_host_to_target32): Likewise.
37674 (grub_host_to_target64): Likewise.
37675 (grub_target_to_host16): Likewise.
37676 (grub_target_to_host32): Likewise.
37677 (grub_target_to_host64): Likewise.
5db82af6 37678
37679 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37680 Renamed from to ...
37681 (GRUB_MOD_ALIGN): ...this. Update all users.
37682
68f6ac74 37683 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37684 grub_host_to_target32.
37685 Replace grub_be_to_cpu32 with grub_target_to_host32.
37686 (load_modules): Likewise.
37687 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37688 Replace grub_be_to_cpu32 with grub_target_to_host32.
37689 Replace grub_cpu_to_be16 with grub_host_to_target16.
37690 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37691
3cf497cc 376922007-10-12 Robert Millan <rmh@aybabtu.com>
37693
37694 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37695 * util/elf/grub-mkimage.c: ... here.
37696
37697 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37698 `util/powerpc/ieee1275/grub-mkimage.c'.
37699
c8cc3692 377002007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37701
c8cc3692 37702 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37703 and make it easier to figure out.
37704 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37705 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37706 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37707 leave us with less than HEAP_MIN_SIZE total heap.
37708 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37709
5c58b791 377102007-10-03 Robert Millan <rmh@aybabtu.com>
37711
37712 * include/grub/i386/io.h: New file.
37713 * commands/i386/pc/play.c (inb): Removed.
37714 (outb): Removed.
37715 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37716 with grub_outb().
afcd2ef8 37717 * term/i386/pc/serial.c (inb): Removed.
37718 (outb): Removed.
37719 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37720 with grub_outb().
37721 * term/i386/pc/vga.c (inb): Removed.
37722 (outb): Removed.
37723 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37724 with grub_outb().
5c58b791 37725
1a477ed6 377262007-10-02 Robert Millan <rmh@aybabtu.com>
37727
37728 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37730 Reported by Marcin Kurek.
37731
6b5d80fa 377322007-09-07 Robert Millan <rmh@aybabtu.com>
37733
37734 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37735 SmartFirmware version updates (as released by Sven Luther), and avoid
37736 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37737 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37738 known broken.
37739
5618afbf 377402007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37741
37742 From Hitoshi Ozeki:
37743 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37744 when merging two regions.
37745
6139dcd9 377462007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37747
508e39ee 37748 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37749 * normal/completion.c (grub_normal_do_completion): Likewise.
37750 Reported by Hitoshi Ozeki.
37751
377522007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37753
6139dcd9 37754 Do not use devices at boot in chainloading.
f19dbdb7 37755
6139dcd9 37756 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37757 (boot_part_addr): Likewise.
37758 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37759 with BOOT_DRIVE and BOOT_PART_ADDR.
37760 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37761 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37762
38da6516 377632007-08-29 Robert Millan <rmh@aybabtu.com>
37764
37765 Patch from Simon Peter <dn.tlp@gmx.net>:
37766 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37767 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37768 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37769 util/i386/pc/grub-setup.c_DEPENDENCIES.
37770 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37771 util/grub-probe.c_DEPENDENCIES.
37772 * conf/powerpc-ieee1275.rmk: Likewise.
37773
29d0928c 377742007-08-28 Robert Millan <rmh@aybabtu.com>
37775
37776 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37777 to tell grub-mkdevicemap how to name devices.
37778 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37779 feature).
37780
37781 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37782 util/i386/get_disk_name.c.
37783 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37784 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37785 util/ieee1275/get_disk_name.c.
37786
37787 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37788
37789 * DISTLIST: Add util/i386/get_disk_name.c and
37790 util/ieee1275/get_disk_name.c.
37791
37792 * util/grub-mkdevicemap.c: Replace device naming logic with
37793 grub_util_get_disk_name() calls.
37794
5a0d3cca 377952007-08-20 Robert Millan <rmh@aybabtu.com>
37796
37797 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37798 (so that it works for both plural and singular quantities).
37799
8b72db2f 378002007-08-05 Robert Millan <rmh@aybabtu.com>
37801
37802 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37803 so that [xz] isn't taken into account when determining order.
37804
352466bf 378052007-08-02 Marco Gerards <marco@gnu.org>
37806
37807 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37808 `include/multiboot2.h', `include/grub/elfload.h',
37809 `include/multiboot.h', `include/grub/multiboot.h',
37810 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37811 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37812 `kern/elf.c', `loader/multiboot_loader.c',
37813 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37814 `loader/i386/pc/multiboot2.c',
37815 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37816 `util/i386/pc/grub-mkrescue.in'. Remove
37817 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37818 `include/grub/i386/pc/util/biosdisk.h' and
37819 `include/grub/powerpc/ieee1275/multiboot.h'.
37820
8f096014 378212007-08-02 Bean <bean123ch@gmail.com>
37822
37823 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37824 (ntfs_mod_SOURCES): New variable.
37825 (ntfs_mod_CFLAGS): Likewise.
37826 (ntfs_mod_LDFLAGS): Likewise.
37827
37828 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37829 (grub_probe_SOURCES): Likewise.
37830 (grub_emu_SOURCES): Likewise.
37831
37832 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37833 (grub_emu_SOURCES): Likewise.
37834
37835 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37836 (grub_emu_SOURCES): Likewise.
f19dbdb7 37837
8f096014 37838 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37839
37840 * fs/ntfs.c: New file.
37841
9959f7db 378422007-08-02 Bean <bean123ch@gmail.com>
37843
37844 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37845
37846 * file.h (grub_file): Likewise.
37847
37848 * fshelp.h (grub_fshelp_read_file): Likewise.
37849
37850 * util/i386/pc/grub-setup.c (setup): Likewise.
37851 (save_first_sector): Likewise.
37852 (save_blocklists): Likewise.
f19dbdb7 37853
9959f7db 37854 * fs/affs.c (grub_affs_read_file): Likewise.
37855
37856 * fs/ext2.c (grub_ext2_read_file): Likewise.
37857
37858 * fs/fat.c (grub_fat_read_data): Likewise.
37859
37860 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37861
37862 * fs/hfs.c (grub_hfs_read_file): Likewise.
37863
37864 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37865
37866 * fs/jfs.c (grub_jfs_read_file): Likewise.
37867
37868 * fs/minix.c (grub_minix_read_file): Likewise.
37869
37870 * fs/sfs.c (grub_sfs_read_file): Likewise.
37871
37872 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37873
9959f7db 37874 * fs/xfs.c (grub_xfs_read_file): Likewise.
37875
37876 * command/blocklist.c (read_blocklist): Likewise.
37877 (print_blocklist): Likewise.
37878
0a203f83 378792007-08-02 Marco Gerards <marco@gnu.org>
37880
37881 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37882 `util/hostfs.c'.
37883
37884 * disk/host.c: New file.
37885
37886 * util/hostfs.c: Likewise.
37887
37888 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37889 return `GRUB_ERR_BAD_FS'.
37890 * fs/sfs.c (grub_sfs_mount): Likewise.
37891 * fs/xfs.c (grub_xfs_mount): Likewise.
37892
37893 * include/grub/disk.h (enum grub_disk_dev_id): Add
37894 `GRUB_DISK_DEVICE_HOST_ID'.
37895
37896 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37897
e5dfe777 378982007-07-24 Jerone Young <jerone@gmail.com>
37899
f19dbdb7 37900 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37901 modules for compilation.
37902 * conf/powerpc-ieee1275.rmk: Likewise.
37903
37904 * include/multiboot.h: Move multiboot definitions to one file. Rename
37905 many definitions to not get grub specific.
37906 * include/multiboot2.h: Create header with multiboot 2 definitions.
37907 * include/grub/multiboot.h: Header for grub specific function
37908 prototypes and definitions.
37909 * include/grub/multiboot2.h: Likewise.
37910 * include/grub/multiboot_loader.h: Likewise.
37911 * include/grub/i386/pc/multiboot.h: Removed.
37912 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37913
37914 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37915 and 2 to allow for one multiboot and module commands.
37916 * loader/multiboot2.c: Add multiboot2 functionality.
37917 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37918 and definition names.
37919 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37920 2 functions.
37921 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37922 ieee1275 specific multiboot2 code.
37923
37924 * kern/i386/pc/startup.S: Change headers and definition names for
37925 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37926
daf0f0ba 379272007-07-22 Robert Millan <rmh@aybabtu.com>
37928
37929 * geninitheader.sh: Process file specified in first parameter rather
37930 than hardcoding grub_modules_init.lst.
fe6b695a 37931 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37932 than hardcoding grub_modules_init.h.
37933
37934 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37935 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37936 grub_probe_init.[ch] and grub_setup_init.[ch].
37937
37938 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37939 grub_modules_init.h with grub_emu_init.h.
37940 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37941 grub_probe_init.[ch] files.
37942 * conf/i386-efi.rmk: Likewise.
37943 * conf/i386-pc.rmk: Likewise.
37944 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37945 grub_setup_init.[ch] files.
37946
37947 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37948 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37949 to initialize modules rather than a list of hardcoded functions.
37950 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37951 grub_init_all() to initialize modules rather than a list of hardcoded
37952 functions.
37953
54cdc1cc 379542007-07-22 Robert Millan <rmh@aybabtu.com>
37955
37956 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37957 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37958
ad0686cc 379592007-07-22 Robert Millan <rmh@aybabtu.com>
37960
37961 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37962 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37963 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37964 flag when running on SmartFirmware.
37965 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37966 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37967 was set.
37968
37969 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37970 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37971 rather than decreasing it.
37972
37973 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37974 there's not enough space to do it, fail in the same way as when it
37975 can't be done because there are no partitions.
37976
37977 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37978 when nvsetenv failed.
37979
969c02ec 379802007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37981
37982 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37983 because this rule is automatically generated.
37984 (grub-mkrescue): Removed for the same reason as above.
37985
5a79f472 379862007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37987
37988 Migrate to GNU General Public License Version 3.
f19dbdb7 37989
5a79f472 37990 * COPYING: Replaced with the plain text version of GPLv3.
37991
37992 * config.guess: Updated from gnulib.
37993 * config.sub: Likewise.
37994
37995 * geninit.sh: Output a GPLv3 copyright notice.
37996 * geninitheader.sh: Likewise.
37997 * genmodsrc.sh: Likewise.
37998 * gensymlist.sh.in: Likewise.
37999
38000 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38001 * boot/i386/pc/diskboot.S: Likewise.
38002 * boot/i386/pc/pxeboot.S: Likewise.
38003 * commands/blocklist.c: Likewise.
38004 * commands/boot.c: Likewise.
38005 * commands/cat.c: Likewise.
38006 * commands/cmp.c: Likewise.
38007 * commands/configfile.c: Likewise.
38008 * commands/echo.c: Likewise.
38009 * commands/help.c: Likewise.
38010 * commands/ls.c: Likewise.
38011 * commands/search.c: Likewise.
38012 * commands/terminal.c: Likewise.
38013 * commands/test.c: Likewise.
38014 * commands/videotest.c: Likewise.
38015 * commands/i386/cpuid.c: Likewise.
38016 * commands/i386/pc/halt.c: Likewise.
38017 * commands/i386/pc/play.c: Likewise.
38018 * commands/i386/pc/reboot.c: Likewise.
38019 * commands/i386/pc/vbeinfo.c: Likewise.
38020 * commands/i386/pc/vbetest.c: Likewise.
38021 * commands/ieee1275/halt.c: Likewise.
38022 * commands/ieee1275/reboot.c: Likewise.
38023 * commands/ieee1275/suspend.c: Likewise.
38024 * disk/loopback.c: Likewise.
38025 * disk/lvm.c: Likewise.
38026 * disk/raid.c: Likewise.
38027 * disk/efi/efidisk.c: Likewise.
38028 * disk/i386/pc/biosdisk.c: Likewise.
38029 * disk/ieee1275/ofdisk.c: Likewise.
38030 * font/manager.c: Likewise.
38031 * fs/affs.c: Likewise.
38032 * fs/ext2.c: Likewise.
38033 * fs/fat.c: Likewise.
38034 * fs/fshelp.c: Likewise.
38035 * fs/hfs.c: Likewise.
38036 * fs/hfsplus.c: Likewise.
38037 * fs/iso9660.c: Likewise.
38038 * fs/jfs.c: Likewise.
38039 * fs/minix.c: Likewise.
38040 * fs/sfs.c: Likewise.
38041 * fs/ufs.c: Likewise.
38042 * fs/xfs.c: Likewise.
38043 * hello/hello.c: Likewise.
38044 * include/grub/acorn_filecore.h: Likewise.
38045 * include/grub/arg.h: Likewise.
38046 * include/grub/bitmap.h: Likewise.
38047 * include/grub/boot.h: Likewise.
38048 * include/grub/cache.h: Likewise.
38049 * include/grub/device.h: Likewise.
38050 * include/grub/disk.h: Likewise.
38051 * include/grub/dl.h: Likewise.
38052 * include/grub/elfload.h: Likewise.
38053 * include/grub/env.h: Likewise.
38054 * include/grub/err.h: Likewise.
38055 * include/grub/file.h: Likewise.
38056 * include/grub/font.h: Likewise.
38057 * include/grub/fs.h: Likewise.
38058 * include/grub/fshelp.h: Likewise.
38059 * include/grub/gzio.h: Likewise.
38060 * include/grub/hfs.h: Likewise.
38061 * include/grub/kernel.h: Likewise.
38062 * include/grub/loader.h: Likewise.
38063 * include/grub/lvm.h: Likewise.
38064 * include/grub/misc.h: Likewise.
38065 * include/grub/mm.h: Likewise.
38066 * include/grub/net.h: Likewise.
38067 * include/grub/normal.h: Likewise.
38068 * include/grub/parser.h: Likewise.
38069 * include/grub/partition.h: Likewise.
38070 * include/grub/pc_partition.h: Likewise.
38071 * include/grub/raid.h: Likewise.
38072 * include/grub/rescue.h: Likewise.
38073 * include/grub/script.h: Likewise.
38074 * include/grub/setjmp.h: Likewise.
38075 * include/grub/symbol.h: Likewise.
38076 * include/grub/term.h: Likewise.
38077 * include/grub/terminfo.h: Likewise.
38078 * include/grub/tparm.h: Likewise.
38079 * include/grub/types.h: Likewise.
38080 * include/grub/video.h: Likewise.
38081 * include/grub/efi/api.h: Likewise.
38082 * include/grub/efi/chainloader.h: Likewise.
38083 * include/grub/efi/console.h: Likewise.
38084 * include/grub/efi/console_control.h: Likewise.
38085 * include/grub/efi/disk.h: Likewise.
38086 * include/grub/efi/efi.h: Likewise.
38087 * include/grub/efi/pe32.h: Likewise.
38088 * include/grub/efi/time.h: Likewise.
38089 * include/grub/i386/linux.h: Likewise.
38090 * include/grub/i386/setjmp.h: Likewise.
38091 * include/grub/i386/types.h: Likewise.
38092 * include/grub/i386/efi/kernel.h: Likewise.
38093 * include/grub/i386/efi/loader.h: Likewise.
38094 * include/grub/i386/efi/time.h: Likewise.
38095 * include/grub/i386/pc/biosdisk.h: Likewise.
38096 * include/grub/i386/pc/boot.h: Likewise.
38097 * include/grub/i386/pc/chainloader.h: Likewise.
38098 * include/grub/i386/pc/console.h: Likewise.
38099 * include/grub/i386/pc/init.h: Likewise.
38100 * include/grub/i386/pc/kernel.h: Likewise.
38101 * include/grub/i386/pc/loader.h: Likewise.
38102 * include/grub/i386/pc/memory.h: Likewise.
38103 * include/grub/i386/pc/multiboot.h: Likewise.
38104 * include/grub/i386/pc/serial.h: Likewise.
38105 * include/grub/i386/pc/time.h: Likewise.
38106 * include/grub/i386/pc/vbe.h: Likewise.
38107 * include/grub/i386/pc/vbeblit.h: Likewise.
38108 * include/grub/i386/pc/vbefill.h: Likewise.
38109 * include/grub/i386/pc/vbeutil.h: Likewise.
38110 * include/grub/i386/pc/vga.h: Likewise.
38111 * include/grub/ieee1275/ieee1275.h: Likewise.
38112 * include/grub/ieee1275/ofdisk.h: Likewise.
38113 * include/grub/powerpc/libgcc.h: Likewise.
38114 * include/grub/powerpc/setjmp.h: Likewise.
38115 * include/grub/powerpc/types.h: Likewise.
38116 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38117 * include/grub/powerpc/ieee1275/console.h: Likewise.
38118 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38119 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38120 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38121 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38122 * include/grub/powerpc/ieee1275/time.h: Likewise.
38123 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38124 * include/grub/sparc64/libgcc.h: Likewise.
38125 * include/grub/sparc64/setjmp.h: Likewise.
38126 * include/grub/sparc64/types.h: Likewise.
38127 * include/grub/sparc64/ieee1275/console.h: Likewise.
38128 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38129 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38130 * include/grub/sparc64/ieee1275/time.h: Likewise.
38131 * include/grub/util/biosdisk.h: Likewise.
38132 * include/grub/util/getroot.h: Likewise.
38133 * include/grub/util/lvm.h: Likewise.
38134 * include/grub/util/misc.h: Likewise.
38135 * include/grub/util/raid.h: Likewise.
38136 * include/grub/util/resolve.h: Likewise.
38137 * io/gzio.c: Likewise.
38138 * kern/device.c: Likewise.
38139 * kern/disk.c: Likewise.
38140 * kern/dl.c: Likewise.
38141 * kern/elf.c: Likewise.
38142 * kern/env.c: Likewise.
38143 * kern/err.c: Likewise.
38144 * kern/file.c: Likewise.
38145 * kern/fs.c: Likewise.
38146 * kern/loader.c: Likewise.
38147 * kern/main.c: Likewise.
38148 * kern/misc.c: Likewise.
38149 * kern/mm.c: Likewise.
38150 * kern/parser.c: Likewise.
38151 * kern/partition.c: Likewise.
38152 * kern/rescue.c: Likewise.
38153 * kern/term.c: Likewise.
38154 * kern/efi/efi.c: Likewise.
38155 * kern/efi/init.c: Likewise.
38156 * kern/efi/mm.c: Likewise.
38157 * kern/i386/dl.c: Likewise.
38158 * kern/i386/efi/init.c: Likewise.
38159 * kern/i386/efi/startup.S: Likewise.
38160 * kern/i386/pc/init.c: Likewise.
38161 * kern/i386/pc/lzo1x.S: Likewise.
38162 * kern/i386/pc/startup.S: Likewise.
38163 * kern/ieee1275/ieee1275.c: Likewise.
38164 * kern/powerpc/cache.S: Likewise.
38165 * kern/powerpc/dl.c: Likewise.
38166 * kern/powerpc/ieee1275/cmain.c: Likewise.
38167 * kern/powerpc/ieee1275/crt0.S: Likewise.
38168 * kern/powerpc/ieee1275/init.c: Likewise.
38169 * kern/powerpc/ieee1275/openfw.c: Likewise.
38170 * kern/sparc64/cache.S: Likewise.
38171 * kern/sparc64/dl.c: Likewise.
38172 * kern/sparc64/ieee1275/init.c: Likewise.
38173 * kern/sparc64/ieee1275/openfw.c: Likewise.
38174 * loader/efi/chainloader.c: Likewise.
38175 * loader/efi/chainloader_normal.c: Likewise.
38176 * loader/i386/efi/linux.c: Likewise.
38177 * loader/i386/efi/linux_normal.c: Likewise.
38178 * loader/i386/pc/chainloader.c: Likewise.
38179 * loader/i386/pc/chainloader_normal.c: Likewise.
38180 * loader/i386/pc/linux.c: Likewise.
38181 * loader/i386/pc/linux_normal.c: Likewise.
38182 * loader/i386/pc/multiboot.c: Likewise.
38183 * loader/i386/pc/multiboot_normal.c: Likewise.
38184 * loader/powerpc/ieee1275/linux.c: Likewise.
38185 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38186 * normal/arg.c: Likewise.
38187 * normal/cmdline.c: Likewise.
38188 * normal/command.c: Likewise.
38189 * normal/completion.c: Likewise.
38190 * normal/execute.c: Likewise.
38191 * normal/function.c: Likewise.
38192 * normal/lexer.c: Likewise.
38193 * normal/main.c: Likewise.
38194 * normal/menu.c: Likewise.
38195 * normal/menu_entry.c: Likewise.
38196 * normal/misc.c: Likewise.
38197 * normal/parser.y: Likewise.
38198 * normal/script.c: Likewise.
38199 * normal/i386/setjmp.S: Likewise.
38200 * normal/powerpc/setjmp.S: Likewise.
38201 * normal/sparc64/setjmp.S: Likewise.
38202 * partmap/acorn.c: Likewise.
38203 * partmap/amiga.c: Likewise.
38204 * partmap/apple.c: Likewise.
38205 * partmap/gpt.c: Likewise.
38206 * partmap/pc.c: Likewise.
38207 * partmap/sun.c: Likewise.
38208 * term/gfxterm.c: Likewise.
38209 * term/terminfo.c: Likewise.
38210 * term/efi/console.c: Likewise.
38211 * term/i386/pc/console.c: Likewise.
38212 * term/i386/pc/serial.c: Likewise.
38213 * term/i386/pc/vesafb.c: Likewise.
38214 * term/i386/pc/vga.c: Likewise.
38215 * term/ieee1275/ofconsole.c: Likewise.
38216 * util/biosdisk.c: Likewise.
38217 * util/console.c: Likewise.
38218 * util/genmoddep.c: Likewise.
38219 * util/getroot.c: Likewise.
38220 * util/grub-emu.c: Likewise.
38221 * util/grub-mkdevicemap.c: Likewise.
38222 * util/grub-probe.c: Likewise.
38223 * util/lvm.c: Likewise.
38224 * util/misc.c: Likewise.
38225 * util/raid.c: Likewise.
38226 * util/resolve.c: Likewise.
38227 * util/update-grub.in: Likewise.
38228 * util/update-grub_lib.in: Likewise.
38229 * util/grub.d/00_header.in: Likewise.
38230 * util/grub.d/10_hurd.in: Likewise.
38231 * util/grub.d/10_linux.in: Likewise.
38232 * util/i386/efi/grub-install.in: Likewise.
38233 * util/i386/efi/grub-mkimage.c: Likewise.
38234 * util/i386/pc/grub-install.in: Likewise.
38235 * util/i386/pc/grub-mkimage.c: Likewise.
38236 * util/i386/pc/grub-mkrescue.in: Likewise.
38237 * util/i386/pc/grub-setup.c: Likewise.
38238 * util/i386/pc/misc.c: Likewise.
38239 * util/powerpc/ieee1275/grub-install.in: Likewise.
38240 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
38241 * util/powerpc/ieee1275/misc.c: Likewise.
38242 * video/bitmap.c: Likewise.
38243 * video/video.c: Likewise.
38244 * video/i386/pc/vbe.c: Likewise.
38245 * video/i386/pc/vbeblit.c: Likewise.
38246 * video/i386/pc/vbefill.c: Likewise.
38247 * video/i386/pc/vbeutil.c: Likewise.
38248 * video/readers/tga.c: Likewise.
38249
3572d015 382502007-07-02 Robert Millan <rmh@aybabtu.com>
38251
38252 * conf/i386-efi.rmk: Replace obsolete reference to
38253 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
38254 with util/getroot.c.
38255 * conf/powerpc-ieee1275.rmk: Likewise.
38256 * conf/sparc64-ieee1275.rmk: Likewise.
38257
38258 * util/grub-emu.c (main): Fix unchecked pointer handling.
38259
2c2a681b 382602007-07-02 Robert Millan <rmh@aybabtu.com>
38261
38262 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
38263 invocation to fail, in order to support partition-less media.
38264
38265 * util/i386/pc/grub-install.in: Likewise.
38266
38267 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
38268 which fs or partmap modules are needed (akin to its sister scripts).
38269
38270 Also use grub-probe to get rid of unportable /proc/mounts check.
38271
38272 Print the same informational message that the other scripts do, before
fe6b695a 38273 exiting.
2c2a681b 38274
6193defe 382752007-06-23 Robert Millan <rmh@aybabtu.com>
38276
fe6b695a 38277 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 38278 a font file can be found and, if so, echo the GRUB path to it.
38279
38280 * util/update-grub.in: Handle multiple terminals depending on user
38281 input, platform availability and font file presence. Propagate
38282 variables of our findings to /etc/grub.d/ children.
38283
38284 * util/grub.d/00_header.in: Handle multiple terminals, based on
38285 environment setup by update-grub.
38286
eface1dc 382872007-06-23 Robert Millan <rmh@aybabtu.com>
38288
ba50d28f 38289 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 38290
bf697e28 382912007-06-21 Robert Millan <rmh@aybabtu.com>
38292
38293 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
38294 indicate end of data section in kernel image.
38295 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
38296 GRUB_KERNEL_MACHINE_DATA_END.
38297
38298 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
38299 space for it.
38300 * kern/i386/efi/startup.S: Likewise.
38301
38302 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
38303 during image generation. Implement --prefix option to override this
38304 patch.
38305 * util/i386/efi/grub-mkimage.c: Likewise.
38306
38307 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
38308 code to make path relative to its root into a separate function.
38309
38310 * util/i386/pc/grub-install.in: Use newly provided
38311 make_system_path_relative_to_its_root() to convert ${grubdir}, then
38312 pass the result to grub-install --prefix.
38313
baa574b4 383142007-06-13 Robert Millan <rmh@aybabtu.com>
38315
38316 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
38317 DEFAULT_DEVICE_MAP.
38318 * util/grub-emu.c: Use above definitions from misc.h instead of
38319 defining them.
38320 * util/grub-mkdevicemap.c: Likewise.
38321 * util/i386/pc/grub-setup.c: Likewise.
38322 * util/grub-probe.c: Likewise.
38323 (probe): Abort with grub_util_error() when either
38324 grub_guess_root_device or grub_util_get_grub_dev fails.
38325
0215dcbf 383262007-06-12 Robert Millan <rmh@aybabtu.com>
38327
38328 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
38329 "pager" assignment.
38330 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
38331 "pcdata".
38332 * util/grub-probe.c (probe): Likewise for "drive_name".
38333
8af2ab7b 383342007-06-11 Robert Millan <rmh@aybabtu.com>
38335
38336 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
38337 not just the cdrom one.
38338
59d31694 383392007-06-11 Robert Millan <rmh@aybabtu.com>
38340
38341 * util/i386/pc/grub-mkrescue.in: Add "set -e".
38342 Add --pkglibdir=DIR option to override pkglibdir.
38343 Mention --image-type=TYPE in help output.
38344 Fix --grub-mkimage (it was a no-op).
fe6b695a 38345 Abort gracefully when no parameter is given.
59d31694 38346
7ee367e4 383472007-06-11 Robert Millan <rmh@aybabtu.com>
38348
38349 * util/i386/pc/grub-mkrescue.in: New file.
38350 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
38351 * Makefile.in: Handle bin_SCRIPTS.
38352
29b0ed46 383532007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
38354
38355 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
38356 list of video modes.
38357
c0f90770 383582007-06-06 Robert Millan <rmh@aybabtu.com>
38359
38360 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
38361 file doesn't exist, or if it is in a filesystem grub can't read.
38362
38363 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
38364 not abort if GRUB_DRIVE could not be defined. Rearrange generated
38365 header comment to fit in 80 columns when the variables are resolved.
38366
38367 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
38368 could be identified by update-grub. Remove redundant check for
fe6b695a 38369 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 38370 handles that).
38371
fb36dc26 383722007-06-04 Robert Millan <rmh@aybabtu.com>
38373
38374 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
38375
38376 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
38377
38378 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
38379
0c68c93e 383802007-06-04 Robert Millan <rmh@aybabtu.com>
38381
38382 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
38383
38384 * include/grub/partition.h: Declare grub_apple_partition_map_init and
38385 grub_apple_partition_map_fini.
38386
38387 * util/biosdisk.c
38388 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
38389 to access >2 TiB disks).
38390
38391 Print disk->total_sectors with %llu instead of %lu, since this
38392 variable is always 64-bit (prevents wrong disk size from being displayed
38393 on either >2 TiB disk or big-endian CPU).
38394
38395 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
38396 into a generic case that supports all (sane) partition maps.
38397
38398 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
38399 breaks big-endian.
38400
38401 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
38402 and grub_apple_partition_map_fini() after that.
38403
0f23eb74 384042007-06-01 Robert Millan <rmh@aybabtu.com>
38405
38406 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
38407
38408 * util/grub.d/00_header.in: Only enable gfxterm when
38409 convert_system_path_to_grub_path() succeeds.
38410
42c71976 384112007-05-20 Robert Millan <rmh@aybabtu.com>
38412
38413 * util/update-grub_lib.in: New file.
38414 * DISTLIST: Add update-grub_lib.in.
38415 * conf/common.rmk: Generate update-grub_lib and install it in
38416 $(lib_DATA).
38417 * Makefile.in: Add install routine for $(lib_DATA).
38418
38419 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
38420 function provided by update-grub_lib to support arbitrary paths of
38421 unifont.pff.
38422 * util/update-grub.in: Use convert_system_path_to_grub_path() to
38423 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
38424
5beb2291 384252007-05-19 Robert Millan <rmh@aybabtu.com>
38426
38427 * commands/i386/cpuid.c: New module.
38428 * DISTLIST: Add it.
38429 * conf/i386-efi.rmk: Enable cpuid.mod.
38430 * conf/i386-pc.rmk: Likewise.
38431
7262eca1 384322007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38433
38434 * kern/disk.c (grub_disk_read): Check return value of
38435 grub_realloc().
38436
260ba823 384372007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38438
38439 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
38440 arrays.
38441 * disk/raid.c (grub_raid_open): Likewise.
38442
1ecb6cf2 384432007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38444
38445 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
38446 stack instead of on the heap.
38447
38448 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
38449 before doing a read on it.
38450
38451 * configure.ac: Only use -fno-stack-protector for the target
38452 environment.
f19dbdb7 38453
21c8cbb1 384542007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38455
38456 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
38457 __attribute_ ((unused)) to mode_type argument.
38458
38459 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 38460
21c8cbb1 38461 * kern/misc.c (memcmp): Fix prototype.
38462
38463 * include/grub/partition.h [GRUB_UTIL]
38464 (grub_gpt_partition_map_init): Add prototype.
38465 (grub_gpt_partition_map_fini): Likewise.
38466
38467 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
38468 at the right place.
38469
38470 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
38471 (grub_fat_read_data): Likewise.
38472 (grub_fat_find_dir): Likewise.
38473
38474 * font/manager.c (find_glyph): Make table a const.
38475 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 38476
849d55d3 384772007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
38478
38479 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
38480 code, first search for device in /dev/mapper, then in /dev.
38481 (grub_util_get_grub_dev): New function.
38482 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
38483 prototype.
38484 * util/grub-probe.c (probe): Remove check for RAID, call
38485 grub_util_get_grub_dev() instead of
38486 grub_util_biosdisk_get_grub_dev().
38487 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
38488 grub_util_biosdisk_get_grub_dev().
38489 * util/i386/pc/grub-setup.c (main): Likewise.
38490
8fff7c2f 384912007-05-16 Robert Millan <rmh@aybabtu.com>
38492
38493 * DISTLIST: Update for the latest changes.
38494 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
38495 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
38496 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
38497 grub/util/biosdisk.h.
38498 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
38499 grub/util/biosdisk.h.
38500
48e12b52 385012007-05-16 Robert Millan <rmh@aybabtu.com>
38502
38503 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
38504
46b9d128 385052007-05-16 Robert Millan <rmh@aybabtu.com>
38506
38507 * util/i386/efi/grub-install.in: New.
38508 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
38509 newly added grub-install.
38510 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
38511 include.
38512 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
38513 grub/util/biosdisk.h.
38514 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
38515 grub/util/biosdisk.h.
38516
2d1a40a9 385172007-05-16 Robert Millan <rmh@aybabtu.com>
38518
38519 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
38520 * include/grub/util/biosdisk.h: ... here.
38521 * util/i386/pc/biosdisk.c: Moved to ...
38522 * util/biosdisk.c: ... here.
38523 * util/i386/pc/getroot.c: Moved to ...
38524 * util/getroot.c: ... here.
38525 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
38526 * util/grub-mkdevicemap.c: ... here.
38527 * util/i386/pc/grub-probe.c: Moved to ...
38528 * util/grub-probe.c: ... here.
38529
9e26e3bc 385302007-05-15 Robert Millan <rmh@aybabtu.com>
38531
38532 * util/update-grub.in: Remove duplicated line in grub.cfg header
38533 message.
38534
57f96397 385352007-05-13 Robert Millan <rmh@aybabtu.com>
38536
38537 * util/update-grub.in: Fix a few assumptions about the devices holding
38538 /, /boot and /boot/grub being the same.
38539 * util/grub.d/00_header.in: Likewise.
38540 * util/grub.d/10_hurd.in: Likewise.
38541 * util/grub.d/10_linux.in: Likewise.
38542
38543 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
38544 patterns. Use that to define the `.old' suffix as older than `'.
38545
38546 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
38547
38548 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
38549 the grub.cfg header message.
38550
2e610d62 385512007-05-11 Robert Millan <rmh@aybabtu.com>
38552
38553 * util/update-grub.in: Create device.map if it doesn't already exist,
38554 before attempting to run grub-probe.
38555 Check for grub-probe and grub-mkdevicemap with the same code
38556 grub-install is using.
38557 Remove test mode.
38558
3f6a10ef 385592007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
38560
38561 * Makefile.in: Add the datarootdir autoconf variable.
38562
02e7b75e 385632007-05-09 Robert Millan <rmh@aybabtu.com>
38564
38565 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 38566 fail gracefully if dev->disk->partition == NULL.
02e7b75e 38567
75f396cc 385682007-05-07 Robert Millan <rmh@aybabtu.com>
38569
38570 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
38571 determine partition map module.
38572 * util/i386/pc/grub-install.in: Use this feature to decide which
38573 partition module to load, instead of hardcoding pc and gpt.
38574
da65cb36 385752007-05-07 Robert Millan <rmh@aybabtu.com>
38576
38577 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
38578 source directory differs from build directory.
38579
b57d6a91 385802007-05-05 Robert Millan <rmh@aybabtu.com>
38581
38582 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
38583 initialisation.
38584
509d00f1 385852007-05-05 Robert Millan <rmh@aybabtu.com>
38586
38587 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
38588
c48f23ef 385892007-05-05 Robert Millan <rmh@aybabtu.com>
38590
38591 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38592 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38593
20b97658 385942007-05-05 Robert Millan <rmh@aybabtu.com>
38595
38596 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38597 (grub_probe_SOURCES): Likewise.
38598 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38599 GPT and initialize dos_part and bsd_part accordingly.
38600 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38601 install_bsd_part.
38602 (main): Activate gpt module for use during partition identification,
38603 and deactivate it afterwards.
38604 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38605 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38606 partition identification, and deactivate it afterwards.
38607
99123174 386082007-05-05 Robert Millan <rmh@aybabtu.com>
38609
38610 * term/i386/pc/console.c (grub_console_fini): Call
38611 grub_term_set_current() before grub_term_unregister().
38612
ebd97f6e 386132007-05-04 Robert Millan <rmh@aybabtu.com>
38614
38615 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38616 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38617 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38618 and update-grub_DATA.
38619 * conf/common.rmk: Build and install update-grub components.
38620 * conf/common.mk: Regenerate.
38621 * util/update-grub.in: New. Core of update-grub.
38622 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38623 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38624 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38625 * util/grub.d/README: New. Document grub.d directory layout.
38626
b06a264d 386272007-05-01 Robert Millan <rmh@aybabtu.com>
38628
38629 * util/grub-emu.c: Move initialization functions
38630 grub_util_biosdisk_init() and grub_init_all() before
38631 grub_util_biosdisk_get_grub_dev(), which relies on them.
38632
41f0050e 386332007-04-19 Robert Millan <rmh@aybabtu.com>
38634
38635 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38636 it is used later.
38637
04582bb3 386382007-04-18 Jerone Young <jerone@gmail.com>
38639
f19dbdb7 38640 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38641 stanza.
38642
08db4632 386432007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38644
08db4632 38645 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38646 continue on and look for device node with real device name.
38647
801b76be 386482007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38649
fe6b695a 38650 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38651 ability.
38652 * Makefile.in: Add autoconf package transformation code.
38653 * util/i386/pc/grub-install.in: Likewise.
38654 * util/powerpc/ieee1275/grub-install.in: Likewise.
38655
6795c4e1 386562007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38657
38658 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38659 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38660 (EXT2_REVISION): Likewise.
38661 (EXT2_INODE_SIZE): Likewise.
38662 (struct grub_ext2_block_group): Added a missing member
38663 "used_dirs".
38664 (grub_ext2_read_inode): Divide by the inode size in a superblock
38665 instead of 128 to obtain INODES_PER_BLOCK.
38666 Use the macro EXT2_INODE_SIZE instead of directly using
38667 SBLOCK->INODE_SIZE.
38668
d70af616 386692007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38670
38671 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38672 superblock instead of the structure size to compute an
38673 offset. This fixes the problem that GRUB could not read a
38674 filesystem when inode size is different from 128-byte.
38675
3b801603 386762007-03-05 Marco Gerards <marco@gnu.org>
38677
38678 * normal/main.c (read_config_file): When "menu" is not set, create
38679 an initial context.
38680
4785bfe4 386812007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38682
38683 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38684 (HEAP_LIMIT): New macro.
38685 (grub_claim_heap): Claim memory up to `heaplimit'.
38686
a0cbb023 386872007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38688
38689 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38690 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38691 (_start): Likewise.
38692 (grub_arch_modules_addr): Return address after `_end'.
38693 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38694 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38695 (add_segments): Calculate `_end' from phdr size and location.
38696 (ALIGN_UP): Moved to ...
38697 * include/grub/misc.h: here.
38698 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38699 New macro.
38700 (GRUB_IEEE1275_MODULE_BASE): Removed.
38701
fd7d8eba 387022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38703
38704 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38705 loop boundary.
38706
9b09e6fc 387072007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38708
38709 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38710 All users updated.
38711 (grub_elf64_load_hook_t): Likewise.
38712 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38713 debug output.
38714
3ce27299 387152007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38716
38717 * kern/mm.c: Update copyright.
38718 (grub_mm_debug): Correct syntax error.
38719 (grub_mm_dump_free): New function.
38720 (grub_debug_free): Call `grub_free'.
38721 * include/grub/mm.h: Update copyright.
38722 (grub_mm_dump_free): Add declaration.
38723
077d5fee 387242007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38725
38726 * include/grub/ieee1275/ieee1275.h: Update copyright.
38727 * kern/powerpc/ieee1275/init.c: Likewise.
38728 * kern/powerpc/ieee1275/openfw.c: Likewise.
38729
38730 * loader/powerpc/ieee1275/linux.c: Likewise.
38731 * include/grub/elfload.h: Likewise.
38732 * kern/elf.c: Likewise.
38733 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38734 callers.
38735 (grub_elf64_load): Likewise.
38736 (grub_elf32_load_segment): Move to a nested function.
38737 (grub_elf64_load_segment): Likewise.
38738
dc946850 387392007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38740
38741 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38742 prototype.
38743 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38744 (grub_heap_len): Likewise.
38745 (HEAP_SIZE): New macro.
38746 (grub_claim_heap): New function.
38747 (grub_machine_init): Don't claim heap directly. Call
38748 `grub_claim_heap'.
38749 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38750 (grub_available_iterate): New function.
38751
baa2a121 387522007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38753
38754 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38755 * configure.ac: Use it for testing the HOST and TARGET compilers.
38756
4fe9862e 387572006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38758
38759 * Makefile.in (enable_grub_emu): New variable.
38760 * configure.ac (--enable-grub-emu): New option.
38761 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38762 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38763 * conf/i386-pc.rmk: Likewise.
38764 * conf/powerpc-ieee1275.rmk: Likewise.
38765 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38766
a8aa5762 387672006-12-12 Marco Gerards <marco@gnu.org>
38768
38769 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38770
38771 * kern/env.c (grub_env_unset): Don't free the member `value' when
38772 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38773 pointer.
38774
38775 * normal/main.c (current_menu): Removed.
38776 (free_menu): Unset the `menu' environment variable.
38777 (grub_normal_menu_addentry): Make use of the environment variable
38778 `menu', instead of using the global `current_menu'. Allocate
38779 memory for the sourcecode of this entry.
38780 (read_config_file): New argument `nested', changed all callers.
38781 Only in the case of a new context, initialize a new menu. Set the
38782 `menu' environment variable.
38783 (grub_normal_execute): Don't set and unset the environment
38784 variable `menu' here anymore. Only free the menu when leaving the
38785 context.
38786
38787 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38788 leak.
38789
957b3a3e 387902006-12-11 Marco Gerards <marco@gnu.org>
38791
38792 * normal/menu_entry.c (run): Fix off by one bug so the last line
38793 is executed. Move the loader check to outside the loop.
38794
ef875714 387952006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38796
38797 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38798
4e739985 387992006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38800
38801 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38802 the number of sectors. Reported by Andrey Shuvikov
38803 <mr_hyro@yahoo.com>.
f19dbdb7 38804
790707f2 388052006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38806
38807 * kern/disk.c (grub_disk_read): When there is a read error, always
38808 try to read only the necessary data.
f19dbdb7 38809
790707f2 38810 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38811 disk/raid.c.
38812 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38813 prototype.
38814 [GRUB_UTIL] (grub_raid_fini): Likewise.
38815 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38816 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38817 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38818 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38819 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38820 and grub_raid_fini().
f19dbdb7 38821
03e58196 388222006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38823
38824 * include/grub/types.h (__unused): Rename to UNUSED.
38825 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38826 (grub_elf64_size): Likewise.
f19dbdb7 38827
ae4f23bf 388282006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38829
38830 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38831 grub_error_push and grub_error_pop in the error-handling path.
38832 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38833 length.
38834
2166cc83 388352006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38836
38837 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38838 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38840 (kernel_elf_SOURCES): Likewise.
38841 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38842 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38843 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38844 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38845 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38846 (elf_mod_SOURCES): New variable.
38847 (elf_mod_CFLAGS): Likewise.
38848 (elf_mod_LDFLAGS): Likewise.
38849 * include/grub/types.h (__unused): New macro.
38850 * include/grub/elfload.h: New file.
38851 * kern/elf.c: Likewise.
38852 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38853 (ELF32_LOADMASK): New macro.
38854 (ELF64_LOADMASK): Likewise.
38855 (vmlinux): Removed.
38856 (grub_linux_load32): New function.
38857 (grub_linux_load64): Likewise.
38858 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38859 Use grub_elf_t instead of grub_file_t.
38860
a09d5aa5 388612006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38862
38863 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38864 `catch_result' to struct set_color_args.
38865
d976fc51 388662006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38867
38868 * normal/menu.c: Include grub/script.h.
38869 * normal/menu_entry.c: Likewise.
38870 * include/grub/normal.h: Do not include grub/script.h.
38871
67507549 388722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38873
38874 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38875
69203a99 388762006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38877
38878 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38879 disk.
38880 (grub_disk_close): Print debug messages when closing a disk.
38881 (grub_disk_read): Print debug messages when disk read fails.
38882 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38883 filesystem type.
38884 * kern/partition.c: Include misc.h.
38885 (grub_partition_iterate): Print debug messages when detecting
38886 partition type.
38887
e2b8278c 388882006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38889
38890 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38891 is negative.
38892 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38893
97b2f2ff 388942006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38895
38896 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38897 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38898
6555d655 388992006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38900
38901 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38902 instead of sizeof(lv). Patch by Michael Guntsche.
38903
4d42b77f 389042006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38905
38906 * disk/lvm.c: Rename VGS to VG_LIST.
38907 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38908 (grub_lvm_open): Likewise.
38909 Thanks to Michael Guntsche for finding this bug.
38910
5d74d927 389112006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38912
38913 * configure.ac (AC_INIT): Bumped to 1.95.
38914
a1bb27e4 389152006-10-14 Robert Millan <rmh@aybabtu.com>
38916
38917 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38918 with "/dev/.static/dev/md".
38919
e0994b8b 389202006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38921
38922 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38923 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38924 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38925 DRIVE_NAME are always freed.
38926
38927 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38928 DOS_PART, as a DOS partition is counted from one instead of zero
38929 now. Reported by Robert Millan.
38930
ddd5cee9 389312006-10-14 Robert Millan <rmh@aybabtu.com>
38932
38933 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38934 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38935 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38936 string returned by grub_guess_root_device.
38937 * util/i386/pc/grub-setup.c: Likewise.
38938 * util/i386/pc/grub-probefs.c: Likewise.
38939
38940 * util/i386/pc/grub-probefs.c: Rename to ...
38941 * util/i386/pc/grub-probe.c: ... this.
38942 * DISTLIST: Remove grub-probefs, add grub-probe.
38943 * conf/i386-efi.rmk: Likewise.
38944 * conf/i386-pc.rmk: Likewise.
38945 * util/i386/pc/grub-install.in: Likewise.
38946
38947 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38948 choose which information we want to print.
38949
2b002173 389502006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38951
38952 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38953 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38954 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38955 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38956 video/readers/tga.c and video/i386/pc/vbeutil.c.
38957
389582006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38959
38960 Added support for RAID and LVM.
f19dbdb7 38961
2b002173 38962 * disk/lvm.c: New file.
38963 * disk/raid.c: Likewise.
38964 * include/grub/lvm.h: Likewise.
f19dbdb7 38965 * include/grub/raid.h: Likewise.
2b002173 38966 * include/grub/util/lvm.h: Likewise.
38967 * include/grub/util/raid.h: Likewise.
38968 * util/lvm.c: Likewise.
38969 * util/raid.c: Likewise.
38970
38971 * include/grub/disk.h (grub_disk_dev_id): Add
38972 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38973 (grub_disk_get_size): New prototype.
38974 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38975 returns a partition.
38976 (grub_disk_get_size): New function.
f19dbdb7 38977
2b002173 38978 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38979 verbatim if grub_install_dos_part is -2.
38980
38981 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38982 and LVM devices.
38983
38984 * util/i386/pc/grub-setup.c (setup): New argument
38985 MUST_EMBED. Force embedding of GRUB when the argument is
38986 true. Close FILE before returning.
38987 (main): Add support for RAID and LVM.
f19dbdb7 38988
2b002173 38989 * conf/common.rmk: Add RAID and LVM modules.
38990 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38991 util/lvm.c.
38992 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38993
38994 * kern/misc.c (grub_strstr): New function.
38995 * include/grub/misc.h (grub_strstr): New prototype.
38996
050548d0 389972006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38998
38999 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39000
da849d2d 390012006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39002
39003 * kern/misc.c (grub_strtoull): Guess the base only if not
39004 specified.
39005
97b2f2ff 390062006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39007
39008 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39009 PowerMac support.
39010
97b2f2ff 390112006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 39012
39013 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39014
39015 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39016 Remove `flags' argument. All callers changed.
39017 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39018 (IEEE1275_IHANDLE_INVALID): New variable.
39019 (IEEE1275_CELL_INVALID): New variable.
39020 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39021 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39022 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39023 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39024 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39025 codes from Open Firmware. All callers updated.
39026 (grub_ieee1275_next_property): Directly return Open Firmware return
39027 code.
39028 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39029 Standardize error checking from `grub_ieee1275_get_property'.
39030 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39031 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39032
97b2f2ff 390332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 39034
39035 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39036 `instance_to_package_args' to `instance_to_path_args'.
39037
39038 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39039 `grub_ieee1275_chosen'.
39040
39041 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39042 `grub_ieee1275_interpret'.
39043
97b2f2ff 390442006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 39045
39046 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39047
97b2f2ff 390482006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 39049
39050 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39051 (__cmpdi): Likewise.
39052
39053 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39054 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39055 `grub_ssize_t'.
39056
02bb8acc 39057 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 39058
39059 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39060 to type `grub_ssize_t'.
39061 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39062
7f9a8531 390632006-09-22 Marco Gerards <marco@gnu.org>
39064
39065 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39066 newlines.
39067
b5ef1102 390682006-09-22 Marco Gerards <marco@gnu.org>
39069
39070 * commands/echo.c: New file.
39071
39072 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39073
39074 * conf/common.rmk (echo_mod_SOURCES): New variable.
39075 (echo_mod_CFLAGS): Likewise.
39076 (echo_mod_LDFLAGS): Likewise.
39077
2cff3677 390782006-09-22 Marco Gerards <marco@gnu.org>
39079
39080 * normal/main.c (get_line): Malloc memory instead of using
39081 preallocated memory. Removed the arguments `cmdline' and
39082 `max_len'. Updated all callers.
39083
6ba4688b 390842006-09-22 Marco Gerards <marco@gnu.org>
39085
39086 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39087 (normal_mod_DEPENDENCIES): Likewise.
39088
39089 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39090 (normal_mod_DEPENDENCIES): Likewise.
39091
39092 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39093
e02ac02c 390942006-09-22 Johan Rydberg <jrydberg@gnu.org>
39095
39096 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39097 programs.
39098 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39099 (normal_mod_DEPENDENCIES): Likewise.
39100 * conf/i386-pc.mk: Regenerate.
39101 * conf/i386-efi.mk: Likewise
39102 * conf/common.mk: Likewise.
39103 * conf/powerpc-ieee1275.mk: Likewise.
39104 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39105
8d252e44 391062006-09-22 Robert Millan <rmh@aybabtu.com>
39107
39108 Sync with i386 version.
39109 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39110 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39111
209bf7ac 391122006-09-21 Robert Millan <rmh@aybabtu.com>
39113
39114 Import from GRUB Legacy (lib/device.c):
39115 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39116 (init_device_map) [__linux__]: Add support for I2O devices.
39117
6b146090 391182006-09-14 Marco Gerards <marco@gnu.org>
39119
39120 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39121 `-melf_i386'.
39122
e38600a8 391232006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 39124
39125 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39126 /boot/grub/*.lst.
78fa1790 39127
2952da5d 39128 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 39129
2952da5d 39130 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39131 before adding it to device.map.
39132
01b82a64 391332006-08-15 Johan Rydberg <jrydberg@gnu.org>
39134
fe6b695a 39135 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 39136 compiles a file; using the -MD option.
39137 * conf/common.mk: Regenerate.
39138 * conf/i386-pc.mk: Likewise.
39139 * conf/i386-efi.mk: Likewise.
39140 * conf/powerpc-ieee1275.mk: Likewise.
39141 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39142
1064790d 391432006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39144
39145 Move the prototypes of grub_setjmp and grub_longjmp to
39146 cpu/setjmp.h, so that each architecture may specify different
39147 attributes.
f19dbdb7 39148
1064790d 39149 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39150 (grub_longjmp): Likewise.
39151 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39152 (grub_longjmp): Likewise.
39153 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39154 (grub_longjmp): Likewise.
39155
39156 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39157 [!GRUB_UTIL] (grub_longjmp): Removed.
39158
29dda3ed 391592006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39160
39161 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39162 "color!" method does not return any value.
39163
ad2a06ed 391642006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39165
39166 * include/grub/bitmap.h: New file.
39167
39168 * include/grub/i386/pc/vbeutil.h: Likewise.
39169
39170 * video/bitmap.c: Likewise.
39171
39172 * video/readers/tga.c: Likewise.
39173
39174 * video/i386/pc/vbeutil.c: Likewise.
39175
39176 * commands/videotest.c: Code cleanup and updated to reflect to new
39177 video API.
39178
39179 * term/gfxterm.c: Likewise.
39180
39181 * video/video.c: Likewise.
39182
39183 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39184 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39185 (bitmap_mod_SOURCES): New entry.
39186 (bitmap_mod_CFLAGS): Likewise.
39187 (bitmap_mod_LDFLAGS): Likewise.
39188 (tga_mod_SOURCES): Likewise.
39189 (tga_mod_CFLAGS): Likewise.
39190 (tga_mod_LDFLAGS): Likewise.
39191
39192 * include/grub/video.h (grub_video_blit_operators): New enum type.
39193 (grub_video_render_target): Changed as forward declaration and moved
39194 actual definition to be video driver specific.
39195 (grub_video_adapter.blit_bitmap): Added blitting operator.
39196 (grub_video_adapter.blit_render_target): Likewise.
39197 (grub_video_blit_bitmap): Likewise.
39198 (grub_video_blit_render_target): Likewise.
39199
39200 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39201 driver specific render target definition.
39202 (grub_video_vbe_map_rgba): Added driver internal helper.
39203 (grub_video_vbe_unmap_color): Updated to use
39204 grub_video_i386_vbeblit_info.
39205 (grub_video_vbe_get_video_ptr): Likewise.
39206
39207 * include/grub/i386/pc/vbeblit.h
39208 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39209 grub_video_i386_vbeblit_info.
39210 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39211 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39212 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39213 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39214 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39215 (grub_video_i386_vbeblit_index_index): Likewise.
39216 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39217 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39218 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39219 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39220 operator.
39221 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
39222 operator.
39223
39224 * video/i386/pc/vbeblit.c: Updated to reflect changes on
39225 include/grub/i386/pc/vbeblit.h.
39226
39227 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
39228 Updated to use grub_video_i386_vbeblit_info.
39229 (grub_video_i386_vbefill_R8G8B8): Likewise.
39230 (grub_video_i386_vbefill_index): Likewise.
39231 (grub_video_i386_vbefill): Added generic filler.
39232
39233 * video/i386/pc/vbefill.c: Updated to reflect changes on
39234 include/grub/i386/pc/vbefill.h.
39235
39236 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
39237 grub_video_i386_vbeblit_info.
39238 (grub_video_vbe_unmap_color): Likewise.
39239 (grub_video_vbe_blit_glyph): Likewise.
39240 (grub_video_vbe_scroll): Likewise.
39241 (grub_video_vbe_draw_pixel): Removed function.
39242 (grub_video_vbe_get_pixel): Likewise.
39243 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
39244 updated code to use it.
39245 (common_blitter): Added common blitter for render target and bitmap.
39246 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
39247 (grub_video_vbe_blit_render_target): Likewise.
39248
bc8c036d 392492006-07-30 Johan Rydberg <jrydberg@gnu.org>
39250
39251 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
39252 is in text mode if there is no console control protocol instance
39253 available.
39254
684a8eff 392552006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39256
39257 * include/grub/video.h: Code cleanup.
39258
39259 * include/grub/i386/pc/vbe.h: Likewise.
39260
39261 * video/i386/pc/vbe.c: Likewise.
39262
39263 * video/i386/pc/vbeblit.c: Likewise.
39264
39265 * video/i386/pc/vbefill.c: Likewise.
39266
39267 * video/video.c: Likewise. Also added more comments.
39268
5915059b 392692006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39270
39271 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
39272 (struct grub_biosdisk_dap): Likewise.
39273
39274 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
39275 linkage settings for all functions.
39276
90ce5d56 392772006-07-12 Marco Gerards <marco@gnu.org>
39278
39279 * configure.ac (--enable-mm-debug): Fix typo.
39280
39281 * genkernsyms.sh.in: Use proper quoting for `CC'.
39282
43e7f879 392832006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
39284
39285 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
39286 (normal_mod_ASFLAGS): Remove "-m32".
39287
4889bdec 392882006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
39289
39290 * util/misc.c: Include config.h.
39291 [!HAVE_MEMALIGN]: Do not include malloc.h.
39292 (grub_memalign): Use posix_memalign, if present. Then, use
39293 memalign, if present. Otherwise, emit an error.
39294
39295 * util/grub-emu.c: Do not include malloc.h.
39296
39297 * include/grub/util/misc.h: Include unistd.h. This is required for
39298 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
39299 D. Eades III <hde@foobar-qux.org>.
39300
39301 * configure.ac (AC_GNU_SOURCE): Added.
39302 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
39303 type.
39304
fd39d4da 393052006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
39306
39307 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
39308 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
39309
b786f3b5 393102006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
39311
39312 * include/grub/types.h (grub_host_addr_t): Rename to
39313 grub_target_addr_t.
39314 (grub_host_off_t): Rename to grub_target_off_t.
39315 (grub_host_size_t): Rename to grub_target_size_t.
39316 (grub_host_ssize_t): Rename to grub_target_ssize_t.
39317 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
39318
39319 * include/grub/kernel.h (struct grub_module_header): Change type
39320 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
39321 (grub_module_info): Likewise.
f19dbdb7 39322
051988bb 393232006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39324
39325 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
39326 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
39327 Velazquez <jesus.velazquez@gmail.com>.
39328
deae281b 393292006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39330
39331 Count partitions from 1 instead of 0 in the string representation
39332 of partitions. Still use 0-based internally.
f19dbdb7 39333
deae281b 39334 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
39335 (sun_partition_map_iterate): Use grub_partition_t instead of
39336 struct grub_partition *. Cast DESC->START_CYLINDER to
39337 grub_uint64_t after converting the endian.
39338 (sun_partition_map_probe): Subtract 1 for PARTNUM.
39339 (sun_partition_map_get_name): Add 1 to P->INDEX.
39340
39341 * partmap/pc.c (grub_partition_parse): Subtract 1 for
39342 PCDATA->DOS_PART.
39343 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
39344
39345 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
39346 zero instead of one.
39347 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
39348 (gpt_partition_map_get_name): Add 1 into P->INDEX.
39349
39350 * partmap/apple.c (apple_partition_map_iterate): Change the type
39351 of POS to unsigned.
39352 (apple_partition_map_probe): Subtract 1 for PARTNUM.
39353 (apple_partition_map_get_name): Add 1 into P->INDEX.
39354
39355 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
39356 of POS to unsigned.
39357 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
39358 calculate the offset of a partition.
39359 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
39360 (amiga_partition_map_get_name): Add 1 into P->INDEX.
39361
39362 * partmap/acorn.c (acorn_partition_map_find): Change the type of
39363 SECTOR to grub_disk_addr_t.
39364 (acorn_partition_map_iterate): Likewise.
39365 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
39366 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
39367 top.
39368 (acorn_partition_map_get_name): Add 1 into P->INDEX.
39369
39370 * kern/i386/pc/init.c (make_install_device): Add 1 into
39371 GRUB_INSTALL_DOS_PART.
39372
39373 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
39374 conditional.
39375
524a1e6a 393762006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39377
39378 Clean up the code to support 64-bit addressing in disks and
39379 files. This change is not enough for filesystems yet.
f19dbdb7 39380
524a1e6a 39381 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
39382 type of "start" to grub_uint64_t.
39383 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
39384 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
39385 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
39386 convert addresses.
39387
39388 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
39389 to grub_disk_addr_t.
39390
39391 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
39392 string.
39393
39394 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39395
39396 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
39397 to char *.
39398
39399 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
39400
39401 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
39402
39403 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
39404
39405 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
39406 to grub_off_t, to detect an error from grub_file_seek.
39407 (grub_multiboot_load_elf32): Likewise.
39408
39409 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
39410 maximum unsigned long value when an overflow is detected.
39411 (grub_strtoull): New function.
39412 (grub_divmod64): Likewise.
39413 (grub_lltoa): use grub_divmod64.
39414
39415 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
39416 grub_disk_addr_t.
39417 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
39418 the pointer to next character. Use grub_strtoull instead of
39419 grub_strtoul.
39420 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
39421 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
39422 respectively.
39423
fe6b695a 39424 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 39425 return value is signed.
39426 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
39427 test if OFFSET is less than zero, as OFFSET is unsigned now.
39428
39429 * kern/disk.c (struct grub_disk_cache): Change the type of
39430 "sector" to grub_disk_addr_t.
39431 (grub_disk_cache_get_index): Change the type of SECTOR to
39432 grub_disk_addr_t. Calculate the hash with SECTOR casted to
39433 unsigned after shifting.
39434 (grub_disk_cache_invalidate): Change the type of SECTOR to
39435 grub_disk_addr_t.
39436 (grub_disk_cache_unlock): Likewise.
39437 (grub_disk_cache_store): Likewise.
39438 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
39439 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
39440 grub_disk_addr_t and grub_uint64_t, respectively.
39441 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
39442 body, as the value of OFFSET is tweaked by
39443 grub_disk_check_range. Change the types of START_SECTOR, LEN and
39444 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
39445 respectively.
39446 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
39447 body, as the value of OFFSET is tweaked by
39448 grub_disk_check_range. Change the types of LEN and N to
39449 grub_size_t.
39450
39451 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
39452 and "saved_offset" to grub_off_t.
39453 (test_header): Cast BUF to char *.
39454 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
39455 to char *.
39456 (grub_gzio_read): Change the types of OFFSET and SIZE to
39457 grub_off_t and grub_size_t, respectively.
39458
39459 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
39460 Removed.
39461 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
39462 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
39463 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
39464 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
39465 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
39466
39467 * include/grub/types.h (grub_off_t): Unconditionally set to
39468 grub_uint64_t.
39469 (grub_disk_addr_t): Changed to grub_uint64_t.
39470
39471 * include/grub/partition.h (struct grub_partition): Change the
39472 types of "start", "len" and "offset" to grub_disk_addr_t,
39473 grub_uint64_t and grub_disk_addr_t, respectively.
39474 (grub_partition_get_start): Return grub_disk_addr_t.
39475 (grub_partition_get_len): Return grub_uint64_t.
39476
39477 * include/grub/misc.h (grub_strtoull): New prototype.
39478 (grub_divmod64): Likewise.
39479
39480 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
39481 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
39482 grub_off_t, respectively.
39483 All callers and references changed.
39484
39485 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
39486 grub_size_t in "read".
39487 All callers and references changed.
39488
39489 * include/grub/file.h (struct grub_file): Change the types of
39490 "offset" and "size" to grub_off_t and grub_off_t,
39491 respectively. Change the type of SECTOR to grub_disk_addr_t in
39492 "read_hook".
39493 (grub_file_read): Change the type of LEN to grub_size_t.
39494 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
39495 grub_off_t.
39496 (grub_file_size): Return grub_off_t.
39497 (grub_file_tell): Likewise.
39498 All callers and references changed.
39499
39500 * include/grub/disk.h (struct grub_disk_dev): Change the types of
39501 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
39502 "write".
39503 (struct grub_disk): Change the type of "total_sectors" to
39504 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 39505 "read_hook".
524a1e6a 39506 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
39507 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
39508 (grub_disk_write): Likewise.
39509 All callers and references changed.
39510
39511 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
39512 char * for grub_strncmp to silence gcc.
39513 (grub_iso9660_mount): Likewise.
39514 (grub_iso9660_mount): Likewise.
39515 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
39516 return statement.
39517 (grub_iso9660_iterate_dir): Likewise.
39518 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
39519
39520 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
39521 LEN to grub_disk_addr_t and grub_size_t, respectively.
39522
39523 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39524
39525 * fs/jfs.c (grub_jfs_read_file): Likewise.
39526
39527 * fs/minix.c (grub_jfs_read_file): Likewise.
39528
39529 * fs/sfs.c (grub_jfs_read_file): Likewise.
39530
39531 * fs/ufs.c (grub_jfs_read_file): Likewise.
39532
39533 * fs/xfs.c (grub_jfs_read_file): Likewise.
39534
39535 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
39536 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
39537 respectively.
39538
39539 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
39540 BLKNR to -1 instead of returning GRUB_ERRNO.
39541 (grub_ext2_read_file): Change the types of SECTOR and
39542 LEN to grub_disk_addr_t and grub_size_t, respectively.
39543
39544 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
39545 LEN to grub_disk_addr_t and grub_size_t, respectively.
39546
39547 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
39548 grub_file_read.
39549
39550 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
39551 string. Do not cast SECTOR explicitly.
39552
39553 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
39554 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
39555 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
39556 grub_disk_addr_t and grub_size_t, respectively. If the sector is
39557 over 2TB and LBA mode is not supported, raise an error.
39558 (get_safe_sectors): New function.
39559 (grub_biosdisk_read): Use get_safe_sectors.
39560 (grub_biosdisk_write): Likewise.
39561
39562 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
39563 (grub_efidisk_write): Likewise.
39564
39565 * disk/loopback.c (delete_loopback): Cosmetic changes.
39566 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
39567 correctly.
39568 (grub_loopback_open): Likewise.
39569 (grub_loopback_read): Likewise. Also, change the type of POS to
39570 grub_off_t, and fix the usage of grub_memset.
39571
39572 * commands/i386/pc/play.c: Include grub/machine/time.h.
39573
39574 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
39575 print FILE->SIZE.
39576
39577 * commands/configfile.c: Include grub/env.h.
39578
39579 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
39580 GRUB_ERRNO directly instead. Change the type of POS to
39581 grub_off_t. Follow the coding standard.
39582
39583 * commands/blocklist.c: Include grub/partition.h.
39584 (grub_cmd_blocklist): Return an error if the underlying device is
39585 not a disk. Take the starting sector of a partition into account,
39586 if a partition is used.
39587
39588 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
39589 a length field.
39590 (lba_mode): Support 64-bit addresses.
39591 (chs_mode): Likewise.
39592 (copy_buffer): Adapted to the new offsets of a length field and a
39593 segment field.
39594 (blocklist_default_start): Allocate 64-bit space.
39595
39596 * boot/i386/pc/boot.S (force_lba): Removed.
39597 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39598 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39599 space.
39600 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39601 is useless.
39602 (lba_mode): Refactored to support a 64-bit address. More size
39603 optimization.
39604 (setup_sectors): Likewise.
39605
53af98ad 396062006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39607
39608 * DISTLIST: Added include/grub/i386/linux.h. Removed
39609 include/grub/i386/pc/linux.h
39610
39611 * configure.ac (AC_INIT): Bumped to 1.94.
39612
39613 * config.guess: Updated from gnulib.
39614 * config.sub: Likewise.
39615 * install-sh: Likewise.
39616 * mkinstalldirs: Likewise.
39617
b4c1940a 396182006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39619
39620 * conf/common.rmk (grub_modules_init.lst): Depended on
39621 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39622 MODSRCFILES.
39623
39624 * genmk.rb (PModule::rule): Reverted the previous change.
39625
cfca1cfd 396262006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39627
39628 * conf/common.rmk (grub_modules_init.lst): Depends on
39629 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39630 that the target does not exist before producing.
39631 (grub_modules_init.h): Remove the target before generating.
39632 (grub_emu_init.c): Likewise.
39633
39634 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39635
aa6d7826 396362006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39637
39638 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39639 for the target-specific tests. Make sure that we also have the
39640 up-to-date target variables for those tests.
39641
26c607b9 396422006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39643
39644 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39645 (PModule::rule): Likewise.
39646
0162321a 396472006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39648
39649 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39650 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39651 target-specific flags should be prefixed.
39652 (PModule::rule): Likewise.
39653
6c826348 396542006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39655
39656 * configure.ac (CMP): Check if cmp is available explicitly.
39657
b977bf01 396582006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39659
39660 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39661 (target_cpu): New variable.
39662 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39663
b977bf01 39664 * util/i386/pc/grub-install.in (host_cpu): Removed.
39665 (target_cpu): New variable.
39666 (pkglibdir): Use target_cpu instead of host_cpu.
39667
39668 * util/genmoddep.c: Removed.
f19dbdb7 39669
b977bf01 39670 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39671 instead of GRUB_HOST_SIZEOF_VOID_P.
39672 * kern/dl.c: Likewise.
39673
39674 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39675 ...
39676 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39677 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39678 (GRUB_TARGET_SIZEOF_LONG): ... this.
39679 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39680 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39681 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39682 to ...
39683 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39684 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39685 (GRUB_TARGET_SIZEOF_LONG): ... this.
39686 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39687 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39688 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39689 to ...
39690 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39691 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39692 (GRUB_TARGET_SIZEOF_LONG): ... this.
39693 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39694 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39695
39696 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39697 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39698 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39699 instead of GRUB_HOST_SIZEOF_LONG.
39700 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39701 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39702 GRUB_CPU_WORDS_BIGENDIAN.
39703 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39704 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39705 grub_host_ssize_t.
39706
39707 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39708 (genmoddep_SOURCES): Likewise.
39709 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39710 (genmoddep_SOURCES): Likewise.
39711 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39712 (genmoddep_SOURCES): Likewise.
39713 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39714 Likewise.
39715 (genmoddep_SOURCES): Likewise.
39716
39717 * genmoddep.awk: New file.
39718
39719 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39720 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39721 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39722 (PModule::rule): Likewise.
39723 (Program::rule): Likewise.
39724 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39725 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39726 respectively.
39727
39728 * configure.ac: Rewritten intensively to use host and target
39729 instead of build and host, respectively.
39730
39731 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39732 (host_cpu): Removed.
39733 (target_cpu): New variable.
39734 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39735 (BUILD_CC): Removed.
39736 (BUILD_CFLAGS): Likewise.
39737 (BUILD_CPPFLAGS): Likewise.
39738 (TARGET_CC): New variable.
39739 (TARGET_CFLAGS): Likewise.
39740 (TARGET_CPPFLAGS): Likewise.
39741 (TARGET_LDFLAGS): Likewise.
39742 (AWK): Likewise.
39743 (include): Use target_cpu instead of host_cpu.
39744 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39745
b977bf01 39746 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39747
f09771a1 397482006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39749
39750 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39751 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39752 field 'false' to 'exec_on_false'.
39753 (grub_script_create_cmdif): Renamed argument names to reflect above
39754 changes.
39755
39756 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39757
39758 * normal/script.c (grub_script_create_cmdif): Likewise.
39759
118f4fb3 397602006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39761
39762 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39763 top.
39764 (grub_hfsplus_btree_recptr): Likewise.
39765 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39766 FILEBLOCK both to pass a block number and store next block
39767 number.
39768 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39769 overflow file correctly. Specify errors appropriately, because
39770 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39771 grub_hfsplus_btree_recptr to get the pointer to a found key.
39772 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39773 is found.
39774
39775 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39776 linux.mod.
39777 (_linux_mod_SOURCES): New variable.
39778 (_linux_mod_CFLAGS): Likewise.
39779 (_linux_mod_LDFLAGS): Likewise.
39780 (linux_mod_SOURCES): Likewise.
39781 (linux_mod_CFLAGS): Likewise.
39782 (linux_mod_LDFLAGS): Likewise.
39783
39784 * DISTLIST: Added loader/i386/efi/linux.c,
39785 loader/i386/efi/linux_normal.c and
39786 include/grub/i386/efi/loader.h.
39787
39788 * loader/i386/efi/linux.c: New file.
39789 * loader/i386/efi/linux_normal.c: Likewise.
39790 * include/grub/i386/efi/loader.h: Likewise.
39791
89a7d726 397922006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39793
39794 * commands/blocklist.c: New file.
39795
39796 * DISTLIST: Added commands/blocklist.c.
39797
39798 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39799 color for the background, and a darker color for the foreground.
89a7d726 39800 (grub_console_checkkey): Return READ_KEY.
39801 (grub_console_cls): Set the background to
39802 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39803
39804 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39805
39806 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39807 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39808
39809 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39810 prototype.
39811
39812 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39813 BG. The spec is wrong again.
39814
39815 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39816 prototype.
39817 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39818
39819 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39820 commands/blocklist.c.
39821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39822
89a7d726 39823 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39824 (blocklist_mod_SOURCES): New variable.
39825 (blocklist_mod_CFLAGS): Likewise.
39826 (blocklist_mod_LDFLAGS): Likewise.
39827
75c8f258 398282006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39829
39830 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39831 duplication.
39832 (lba_mode): Use %eax more intensively to reduce the code size.
39833
da2eb181 398342006-05-20 Marco Gerards <marco@gnu.org>
39835
39836 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39837
39838 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39839 for `menuentry'.
39840 (script): Accept leading newlines.
39841 (newlines): New rule to describe 0 or more newlines.
39842 (commands): Accept `command' with trailing newline. Fixed the
39843 order in which arguments were passed to `grub_script_add_cmd'.
39844 Accept commands separated by newlines.
39845 (function): Changed to accept newlines.
39846 (menuentry) Rewritten.
39847
39848 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39849 front of the list, instead of to the end.
39850
577b4050 398512006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39852
39853 * util/i386/pc/grub-install.in (bindir): New variable.
39854 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39855 Shaver <lbgwjl@gmail.com>.
39856
0d6e1189 398572006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39858
39859 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39860 grub/machine/linux.h
39861 * loader/i386/pc/linux.c: Likewise.
39862
39863 * include/grub/i386/pc/linux.h: Moved to ...
39864 * include/grub/i386/linux.h: ... here.
39865
39866 * include/grub/i386/linux.h (struct linux_kernel_params): New
39867 struct.
f19dbdb7 39868
31b86e9f 398692006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39870
39871 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39872 checking.
39873 (grub_video_vbe_blit_glyph): Likewise.
39874 (grub_video_vbe_blit_bitmap): Likewise.
39875 (grub_video_vbe_blit_render_target): Likewise.
39876
83b984de 398772006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39878
39879 * configure.ac (--with-platform): Properly quote the square
39880 brackets.
39881
5f0413bd 398822006-05-08 Marco Gerards <marco@gnu.org>
39883
39884 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39885 this...
39886 (kernel_elf_HEADERS): ...to this. Updated all users.
39887 (grubof_symlist.c): Renamed from this...
39888 (kernel_elf_symlist.c): ...to this. Updated all users.
39889 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39890 (grubof_SOURCES): Renamed from this...
39891 (kernel_elf_SOURCES): ...to this.
39892 (grubof_HEADERS): Renamed from this...
39893 (kernel_elf_HEADERS): ...to this.
39894 (grubof_CFLAGS): Renamed from this...
39895 (kernel_elf_CFLAGS): ...to this.
39896 (grubof_ASFLAGS): Renamed from this...
39897 (kernel_elf_ASFLAGS): ...to this.
39898 (grubof_LDFLAGS): Renamed from this...
39899 (kernel_elf_LDFLAGS): ...to this.
39900
39901 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39902 this...
39903 (kernel_elf_HEADERS): ...to this. Updated all users.
39904 (grubof_symlist.c): Renamed from this...
39905 (kernel_elf_symlist.c): ...to this. Updated all users.
39906 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39907 (grubof_SOURCES): Renamed from this...
39908 (kernel_elf_SOURCES): ...to this.
39909 (grubof_HEADERS): Renamed from this...
39910 (kernel_elf_HEADERS): ...to this.
39911 (grubof_CFLAGS): Renamed from this...
39912 (kernel_elf_CFLAGS): ...to this.
39913 (grubof_ASFLAGS): Renamed from this...
39914 (kernel_elf_ASFLAGS): ...to this.
39915 (grubof_LDFLAGS): Renamed from this...
39916 (kernel_elf_LDFLAGS): ...to this.
39917
39918 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39919 `kernel.elf' instead of `grubof'.
39920
05568c2e 399212006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39922
39923 Add --with-platform to configure. Use pkglibdir instead of
39924 pkgdatadir. This is reported by Roger Leigh.
39925
39926 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39927 (host_vendor): Likewise.
39928 (host_os): Likewise.
39929 (pkgdatadir): Likewise.
39930 (platform): New variable.
39931 (pkglibdir): Likewise.
39932 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39933
05568c2e 39934 * util/i386/pc/grub-install.in (datadir): Removed.
39935 (host_vendor): Likewise.
39936 (host_os): Likewise.
39937 (pkgdatadir): Likewise.
39938 (platform): New variable.
39939 (pkglibdir): Likewise.
39940 Use PKGLIBDIR instead of PKGDATADIR.
39941
39942 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39943 instead of GRUB_DATADIR.
39944 (main): Likewise.
39945 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39946 (main): Likewise.
39947 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39948 (main): Likewise.
39949
39950 * configure.ac (--with-platform): New option.
39951 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39952
39953 * Makefile.in: Include a makefile based on PLATFORM instead of
39954 HOST_VENDOR.
39955 (pkgdatadir): Not appended by the machine type.
39956 (pkglibdir): Appended by the machine type.
39957 (host_vendor): Removed.
39958 (platform): New variable.
39959 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39960 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39961 (uninstall): Likewise.
39962
4e93851c 399632006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39964
39965 Use the environment context in the menu. Remove the commands
39966 "default" and "timeout", and use variables instead.
f19dbdb7 39967
4e93851c 39968 * normal/menu.c: Include grub/env.h.
39969 (print_entry): Cast TITLE to silence gcc.
39970 (get_timeout): New function.
39971 (set_timeout): Likewise.
39972 (get_entry_number): Likewise.
39973 (run_menu): Use a default entry, a fallback entry and a timeout
39974 in the environment variables "default", "fallback" and
39975 "timeout". Also, tweak the default entry if it is not within the
39976 current menu entries.
39977 (grub_menu_run): Use a fallback entry in the environment variable
39978 "fallback".
39979
39980 * normal/main.c (read_config_file): Do not initialize
39981 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39982 NEWMENU->TIMEOUT.
39983 (grub_normal_execute): Use a data slot to store the menu.
39984
39985 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39986 fallback_entry and timeout.
39987 (struct grub_menu_list): Removed.
39988 (grub_menu_list_t): Likewise.
39989 (struct grub_context): Likewise.
39990 (grub_context_t): Likewise.
39991 (grub_context_get): Likewise.
39992 (grub_context_get_current_menu): Likewise.
39993 (grub_context_push_menu): Likewise.
39994 (grub_context_pop_menu): Likewise.
39995 (grub_default_init): Likewise.
39996 (grub_default_fini): Likewise.
39997 (grub_timeout_init): Likewise.
39998 (grub_timeout_fini): Likewise.
39999
40000 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40001 and timeout.mod.
40002 (normal_mod_SOURCES): Removed normal/context.c.
40003
40004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40005 commands/default.c, commands/timeout.c and normal/context.c.
40006 (normal_mod_SOURCES): Removed normal/context.c.
40007
40008 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40009 commands/timeout.c and normal/context.c.
40010 (normal_mod_SOURCES): Removed normal/context.c.
40011
40012 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40013 commands/default.c, commands/timeout.c and normal/context.c.
40014 (normal_mod_SOURCES): Removed normal/context.c.
40015
40016 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40017 timeout.mod.
40018 (default_mod_SOURCES): Removed.
40019 (default_mod_CFLAGS): Likewise.
40020 (default_mod_LDFLAGS): Likewise.
40021 (timeout_mod_SOURCES): Removed.
40022 (timeout_mod_CFLAGS): Likewise.
40023 (timeout_mod_LDFLAGS): Likewise.
40024
40025 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40026 normal/context.c.
40027
40028 * commands/default.c: Removed.
40029 * commands/timeout.c: Likewise.
40030 * normal/context.c: Likewise.
40031
1eb9cc1d 400322006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40033
40034 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40035
385bd9c1 400362006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40037
40038 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40039 "next" to "prev" for readability.
40040 (struct grub_env_sorted_var): New struct.
40041 (grub_env_context): Renamed to ...
40042 (initial_context): ... this.
40043 (grub_env_var_context): Renamed to ...
40044 (current_context): ... this.
40045 (grub_env_find): Look only at CURRENT_CONTEXT.
40046 (grub_env_context_open): Rewritten to copy exported variables from
40047 previous context.
40048 (grub_env_context_close): Rewritten according to the new
40049 scheme. Also, add an assertion to prevent the initial context from
40050 removed.
40051 (grub_env_insert): Removed the code for the sorted list.
40052 (grub_env_remove): Likewise.
40053 (grub_env_export): Simply mark the variable with
40054 GRUB_ENV_VAR_GLOBAL.
40055 (grub_env_set): A cosmetic change for naming consistency.
40056 (grub_env_get): Likewise.
40057 (grub_env_unset): Likewise.
40058 (grub_env_iterate): Rewritten to sort variables within this
40059 function.
40060 (grub_register_variable_hook): Fixed for naming consistency. Call
40061 grub_env_find again, only if NAME is not found at the first time.
40062 (mangle_data_slot_name): New function.
40063 (grub_env_set_data_slot): Likewise.
40064 (grub_env_get_data_slot): Likewise.
40065 (grub_env_unset_data_slot): Likewise.
40066
40067 * include/grub/env.h (grub_env_var_type): New enum.
40068 (GRUB_ENV_VAR_LOCAL): New constant.
40069 (GRUB_ENV_VAR_GLOBAL): Likewise.
40070 (GRUB_ENV_VAR_DATA): Likewise.
40071 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40072 "type".
40073 (grub_env_set): Replace VAR with NAME for consistency.
40074 (grub_register_variable_hook): Likewise.
40075 (grub_env_export): Specify the name of the argument.
40076 (grub_env_set_data_slot): New prototype.
40077 (grub_env_get_data_slot): Likewise.
40078 (grub_env_unset_data_slot): Likewise.
40079
7f362539 400802006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40081
40082 Extend the loader so that GRUB can accept a loader which comes
40083 back to GRUB when a loaded image exits. Also, this change adds
40084 support for a chainloader on EFI.
f19dbdb7 40085
7f362539 40086 * term/efi/console.c: Include grub/misc.h.
40087 (grub_console_checkkey): Display a scan code on the top for
40088 debugging. This will be removed once the EFI port gets stable.
40089 Correct the scan code mapping.
40090
40091 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40092 allocate memory from larger regions, in order to reduce the number
40093 of allocated regions. Otherwise, the MacOSX loader panics.
40094 (filter_memory_map): Avoid less than 1MB for compatibility with
40095 other loaders.
40096 (add_memory_regions): Allocate from the tail of a region, if
40097 possible, to avoid allocating a region near to 1MB, for the MacOSX
40098 loader.
40099
40100 * kern/efi/init.c (grub_efi_set_prefix): Specify
40101 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40102
40103 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40104 argument IMAGE_HANDLE and specify it to get a loaded image.
40105 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40106 grub_efi_get_loaded_image.
fe6b695a 40107 (grub_efi_get_filename): Divide the length by the size of
7f362539 40108 grub_efi_char16_t.
40109 (grub_efi_get_device_path): New function.
40110 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40111 the length by the size of grub_efi_char16_t for a file path device
40112 path node.
40113
40114 * kern/loader.c (grub_loader_noreturn): New variable.
40115 (grub_loader_set): Accept a new argument NORETURN. Set
40116 GRUB_LOADER_NORETURN to NORETURN.
40117 All callers changed.
40118 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40119 grub_machine_fini.
40120
40121 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40122 prototype.
40123 (grub_efi_get_loaded_image): Take an argument to specify an image
40124 handle.
40125
40126 * include/grub/loader.h (grub_loader_set): Added one more argument
40127 NORETURN.
40128
40129 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40130 instead of grub_efi_open_protocol.
40131 (grub_efidisk_get_device_name): Likewise.
40132 (grub_efidisk_close): Print a newline.
40133 (grub_efidisk_get_device_handle): Fixed to use
40134 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40135 GRUB_EFI_DEVICE_PATH_TYPE.
40136
40137 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40138 * kern/efi/efi.c (device_path_guid): ... here.
40139
40140 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40141 chain.mod.
40142 (kernel_mod_HEADERS): Added efi/disk.h.
40143 (_chain_mod_SOURCES): New variable.
40144 (_chain_mod_CFLAGS): Likewise.
40145 (_chain_mod_LDFLAGS): Likewise.
40146 (chain_mod_SOURCES): Likewise.
40147 (chain_mod_CFLAGS): Likewise.
40148 (chain_mod_LDFLAGS): Likewise.
40149
40150 * DISTLIST: Added include/grub/efi/chainloader.h,
40151 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40152
40153 * include/grub/efi/chainloader.h: New file.
40154 * loader/efi/chainloader.c: Likewise.
40155 * loader/efi/chainloader_normal.c: Likewise.
40156
c0111d6e 401572006-04-30 Marco Gerards <marco@gnu.org>
40158
40159 * commands/configfile.c (grub_cmd_source): New function.
40160 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40161 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40162
df5341da 401632006-04-30 Marco Gerards <marco@gnu.org>
40164
40165 * normal/execute.c (grub_script_execute_cmd): Change the return
40166 type to `grub_err_t'. Correctly return the error.
40167 (grub_script_execute_cmdline): In case a command line is not a
40168 command or a function, try to interpret it as an assignment.
40169
f85934bd 401702006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40171
40172 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40173 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40174 skip a node whose name is obviously invalid as UTF-16,
40175 i.e. contains a NUL character. Stop the iteration when the last
40176 directory entry is found. Instead of using the return value of
40177 grub_hfsplus_btree_iterate_node, store the value in RET and use
40178 it, because the iterator can be stopped by the last directory
40179 entry.
40180
8f8a2cf8 401812006-04-30 Marco Gerards <marco@gnu.org>
40182
40183 * include/grub/env.h (grub_env_export): New prototype. Reported
40184 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40185
a27e84ce 401862006-04-30 Marco Gerards <marco@gnu.org>
40187
40188 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40189 size of the extents in a catalog file record.
40190
eaef0553 401912006-04-29 Marco Gerards <marco@gnu.org>
40192
40193 * commands/configfile.c (grub_cmd_configfile): Execute the
40194 configfile within its own context.
40195
40196 * include/grub/env.h (grub_env_context_open): New prototype.
40197 (grub_env_context_close): Likewise.
40198
40199 * kern/env.c (grub_env): Removed.
40200 (grub_env_sorted): Likewise.
40201 (grub_env_context): New variable.
40202 (grub_env_var_context): Likewise.
40203 (grub_env_find): Search both the active context and the global
40204 context.
40205 (grub_env_context_open): New function.
40206 (grub_env_context_close): Likewise.
40207 (grub_env_insert): Likewise.
40208 (grub_env_remove): Likewise.
40209 (grub_env_export): Likewise.
40210 (grub_env_set): Changed to use helper functions to avoid code
40211 duplication.
40212 (grub_env_iterate): Rewritten so both the current context and the
40213 global context are being used.
40214
40215 * normal/command.c (export_command): New function.
40216 (grub_command_init): Register the `export' function.
40217
7b455f4d 402182006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40219
40220 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40221 explicitly to suppress gcc's warnings.
40222 * fs/fat.c (grub_fat_find_dir): Likewise.
40223 (grub_fat_label): Likewise.
40224 * fs/xfs.c (grub_xfs_read_inode): Likewise.
40225 (grub_xfs_mount): Likewise.
40226 (grub_xfs_label): Likewise.
40227 * fs/affs.c (grub_affs_mount): Likewise.
40228 (grub_affs_label): Likewise.
40229 (grub_affs_iterate_dir): Likewise.
40230 * fs/sfs.c (grub_sfs_mount): Likewise.
40231 (grub_sfs_iterate_dir): Likewise.
40232 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
40233 * fs/hfs.c (grub_hfs_mount): Likewise.
40234 (grub_hfs_cmp_catkeys): Likewise.
40235 (grub_hfs_find_dir): Likewise.
40236 (grub_hfs_dir): Likewise.
40237 (grub_hfs_label): Likewise.
40238 * fs/jfs.c (grub_jfs_mount): Likewise.
40239 (grub_jfs_opendir): Likewise.
40240 (grub_jfs_getent): Likewise.
40241 (grub_jfs_lookup_symlink): Likewise.
40242 (grub_jfs_label): Likewise.
40243 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
40244 (grub_hfsplus_iterate_dir): Likewise.
40245 (grub_hfsplus_btree_iterate_node): Made static.
40246
40247 * util/grub-emu.c (prefix): New variable.
40248 (grub_machine_set_prefix): New function.
40249 (main): Do not set the environment variable "prefix" here. Only
40250 set PREFIX, which is used later by grub_machine_set_prefix.
40251
40252 * include/grub/video.h: Do not include grub/symbol.h.
40253 (grub_video_register): Not exported. This symbol is not defined in
40254 the kernel.
40255 (grub_video_unregister): Likewise.
40256 (grub_video_iterate): Likewise.
40257 (grub_video_setup): Likewise.
40258 (grub_video_restore): Likewise.
40259 (grub_video_get_info): Likewise.
40260 (grub_video_get_blit_format): Likewise.
40261 (grub_video_set_palette): Likewise.
40262 (grub_video_get_palette): Likewise.
40263 (grub_video_set_viewport): Likewise.
40264 (grub_video_get_viewport): Likewise.
40265 (grub_video_map_color): Likewise.
40266 (grub_video_map_rgb): Likewise.
40267 (grub_video_map_rgba): Likewise.
40268 (grub_video_fill_rect): Likewise.
40269 (grub_video_blit_glyph): Likewise.
40270 (grub_video_blit_bitmap): Likewise.
40271 (grub_video_blit_render_target): Likewise.
40272 (grub_video_scroll): Likewise.
40273 (grub_video_swap_buffers): Likewise.
40274 (grub_video_create_render_target): Likewise.
40275 (grub_video_delete_render_target): Likewise.
40276 (grub_video_set_active_render_target): Likewise.
40277
40278 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
40279 Undefined.
40280 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
40281
40282 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
40283 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40284 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40285 instead of $(srcdir)/genkernsyms.sh.
40286
40287 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
40288 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40289 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40290 instead of $(srcdir)/genkernsyms.sh.
40291
40292 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
40293 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40294 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40295 instead of $(srcdir)/genkernsyms.sh.
40296
40297 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
40298 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40299 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40300 instead of $(srcdir)/genkernsyms.sh.
40301
40302 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
40303 genkernsyms.sh.
40304
40305 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
40306 genkernsyms.sh.
40307 (gensymlist.sh): New target.
40308 (genkernsyms.sh): Likewise.
40309
40310 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
40311 genkernsyms.sh.in and gensymlist.sh.in.
40312
40313 * genkernsyms.sh: Removed.
40314 * gensymlist.sh: Likewise.
f19dbdb7 40315
7b455f4d 40316 * genkernsyms.sh.in: New file.
40317 * gensymlist.sh.in: Likewise.
40318
1885bb27 403192006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40320
40321 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
40322 clobber "prefix", since we may have already set it manually.
40323
71538dff 403242006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40325
40326 * kern/misc.c (abort): New alias for grub_abort.
40327
2965c7cc 403282006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
40329
40330 A new machine-specific function "grub_machine_set_prefix" is
40331 defined. This is called after loading modules, so that a prefix
40332 initialization can use modules. Also, this change adds an
40333 intensive debugging feature for the memory manager via the
40334 configure option "--enable-mm-debug".
f19dbdb7 40335
2965c7cc 40336 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
40337 PART.LEN.
40338
40339 * kern/sparc64/ieee1275/init.c (abort): Removed.
40340 (grub_stop): Likewise.
40341 (grub_exit): New function.
40342 (grub_set_prefix): Renamed to ...
40343 (grub_machine_set_prefix): ... this.
40344 (grub_machine_init): Do not call grub_set_prefix.
40345
40346 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
40347 (grub_machine_set_prefix): ... this.
40348 (grub_machine_init): Do not call grub_set_prefix.
40349
40350 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
40351 (grub_machine_init): Do not set the prefix here.
40352
40353 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
40354
40355 * kern/efi/init.c: Include grub/mm.h.
40356 (grub_efi_set_prefix): New function.
40357
40358 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
40359 (grub_efi_get_filename): New function.
40360 (grub_print_device_path): Renamed to ...
40361 (grub_efi_print_device_path): ... this.
40362
40363 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
40364 [MM_DEBUG] (grub_realloc): Likewise.
40365 [MM_DEBUG] (grub_free): Likewise.
40366 [MM_DEBUG] (grub_memalign): Likewise.
40367 [MM_DEBUG] (grub_mm_debug): New variable.
40368 [MM_DEBUG] (grub_debug_malloc): New function.
40369 [MM_DEBUG] (grub_debug_free): New function.
40370 [MM_DEBUG] (grub_debug_realloc): New function.
40371 [MM_DEBUG] (grub_debug_memalign): New function.
40372
40373 * kern/misc.c (grub_abort): Print a newline to distinguish
40374 the message.
40375
40376 * kern/main.c (grub_main): Call grub_machine_set_prefix and
40377 grub_set_root_dev after loading modules. This is necessary when
40378 setting a prefix depends on modules.
40379
40380 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
40381 (grub_efi_print_device_path): ... this.
40382 (grub_efi_get_filename): New prototype.
40383 (grub_efi_set_prefix): Likewise.
40384
40385 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
40386 and grub/disk.h.
40387 (grub_efidisk_get_device_handle): New prototype.
40388 (grub_efidisk_get_device_name): Likewise.
40389
40390 * include/grub/mm.h: Include config.h.
40391 (MM_DEBUG): Removed.
40392 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
40393 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
40394 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
40395 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
40396 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
40397 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
40398 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
40399 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
40400 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
40401
40402 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
40403
40404 * disk/efi/efidisk.c: Include grub/partition.h.
40405 (iterate_child_devices): New function.
40406 (add_device): First, compare only last device path nodes, so that
40407 devices are sorted by the types.
40408 (grub_efidisk_get_device_handle): New function.
40409 (grub_efidisk_get_device_name): Likewise.
40410
40411 * configure.ac (--enable-mm-debug): New option to enable the
40412 memory manager debugging feature. This makes the binary much
40413 bigger, so is disabled by default.
40414
9cacaa17 404152006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
40416
40417 Use grub_abort instead of grub_stop, and grub_exit must be
40418 define in each architecture now. Also, this change adds support
40419 for EFI disks.
f19dbdb7 40420
9cacaa17 40421 * util/i386/pc/grub-probefs.c: Include grub/term.h.
40422 (grub_getkey): New function.
40423 (grub_term_get_current): Likewise.
40424
40425 * util/i386/pc/grub-setup.c: Include grub/term.h.
40426 (grub_getkey): New function.
40427 (grub_term_get_current): Likewise.
40428
40429 * util/misc.c (grub_stop): Renamed to ...
40430 (grub_exit): ... this.
40431
40432 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
40433 (grub_exit): ... this.
40434 (grub_machine_init): Use grub_abort instead of abort.
40435 (grub_stop): Removed.
40436
40437 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
40438 abort.
40439
40440 * kern/i386/pc/startup.S (grub_exit): New function.
40441 (cold_reboot): New label.
40442
40443 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
40444 (grub_efi_init): Call grub_efidisk_init.
40445 (grub_efi_fini): Call grub_efidisk_fini.
40446
40447 * kern/efi/efi.c: Include grub/mm.h.
40448 (grub_efi_console_control_guid): Renamed to ...
40449 (console_control_guid): ... this.
40450 (grub_efi_loaded_image_guid): Renamed to ...
40451 (loaded_image_guid): ... this.
40452 (grub_efi_locate_handle): New function.
40453 (grub_efi_open_protocol): Likewise.
40454 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
40455 GRUB_EFI_CONSOLE_CONTROL_GUID.
40456 (grub_efi_exit): Removed.
40457 (grub_stop): Likewise.
40458 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
40459 (grub_exit): New function.
40460 (grub_print_device_path): Likewise.
40461
40462 * kern/rescue.c (grub_rescue_cmd_exit): New function.
40463 (grub_enter_rescue_mode): Register "exit".
40464
40465 * kern/misc.c (grub_real_dprintf): A cosmetic change.
40466 (grub_abort): New function.
40467
40468 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
40469
40470 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
40471
40472 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
40473
40474 * include/grub/efi/efi.h (grub_efi_exit): Removed.
40475 (grub_print_device_path): New prototype.
40476 (grub_efi_locate_handle): Likewise.
40477 (grub_efi_open_protocol): Likewise.
40478
40479 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
40480 * disk/efi/efidisk.c: Likewise.
40481
40482 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
40483
40484 * include/grub/efi/console_control.h
40485 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
40486
40487 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
40488 last 8 bytes as an array.
40489 (GRUB_EFI_DISK_IO_GUID): New macro.
40490 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
40491 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
40492 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
40493 grub_uint8_t.
40494 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
40495 (struct grub_efi_device_path): Rename the member "sub_type" to
40496 "subtype".
40497 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
40498 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
40499 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
40500 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
40501 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
40502 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
40503 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
40504 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
40505 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
40506 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
40507 (struct grub_efi_pci_device_path): New structure.
40508 (grub_efi_pci_device_path_t): New type.
40509 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
40510 (struct grub_efi_pccard_device_path): New structure.
40511 (grub_efi_pccard_device_path_t): New type.
40512 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
40513 (struct grub_efi_memory_mapped_device_path): New structure.
40514 (grub_efi_memory_mapped_device_path_t): New type.
40515 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
40516 (struct grub_efi_vendor_device_path): New structure.
40517 (grub_efi_vendor_device_path_t): New type.
40518 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
40519 (struct grub_efi_controller_device_path): New structure.
40520 (grub_efi_controller_device_path_t): New type.
40521 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
40522 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
40523 (struct grub_efi_acpi_device_path): New structure.
40524 (grub_efi_acpi_device_path_t): New type.
40525 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
40526 (struct grub_efi_expanded_acpi_device_path): New structure.
40527 (grub_efi_expanded_acpi_device_path_t): New type.
40528 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
40529 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
40530 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
40531 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
40532 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
40533 (struct grub_efi_atapi_device_path): New structure.
40534 (grub_efi_atapi_device_path_t): New type.
40535 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
40536 (struct grub_efi_fibre_channel_device_path): New structure.
40537 (grub_efi_fibre_channel_device_path_t): New type.
40538 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
40539 (struct grub_efi_1394_device_path): New structure.
40540 (grub_efi_1394_device_path_t): New type.
40541 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
40542 (struct grub_efi_usb_device_path): New structure.
40543 (grub_efi_usb_device_path_t): New type.
40544 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
40545 (struct grub_efi_usb_class_device_path): New structure.
40546 (grub_efi_usb_class_device_path_t): New type.
40547 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
40548 (struct grub_efi_i2o_device_path): New structure.
40549 (grub_efi_i2o_device_path_t): New type.
40550 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
40551 (struct grub_efi_mac_address_device_path): New structure.
40552 (grub_efi_mac_address_device_path_t): New type.
40553 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
40554 (struct grub_efi_ipv4_device_path): New structure.
40555 (grub_efi_ipv4_device_path_t): New type.
40556 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
40557 (struct grub_efi_ipv6_device_path): New structure.
40558 (grub_efi_ipv6_device_path_t): New type.
40559 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
40560 (struct grub_efi_infiniband_device_path): New structure.
40561 (grub_efi_infiniband_device_path_t): New type.
40562 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
40563 (struct grub_efi_uart_device_path): New structure.
40564 (grub_efi_uart_device_path_t): New type.
40565 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
40566 (struct grub_efi_vendor_messaging_device_path): New structure.
40567 (grub_efi_vendor_messaging_device_path_t): New type.
40568 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
40569 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
40570 (struct grub_efi_hard_drive_device_path): New structure.
40571 (grub_efi_hard_drive_device_path_t): New type.
40572 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
40573 (struct grub_efi_cdrom_device_path): New structure.
40574 (grub_efi_cdrom_device_path_t): New type.
40575 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
40576 (struct grub_efi_vendor_media_device_path): New structure.
40577 (grub_efi_vendor_media_device_path_t): New type.
40578 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
40579 (struct grub_efi_file_path_device_path): New structure.
40580 (grub_efi_file_path_device_path_t): New type.
40581 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
40582 (struct grub_efi_protocol_device_path): New structure.
40583 (grub_efi_protocol_device_path_t): New type.
40584 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
40585 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
40586 (struct grub_efi_bios_device_path): New structure.
40587 (grub_efi_bios_device_path_t): New type.
40588 (struct grub_efi_disk_io): New structure.
40589 (grub_efi_disk_io_t): New type.
40590 (struct grub_efi_block_io_media): New structure.
40591 (grub_efi_block_io_media_t): New type.
40592 (struct grub_efi_block_io): New structure.
40593 (grub_efi_block_io_t): New type.
40594
40595 * include/grub/misc.h (grub_stop): Removed.
40596 (grub_exit): New prototype.
40597 (grub_abort): Likewise.
40598
40599 * include/grub/disk.h (enum grub_disk_dev_id): Added
40600 GRUB_DISK_DEVICE_EFIDISK_ID.
40601
40602 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40603 disk/efi/efidisk.c.
40604 (kernel_syms.lst): Remove the target if an error occurs.
40605
49986a9f 406062006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40607
40608 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40609 as it was simply too buggy.
40610
970d3b8a 406112006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40612
40613 * kern/misc.c (grub_lltoa): New function.
40614 (grub_vsprintf): Added support for the long long suffix,
40615 i.e. "ll".
40616
ff04ec24 406172006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40618
40619 * Makefile.in (LDFLAGS): Add variable.
40620 (LD): Remove variable.
40621 * configure.ac: Add -m32 to LDFLAGS.
40622 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40623 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40624 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40625 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40626 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40627 variables.
40628 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40629 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40630 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40631
37e5e1a4 406322006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40633
40634 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40635 length for unknown glyph.
40636
c352d8dd 406372006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40638
2eab1c0d 40639 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40640
2eab1c0d 40641 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40642 completely. Accept one more argument DIR. The caller has changed.
40643
40644 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40645
40646 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40647 (grub_efi_loaded_image_guid): New variable.
40648 (grub_efi_get_loaded_image): New function.
40649 (grub_arch_modules_addr): Likewise.
40650
40651 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40652 prototype.
40653
40654 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40655 (struct grub_efi_loaded_image): New structure.
40656 (grub_efi_loaded_image_t): New type.
40657
406582006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40659
c352d8dd 40660 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40661 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40662 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40663
6d01d6b4 406642006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40665
40666 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40667
976a4ea0 406682006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40669
40670 * DISTLIST: Added include/grub/efi/console.h,
40671 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40672 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40673
40674 * include/grub/efi/console.h: New file.
40675 * include/grub/efi/time.h: Likewise.
40676 * include/grub/i386/efi/kernel.h: Likewise.
40677 * kern/efi/init.c: Likewise.
40678 * kern/efi/mm.c: Likewise.
40679 * term/efi/console.c: Likewise.
f19dbdb7 40680
976a4ea0 40681 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40682 (grub_stop): Removed.
40683 (grub_get_rtc): Likewise.
40684 (grub_machine_init): Simply call grub_efi_init.
40685 (grub_machine_fini): Call grub_efi_fini.
40686
40687 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40688 (grub_efi_output_string): Removed.
40689 (grub_efi_stall): New function.
40690 (grub_stop): Likewise.
40691 (grub_get_rtc): Likewise.
40692
40693 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40694 (grub_efi_stall): New prototype.
40695 (grub_efi_allocate_pages): Likewise.
40696 (grub_efi_free_pages): Likewise.
40697 (grub_efi_get_memory_map): Likewise.
40698 (grub_efi_mm_init): Likewise.
40699 (grub_efi_mm_fini): Likewise.
40700 (grub_efi_init): Likewise.
40701 (grub_efi_fini): Likewise.
40702
40703 * include/grub/i386/efi/time.h: Do not include
40704 grub/symbol.h. Include grub/efi/time.h.
40705 (GRUB_TICKS_PER_SECOND): Removed.
40706 (grub_get_rtc): Likewise.
40707
40708 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40709 Added padding. The EFI spec is buggy.
40710 (GRUB_EFI_BLACK): New macro.
40711 (GRUB_EFI_BLUE): Likewise.
40712 (GRUB_EFI_GREEN): Likewise.
40713 (GRUB_EFI_CYAN): Likewise.
40714 (GRUB_EFI_RED): Likewise.
40715 (GRUB_EFI_MAGENTA): Likewise.
40716 (GRUB_EFI_BROWN): Likewise.
40717 (GRUB_EFI_LIGHTGRAY): Likewise.
40718 (GRUB_EFI_BRIGHT): Likewise.
40719 (GRUB_EFI_DARKGRAY): Likewise.
40720 (GRUB_EFI_LIGHTBLUE): Likewise.
40721 (GRUB_EFI_LIGHTGREEN): Likewise.
40722 (GRUB_EFI_LIGHTCYAN): Likewise.
40723 (GRUB_EFI_LIGHTRED): Likewise.
40724 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40725 (GRUB_EFI_YELLOW): Likewise.
40726 (GRUB_EFI_WHITE): Likewise.
40727 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40728 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40729 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40730 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40731 (GRUB_EFI_BACKGROUND_RED): Likewise.
40732 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40733 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40734 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40735 (GRUB_EFI_TEXT_ATTR): Likewise.
40736
40737 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40738 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40739 (kernel_mod_HEADERS): Added efi/time.h.
40740
83709125 407412006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40742
40743 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40744 include/grub/efi/api.h, include/grub/efi/console_control.h,
40745 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40746 include/grub/i386/efi/time.h, kern/efi/efi.c,
40747 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40748 and util/i386/efi/grub-mkimage.c.
40749
40750 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40751
40752 * genmk.rb (PModule#rule): Do not export symbols if
40753 #{prefix}_EXPORTS is set to "no".
40754
40755 * conf/i386-efi.mk: New file.
40756 * conf/i386-efi.rmk: Likewise.
40757 * include/grub/efi/api.h: Likewise.
40758 * include/grub/efi/console_control.h: Likewise.
40759 * include/grub/efi/efi.h: Likewise.
40760 * include/grub/efi/pe32.h: Likewise.
40761 * include/grub/i386/efi/time.h: Likewise.
40762 * kern/efi/efi.c: Likewise.
40763 * kern/i386/efi/init.c: Likewise.
40764 * kern/i386/efi/startup.S: Likewise.
40765 * util/i386/efi/grub-mkimage.c: Likewise.
40766
407672006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40768
40769 * include/grub/script.h: Include <grub/parser.h> and
40770 "grub_script.tab.h".
40771 (struct grub_lexer_param): New struct.
40772 (struct grub_parser_param): Likewise.
40773 (grub_script_create_arglist): Pass the state in an argument.
40774 (grub_script_add_arglist): Likewise.
40775 (grub_script_create_cmdline): Likewise.
40776 (grub_script_create_cmdblock): Likewise.
40777 (grub_script_create_cmdif): Likewise.
40778 (grub_script_create_cmdmenu): Likewise.
40779 (grub_script_add_cmd): Likewise.
40780 (grub_script_arg_add): Likewise.
40781 (grub_script_lexer_ref): Likewise.
40782 (grub_script_lexer_deref): Likewise.
40783 (grub_script_lexer_record_start): Likewise.
40784 (grub_script_lexer_record_stop): Likewise.
40785 (grub_script_mem_record): Likewise.
40786 (grub_script_mem_record_stop): Likewise.
40787 (grub_script_malloc): Likewise.
40788 (grub_script_yylex): Likewise.
40789 (grub_script_yyparse): Likewise.
40790 (grub_script_yyerror): Likewise.
40791 (grub_script_yylex): Likewise.
40792 (grub_script_lexer_init): Return the state.
40793
40794 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40795 (grub_script_lexer_done): Likewise.
40796 (grub_script_lexer_getline): Likewise.
40797 (grub_script_lexer_refs): Likewise.
40798 (script): Likewise.
40799 (newscript): Likewise.
40800 (record): Likewise.
40801 (recording): Likewise.
40802 (recordpos): Likewise.
40803 (recordlen): Likewise.
40804 (grub_script_lexer_init): Return the state instead of setting
40805 global variables.
40806 (grub_script_lexer_ref): Use the newly added argument for state
40807 instead of globals.
40808 (grub_script_lexer_deref): Likewise.
40809 (grub_script_lexer_record_start): Likewise.
40810 (grub_script_lexer_record_stop): Likewise.
40811 (recordchar): Likewise.
40812 (nextchar): Likewise.
40813 (grub_script_yylex2): Likewise.
40814 (grub_script_yylex): Likewise.
40815 (grub_script_yyerror): Likewise.
40816
40817 * normal/parser.y (func_mem): Removed variable.
40818 (menu_entry): Likewise.
40819 (err): Likewise.
40820 (%lex-param): New parser option.
40821 (%parse-param): Likewise.
40822 (script): Always return the AST.
40823 (argument): Pass the state around.
40824 (arguments): Likewise.
40825 (grubcmd): Likewise.
40826 (commands): Likewise.
40827 (function): Likewise.
40828 (menuentry): Likewise.
40829 (if_statement): Likewise.
40830 (if): Likewise.
40831
40832 * normal/script.c (grub_script_memused): Removed variable.
40833 (grub_script_parsed): Likewise.
40834 (grub_script_malloc): Added a state argument. Use that instead of
40835 global variables.
40836 (grub_script_mem_record): Likewise.
40837 (grub_script_mem_record_stop): Likewise.
40838 (grub_script_arg_add): Likewise.
40839 (grub_script_add_arglist): Likewise.
40840 (grub_script_create_cmdline): Likewise.
40841 (grub_script_create_cmdif): Likewise.
40842 (grub_script_create_cmdmenu): Likewise.
40843 (grub_script_add_cmd): Likewise.
40844 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40845
e2a8c904 408462006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40847
40848 * normal/command.c (grub_command_init): Remove the title command.
40849
40850 * normal/lexer.c (grub_script_yylex): Renamed from this...
40851 (grub_script_yylex2): ... to this.
40852 (grub_script_yylex): New function. Temporary
40853 introduced to filter some tokens.
40854 (grub_script_yyerror): Print a newline.
40855
40856 * normal/main.c (read_config_file): Output information about the
40857 lines that contain errors. Wait for a key after all lines have
40858 been processed. Don't return an empty menu.
40859
40860 * normal/parser.y (func_mem): Don't initialize.
40861 (menu_entry): Likewise.
40862 (err): New variable.
40863 (script): Don't return anything when an error was encountered.
40864 (ws, returns): Removed rules.
40865 (argument): Disabled concatenated variable support.
40866 (arguments): Remove explicit separators.
40867 (grubcmd): Likewise.
40868 (function): Likewise.
40869 (menuentry): Likewise.
40870 (if): Likewise.
40871 (commands): Likewise. Add error handling.
40872
40873 * normal/script.c (grub_script_create_cmdline): If
40874 `grub_script_parsed' is 0, assume the parser encountered an error.
40875
c9a86192 408762006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40877
40878 * configure.ac: Add support for EFI. Fix the typo
40879 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40880
70f3b243 408812006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40882
40883 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40884 foreign multibyte characters should be shown correctly.
40885
65f201ad 408862006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40887
40888 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40889 calculation.
40890 (read_config_file): Made it to close file before returning.
40891
b4b93674 408922006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40893
40894 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40895 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40896 video/i386/pc/vbefill.c.
40897
40898 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40899 video/i386/pc/vbefill.c.
40900
40901 * include/grub/video.h (grub_video_blit_format): New enum.
40902 (grub_video_mode_info): Added new member blit_format.
40903 (grub_video_get_blit_format): New function prototype.
40904
40905 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40906 function prototype.
40907 (grub_video_vbe_map_rgb): Likewise.
40908 (grub_video_vbe_unmap_color): Likewise.
40909
40910 * include/grub/i386/pc/vbeblit.h: New file.
40911
40912 * include/grub/i386/pc/vbefill.h: New file.
40913
40914 * video/video.c (grub_video_get_blit_format): New function.
40915 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40916 (grub_video_vbe_map_rgb): Likewise.
40917 (grub_video_vbe_unmap_color): Likewise.
40918
40919 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40920 optimized fills.
40921 (grub_video_vbe_blit_render_target): Changed to use more optimized
40922 blits.
40923 (grub_video_vbe_setup): Added detection for optimized settings.
40924 (grub_video_vbe_create_render_target): Likewise.
40925
40926 * video/i386/pc/vbeblit.c: New file.
40927
40928 * video/i386/pc/vbefill.c: New file.
40929
c2379b9c 409302006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40931
40932 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40933 here...
40934
40935 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40936 parsing to support both hex and dec ranges. If filename was missing
40937 show usage information.
40938
bd0d7896 409392006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40940
40941 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40942 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40943
40944 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40945 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40946 (video_mod_SOURCES): Added.
40947 (video_mod_CFLAGS): Likewise.
40948 (video_mod_LDFLAGS): Likewise.
40949 (gfxterm_mod_SOURCES): Likewise.
40950 (gfxterm_mod_CFLAGS): Likewise.
40951 (gfxterm_mod_LDFLAGS): Likewise.
40952 (videotest_mod_SOURCES): Likewise.
40953 (videotest_mod_CFLAGS): Likewise.
40954 (videotest_mod_LDFLAGS): Likewise.
40955 (vesafb_mod_SOURCES): Removed.
40956 (vesafb_mod_CFLAGS): Likewise.
40957 (vesafb_mod_LDFLAGS): Likewise.
40958 (vga_mod_SOURCES): Likewise.
40959 (vga_mod_CFLAGS): Likewise.
40960 (vga_mod_LDFLAGS): Likewise.
40961
40962 * commands/videotest.c: New file.
40963
40964 * font/manager.c (fill_with_default_glyph): Modified to use
40965 grub_font_glyph.
40966 (grub_font_get_glyph): Likewise.
40967 (fontmanager): Renamed from this...
40968 (font_manager): ... to this.
40969
40970 * include/grub/font.h (grub_font_glyph): Added new structure.
40971 (grub_font_get_glyph): Modified to use grub_font_glyph.
40972
40973 * include/grub/misc.h (grub_abs): Added as inline function.
40974
40975 * include/grub/video.h: New file.
40976
40977 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40978 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40979 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40980 (grub_vbe_get_controller_info): Renamed from this...
40981 (grub_vbe_bios_get_controller_info): ... to this.
40982 (grub_vbe_get_mode_info): Renamed from this...
40983 (grub_vbe_bios_get_mode_info): ... to this.
40984 (grub_vbe_set_mode): Renamed from this...
40985 (grub_vbe_bios_set_mode): ... to this.
40986 (grub_vbe_get_mode): Renamed from this...
40987 (grub_vbe_bios_get_mode): ... to this.
40988 (grub_vbe_set_memory_window): Renamed from this...
40989 (grub_vbe_bios_set_memory_window): ... to this.
40990 (grub_vbe_get_memory_window): Renamed from this...
40991 (grub_vbe_bios_get_memory_window): ... to this.
40992 (grub_vbe_set_scanline_length): Renamed from this...
40993 (grub_vbe_set_scanline_length): ... to this.
40994 (grub_vbe_get_scanline_length): Renamed from this...
40995 (grub_vbe_bios_get_scanline_length): ... to this.
40996 (grub_vbe_set_display_start): Renamed from this...
40997 (grub_vbe_bios_set_display_start): ... to this.
40998 (grub_vbe_get_display_start): Renamed from this...
40999 (grub_vbe_bios_get_display_start): ... to this.
41000 (grub_vbe_set_palette_data): Renamed from this...
41001 (grub_vbe_bios_set_palette_data): ... to this.
41002 (grub_vbe_set_pixel_rgb): Removed.
41003 (grub_vbe_set_pixel_index): Likewise.
41004
41005 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41006 from this...
41007 (grub_vbe_bios_get_controller_info): ... to this.
41008 (grub_vbe_get_mode_info): Renamed from this...
41009 (grub_vbe_bios_get_mode_info): ... to this.
41010 (grub_vbe_set_mode): Renamed from this...
41011 (grub_vbe_bios_set_mode): ... to this.
41012 (grub_vbe_get_mode): Renamed from this...
41013 (grub_vbe_bios_get_mode): ... to this.
41014 (grub_vbe_set_memory_window): Renamed from this...
41015 (grub_vbe_bios_set_memory_window): ... to this.
41016 (grub_vbe_get_memory_window): Renamed from this...
41017 (grub_vbe_bios_get_memory_window): ... to this.
41018 (grub_vbe_set_scanline_length): Renamed from this...
41019 (grub_vbe_set_scanline_length): ... to this.
41020 (grub_vbe_get_scanline_length): Renamed from this...
41021 (grub_vbe_bios_get_scanline_length): ... to this.
41022 (grub_vbe_set_display_start): Renamed from this...
41023 (grub_vbe_bios_set_display_start): ... to this.
41024 (grub_vbe_get_display_start): Renamed from this...
41025 (grub_vbe_bios_get_display_start): ... to this.
41026 (grub_vbe_set_palette_data): Renamed from this...
41027 (grub_vbe_bios_set_palette_data): ... to this.
41028 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41029 getting corrupted after calling it. Added more pushes and pops.
41030 (grub_vbe_bios_set_mode): Likewise.
41031 (grub_vbe_bios_get_mode): Likewise.
41032 (grub_vbe_bios_get_memory_window): Likewise.
41033 (grub_vbe_bios_set_scanline_length): Likewise.
41034 (grub_vbe_bios_get_scanline_length): Likewise.
41035 (grub_vbe_bios_get_display_start): Likewise.
41036 (grub_vbe_bios_set_palette_data): Likewise.
41037
41038 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41039 (cl_insert): Likewise.
41040 (cl_delete): Likewise.
41041
41042 * term/gfxterm.c: New file.
41043
41044 * term/i386/pc/vesafb.c: Removed file.
41045
41046 * video/video.c: New file.
41047
41048 * video/i386/pc/vbe.c (real2pm): Added new function.
41049 (grub_video_vbe_draw_pixel): Likewise.
41050 (grub_video_vbe_get_video_ptr): Likewise.
41051 (grub_video_vbe_get_pixel): Likewise
41052 (grub_video_vbe_init): Likewise.
41053 (grub_video_vbe_fini): Likewise.
41054 (grub_video_vbe_setup): Likewise.
41055 (grub_video_vbe_get_info): Likewise.
41056 (grub_video_vbe_set_palette): Likewise.
41057 (grub_video_vbe_get_palette): Likewise.
41058 (grub_video_vbe_set_viewport): Likewise.
41059 (grub_video_vbe_get_viewport): Likewise.
41060 (grub_video_vbe_map_color): Likewise.
41061 (grub_video_vbe_map_rgb): Likewise.
41062 (grub_video_vbe_map_rgba): Likewise.
41063 (grub_video_vbe_unmap_color): Likewise.
41064 (grub_video_vbe_fill_rect): Likewise.
41065 (grub_video_vbe_blit_glyph): Likewise.
41066 (grub_video_vbe_blit_bitmap): Likewise.
41067 (grub_video_vbe_blit_render_target): Likewise.
41068 (grub_video_vbe_scroll): Likewise.
41069 (grub_video_vbe_swap_buffers): Likewise.
41070 (grub_video_vbe_create_render_target): Likewise.
41071 (grub_video_vbe_delete_render_target): Likewise.
41072 (grub_video_vbe_set_active_render_target): Likewise.
41073 (grub_vbe_set_pixel_rgb): Remove function.
41074 (grub_vbe_set_pixel_index): Likewise.
41075 (index_color_mode): Remove static variable.
41076 (active_mode): Likewise.
41077 (framebuffer): Likewise.
41078 (bytes_per_scan_line): Likewise.
41079 (grub_video_vbe_adapter): Added new static variable.
41080 (framebuffer): Likewise.
41081 (render_target): Likewise.
41082 (initial_mode): Likewise.
41083 (mode_in_use): Likewise.
41084 (mode_list): Likewise.
41085
5f97350b 410862006-03-10 Marco Gerards <marco@gnu.org>
41087
41088 * configure.ac (AC_INIT): Bumped to 1.93.
41089
41090 * DISTLIST: Added `include/grub/hfs.h'.
41091
a3c5c6f8 410922006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41093
41094 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41095 18H, which might help the BIOS falling back to next boot media.
41096
6de53d26 410972006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41098
41099 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41100 Poe Chen <poe.poechen@gmail.com>.
41101
77c4a393 411022006-01-17 Marco Gerards <marco@gnu.org>
41103
41104 * include/grub/normal.h: Include <grub/script.h>.
41105 (grub_command_list): Removed struct.
41106 (grub_command_list_t): Removed type.
41107 (grub_menu_entry): Remove members `num' and `command_list'. Add
41108 members `commands' and `sourcecode'.
41109 * include/grub/script.h: Add inclusion guards.
41110 (grub_script_cmd_menuentry): New struct.
41111 (grub_script_execute_menuentry): New prototype.
41112 (grub_script_lexer_record_start): Likewise.
41113 (grub_script_lexer_record_stop): Likewise.
41114 * normal/execute.c (grub_script_execute_menuentry): New function.
41115 * normal/lexer.c (record, recording, recordpos, recordlen): New
41116 variables.
41117 (grub_script_lexer_record_start): New function.
41118 (grub_script_lexer_record_stop): Likewise.
41119 (recordchar): Likewise.
41120 (nextchar): Likewise.
41121 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41122 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41123 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41124 (current_menu): New variable.
41125 (free_menu): Mainly rewritten.
41126 (grub_normal_menu_addentry): New function.
41127 (read_config_file): Rewritten.
41128 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 41129 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 41130 the menu entry.
41131 (run): Mainly rewritten.
41132 * normal/parser.y (menu_entry): New variable.
41133 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41134 (menuentry): New rule.
41135 (command): Add `menuentry'.
41136 (if_statement): Allow additional returns before `fi'.
41137 * normal/script.c (grub_script_create_cmdmenu): New function.
41138
144f1f98 411392006-01-03 Marco Gerards <marco@gnu.org>
41140
41141 * INSTALL: GNU Bison is required.
41142 * configure.ac: Rewritten the test to detect Bison.
41143 * Makefile.in (YACC): New variable. Reported by Xun Sun
41144 <xun.sun.cn@gmail.com>.
41145
af4b2d89 411462006-01-03 Marco Gerards <marco@gnu.org>
41147
41148 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41149 the HFS+ filesystem to filesystem blocks.
41150 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41151 GCC warning is silenced.
41152
15643b71 411532006-01-03 Marco Gerards <marco@gnu.org>
41154
41155 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41156 read from disk from big endian to host byte order.
41157
00905879 411582006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41159
41160 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41161 documentation.
41162 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41163 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41164 embedded HFS+ filesystem.
41165 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41166 (grub_hfs_sblock): Move from here...
41167 * include/grub/hfs.h: To here... New file.
41168 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41169 documentation.
41170 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41171 New macros.
41172 (grub_hfsplus_volheader): Change type of member `magic' to
41173 `grub_uint16_t'.
41174 (grub_hfsplus_data): Add new member `embedded_offset'.
41175 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41176 returned block.
41177 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41178 Calculate the offset.
41179
8899bc3e 411802005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41181
41182 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41183 Removed.
41184 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41185
ae8c0277 411862005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41187
41188 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41189 ENV->NAME is NULL after allocating ENV->VALUE.
41190
07084456 411912005-12-25 Marco Gerards <marco@gnu.org>
41192
41193 * kern/env.c (grub_env_set): Rewritten the error handling code.
41194
4750f5f1 411952005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41196
41197 * geninit.sh: Made more robust, and more portable.
41198
50214199 411992005-12-25 Marco Gerards <marco@gnu.org>
41200
41201 Add support for Apple HFS+ filesystems.
f19dbdb7 41202
50214199 41203 * fs/hfsplus.c: New file.
41204
41205 * DISTLIST: Added `fs/hfsplus.c'.
41206
41207 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41208 (hfsplus_mod_SOURCES): New variable.
41209 (hfsplus_mod_CFLAGS): Likewise.
41210 (hfsplus_mod_LDFLAGS): Likewise.
41211 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41212 (grub_setup_SOURCES): Likewise.
41213 (grub_mkdevicemap_SOURCES): Likewise.
41214 (grub_emu_SOURCES): Likewise.
41215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41216
41217 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41218
41219 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41220
befaed6c 412212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41222
41223 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
41224 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
41225 include/grub/parser.h, include/grub/script.h, kern/parser.c,
41226 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
41227 normal/lexer.c, normal/parser.y, normal/script.c, and
41228 partmap/gpt.c.
41229 Removed kern/sparc64/cache.c.
41230
41231 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
41232 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
41233 grub_emu_init.c.
41234
41235 * configure.ac (AC_INIT): Bumped to 1.92.
41236
6a124103 412372005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
41238
41239 * kern/err.c (grub_error_push): Added new function to support error
41240 stacks.
41241 (grub_error_pop): Likewise.
41242 (grub_error_stack_items): New local variable to support error stacks.
41243 (grub_error_stack_pos): Likewise.
41244 (grub_error_stack_assert): Likewise.
41245 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
41246 stack depth.
41247 (grub_print_error): Added support to print errors from error stack.
41248
41249 * include/grub/err.h (grub_error_push): Added function prototype.
41250 (grub_error_pop): Likewise.
41251
be973c1b 412522005-12-09 Hollis Blanchard <hollis@penguinppc.org>
41253
41254 * configure.ac: Accept `powerpc64' as host_cpu.
41255 (amd64): Rename to `biarch32'.
41256
41257 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
41258 non-cacheline-aligned addresses.
41259
41260 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
41261 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
41262 if `size' is non-zero.
41263
b04216ab 412642005-12-03 Marco Gerards <mgerards@xs4all.nl>
41265
41266 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
41267 and `cd' to make sure the filename is not prefixed with a
41268 directory name.
41269 (pkgdata_MODULES): Add `gpt.mod'.
41270 (gpt_mod_SOURCES): New variable.
41271 (gpt_mod_CFLAGS): Likewise.
41272 (gpt_mod_LDFLAGS): Likewise.
41273
41274 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
41275
41276 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
41277 New macro.
41278
41279 * partmap/gpt.c: New file.
41280
41281 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
41282 GPT partition map is detected.
41283
41730ed9 412842005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
41285
41286 * commands/i386/pc/play.c: New file.
41287 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
41288 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
41289 macros.
f19dbdb7 41290
95dc3643 412912005-11-27 Marco Gerards <mgerards@xs4all.nl>
41292
41293 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
41294 ((unused))' to silence gcc warning.
41295
1569ec51 412962005-11-26 Hollis Blanchard <hollis@penguinppc.org>
41297
41298 * configure.ac: Correct `AC_PROG_YACC' test.
41299
9abde152 413002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41301
41302 * util/powerpc/ieee1275/grub-install.in: Run the mount point
41303 check before installing files.
41304
44b83271 413052005-11-22 Mike Small <smallm@panix.com>
41306
41307 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
41308 number regex so multidigit numbers are recognized correctly.
41309
413102005-11-22 Mike Small <smallm@panix.com>
41311
41312 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
41313 debugging message before attempting to claim memory.
41314 (grub_rescue_cmd_initrd): Add a claim debugging message and try
41315 multiple addresses in case of failure.
41316
9c12956b 413172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41318
41319 * term/tparm.c (get_space): Remove empty `if' statement.
41320
41321 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
41322
41323 * kern/parser.c (check_varstate): Rename `state' to 's'.
41324
aeaf81d9 413252005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41326
41327 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
41328 variable definitions to the beginning of each function. Sort stack
41329 variables by size.
41330 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
41331 `buf' argument to `char *'.
41332
79bbb63f 413332005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41334
41335 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
41336 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41337 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 41338 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41339 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41340 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41341 configfile.mod, search.mod, gzio.mod and test.mod.
41342 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41343 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41344 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41345 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41346 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41347 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41348 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41349 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41350 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41351 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41352 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41353 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41354 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41355 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41356 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41357 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41358 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41359 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41360 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41361 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41362 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41363 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41364 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
41365
41366 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
41367 `grep --include'.
41368 (pkgdata_MODULES): Add test.mod.
41369
233b1628 413702005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41371
41372 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
41373 appending to variables with "+=".
41374 (PModule): Use full pathname to generate *.lst filenames.
41375
41376 * Makefile.in: Fixed list rules moved from genmk.rb.
41377 (.DELETE_ON_ERROR): New special target.
41378 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
41379
41380 * conf/i386-pc.rmk: Include conf/common.mk.
41381 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41382 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 41383 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41384 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41385 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41386 configfile.mod, search.mod, gzio.mod and test.mod.
41387 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41388 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41389 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41390 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41391 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41392 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41393 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41394 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41395 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41396 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41397 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41398 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41399 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41400 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41401 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41402 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41403 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41404 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41405 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41406 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41407 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41408 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41409 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
41410 here...
41411 * conf/common.rmk: ... to here. New file.
41412
41413 * conf/common.mk: New file.
41414
16f820c8 414152005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
41416
41417 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
41418 (grub_script.tab.c): ... here.
41419
41420 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
41421 (grub_script.tab.c): ... here.
41422
41423 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
41424 (grub_script.tab.c): ... here.
41425
41426 * normal/command.c (grub_command_find): Fixed a memory leak of
41427 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
41428
63ba1554 414292005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41430
41431 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
41432 "@" which marks the start of a comment on ARM.
41433 (VARIABLE): Likewise.
41434
7f67dc13 414352005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41436
79bbb63f 41437 Add support for Linux/ADFS partition tables.
7f67dc13 41438
41439 * partmap/acorn.c: New file.
41440
41441 * include/grub/acorn_filecore.h: Likewise.
41442
41443 * DISTLIST: Added `partmap/acorn.c' and
41444 `include/grub/acorn_filecore.h'.
f19dbdb7 41445
7f67dc13 41446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41447 `partmap/acorn.c'.
41448 (pkgdata_MODULES): Add `acorn.mod'.
41449 (acorn_mod_SOURCES): New variable.
41450 (acorn_mod_CFLAGS): Likewise.
41451
41452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41453 `partmap/acorn.c'.
41454 (pkgdata_MODULES): Add `acorn.mod'.
41455 (acorn_mod_SOURCES): New variable.
41456 (acorn_mod_CFLAGS): Likewise.
41457
41458 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
41459 (pkgdata_MODULES): Add `acorn.mod'.
41460 (acorn_mod_SOURCES): New variable.
41461 (acorn_mod_CFLAGS): Likewise.
41462 (acorn_mod_LDFLAGS): Likewise.
41463
41464 * include/types.h (grub_disk_addr_t): New typedef.
41465
6d099807 414662005-11-13 Marco Gerards <mgerards@xs4all.nl>
41467
41468 * geninit.sh: New file.
41469
41470 * geninitheader.sh: Likewise.
41471
41472 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
41473 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
41474 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
41475 * commands/configfile.c (grub_configfile_init)
41476 (grub_configfile_fini): Likewise.
41477 * commands/default.c (grub_default_init, grub_default_fini):
41478 Likewise.
41479 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
41480 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
41481 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
41482 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
41483 Likewise.
41484 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
41485 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
41486 Likewise.
41487 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 41488 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 41489 Likewise.
41490 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
41491 Likewise.
fe6b695a 41492 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 41493 Likewise.
41494 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
41495 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
41496 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
41497 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
41498 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
41499 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
41500 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
41501 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
41502 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
41503 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
41504 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
41505 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
41506 * partmap/amiga.c (grub_amiga_partition_map_init)
41507 (grub_amiga_partition_map_fini): Likewise.
41508 * partmap/apple.c (grub_apple_partition_map_init)
41509 (grub_apple_partition_map_fini): Likewise.
41510 * partmap/pc.c (grub_pc_partition_map_init)
41511 (grub_pc_partition_map_fini): Likewise.
41512 * partmap/sun.c (grub_sun_partition_map_init,
41513 grub_sun_partition_map_fini): Likewise.
41514 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
41515 Likewise.
41516
41517 * util/grub-emu.c: Include <grub_modules_init.h>.
41518 (main): Don't initialize and de-initialize any modules directly,
41519 use `grub_init_all' and `grub_fini_all' instead.
41520
41521 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
41522 `grub_vesafb_mod_init'.
41523 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
41524 all users.
41525 * term/i386/pc/vga.c (grub_vga_init): Renamed to
41526 `grub_vga_mod_init'. Updated all users.
41527 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 41528
6d099807 41529 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
41530 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
41531 rules.
41532
41533 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
41534 Generate a function to initialize the module in utilities.
41535 Updated all callers.
41536 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
41537 initialize the module in utilities. Updated all callers.
41538
9046bcf0 415392005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41540
41541 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
41542 escape sequence and a literal ^L to clear the screen.
41543
41544 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
41545 when returning from Open Firmware.
41546
d13ea639 415472005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41548
41549 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
41550 (grub_ofconsole_height): Likewise.
41551 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
41552 manually insert a '\n'.
41553 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
41554 `grub_ofconsole_height'. Return early if these are already set.
41555
a8fcf206 415562005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
41557
41558 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41559 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
41560 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
41561 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
41562 and `normal/script.c'.
41563 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41564 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41565 (test_mod_SOURCES): New variable.
41566 (test_mod_CFLAGS): Likewise.
41567 (test_mod_LDFLAGS): Likewise.
41568 (pkgdata_MODULES): Add `test.mod'.
41569 (grub_script.tab.c): New rule.
41570 (grub_script.tab.h): Likewise.
41571
b6b32745 415722005-11-07 Marco Gerards <mgerards@xs4all.nl>
41573
41574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41575 `commands/test.c', `normal/execute.c', `normal/lexer.c',
41576 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41577 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41578 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41579 (test_mod_SOURCES): New variable.
41580 (test_mod_CFLAGS): Likewise.
41581 (pkgdata_MODULES): Add `test.mod'.
41582 (grub_script.tab.c): New rule.
41583 (grub_script.tab.h): Likewise.
41584
daac212a 415852005-11-06 Marco Gerards <mgerards@xs4all.nl>
41586
41587 Add initial scripting support.
41588
41589 * commands/test.c: New file.
41590 * include/grub/script.h: Likewise.
41591 * normal/execute.c: Likewise.
41592 * normal/function.c: Likewise.
41593 * normal/lexer.c: Likewise.
41594 * normal/parser.y: Likewise.
41595 * normal/script.c: Likewise.
41596
41597 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41598
daac212a 41599 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41600 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41601 `normal/function.c' and `normal/script.c'.
41602 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41603 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41604 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41605 variables.
daac212a 41606 (pkgdata_MODULES): Add `test.mod'.
41607 (grub_script.tab.c): New rule.
41608 (grub_script.tab.h): Likewise.
41609
41610 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41611
41612 * include/grub/normal.h (grub_test_init): New prototype.
41613 (grub_test_fini): Likewise.
f19dbdb7 41614
daac212a 41615 * normal/command.c: Include <grub/script.h>.
41616 (grub_command_execute): Rewritten.
f19dbdb7 41617
daac212a 41618 * util/grub-emu.c (main): Call `grub_test_init' and
41619 `grub_test_fini'.
41620
77500b2b 416212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41622
41623 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41624 to 0.
41625 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41626 there are no pending characters.
41627
e45deb9e 416282005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41629
41630 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41631 `grub_strndup' to drop device arguments. Replace unnecessary
41632 `grub_strndup' with `grub_strdup'.
41633
4ce32619 416342005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41635
41636 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41637 `debug' environment variable has been set.
41638
416392005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41640
4ce32619 41641 * Makefile.in (install-local): Use $(DATA).
41642 (uninstall): Likewise.
41643 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41644 (sbin_UTILITIES): ... to here.
41645 (sbin_SCRIPTS): New variable.
41646 (grub_install_SOURCES): New variable.
41647 * util/powerpc/ieee1275/grub-install.in: New file.
41648 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41649 variable.
41650 (add_segments): Call `grub_util_get_path'.
41651
25fe6f03 416522005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41653
41654 From Timothy Baldwin:
41655 * commands/ls.c (grub_ls_list_files): Close FILE with
41656 grub_file_close.
41657 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41658
04ccf3ec 416592005-10-24 Marco Gerards <mgerards@xs4all.nl>
41660
41661 * include/grub/parser.h: New file.
41662
41663 * kern/parser.c: Likewise.
41664
41665 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41666 (grub_setup_SOURCES): Likewise.
41667 (grub_probefs_SOURCES): Likewise.
41668 (grub_emu_SOURCES): Likewise.
41669 (kernel_img_HEADERS): Add `parser.h'.
41670
41671 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41672 (grub_emu_SOURCES): Add `kern/parser.c'.
41673 (grubof_SOURCES): Likewise.
41674
41675 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41676 (grubof_SOURCES): Add `kern/parser.c'.
41677
41678 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41679
41680 * kern/misc.c (grub_split_cmdline): Removed function.
41681
41682 * kern/rescue.c: Include <grub/parser.h>.
41683 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41684 of `grub_split_cmdline'.
41685
41686 * normal/command.c: Include <grub/parser.h>.
41687 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41688 of `grub_split_cmdline'.
41689
41690 * normal/completion.c: Include <grub/parser.h>.
41691 (cmdline_state): New variable.
41692 (iterate_dir): End the filename with a quote depending on the
41693 command line state.
41694 (get_state): new function.
41695 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41696 split the arguments and determine the current argument. When the
41697 argument string is not quoted, escape all spaces.
41698
6d8f4b0e 416992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41700
41701 * normal/sparc64/setjmp.S: New file.
41702
15cf03ed 417032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41704
41705 * include/grub/sparc64/libgcc.h: New file.
41706 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41707 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41708 normal/sparc64/setjmp.c.
41709
03e8661a 417102005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41711
41712 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41713 * kern/sparc64/cache.S: New file.
41714 * kern/sparc64/cache.c: Removed.
41715 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41716 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41717 -mtune=ultrasparc.
41718 (COMMON_LDFLAGS): Add -melf64_sparc.
41719 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41720 (grubof_SOURCES): Use cache.S instead of cache.c.
41721 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41722 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41723 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41724 commented though.
41725 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41726 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41727 (linux_mod_CFLAGS): Commented out.
41728 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41729 out because module isn't built.
41730 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41731 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41732 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41733 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41734 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41735 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41736 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41737 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41738 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41739 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41740 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41741 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41742 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41743 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41744
34eeec8a 417452005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41746
41747 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41748 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41749 longer, because HFS should not be used on PC.
41750
708367a3 417512005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41752
41753 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41754 consistently within the loop.
41755
6fa1251a 417562005-10-15 Marco Gerards <mgerards@xs4all.nl>
41757
41758 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41759 directory can not be read.
41760
4801580b 417612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41762
41763 * configure.ac (AC_INIT): Increase the version number to 1.91.
41764
41765 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41766 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41767 term/i386/pc/serial.c.
41768
219ad426 417692005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41770
41771 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41772 file size must be permitted.
41773
41774 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41775 between %ah and %al.
41776
688e5699 417772005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41778
41779 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41780 grub_uint64_t.
41781 Call the hook with a NUL-terminated filename.
41782 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41783 grub_cpu_to_be32.
41784
41785 * kern/term.c (cursor_state): New variable.
41786 (grub_term_set_current): Reset the cursor state on a new
41787 terminal.
41788 (grub_setcursor): Rewritten to use CURSOR_STATE.
41789 (grub_getcursor): New function.
41790
41791 * include/grub/term.h (grub_getcursor): New prototype.
41792
41793 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41794 integers on ARM. Reported by Timothy Baldwin
41795 <T.E.Baldwin99@members.leeds.ac.uk>.
41796
bb34586c 417972005-10-11 Marco Gerards <mgerards@xs4all.nl>
41798
41799 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41800 allocated.
41801 (grub_sfs_dir): Likewise.
41802
9a909877 418032005-10-09 Marco Gerards <mgerards@xs4all.nl>
41804
41805 Add support for the SFS filesystem.
41806
41807 * fs/sfs.c: New file.
41808
41809 * DISTLIST: Added `fs/sfs.c'.
41810
41811 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41812 (grub_probefs_SOURCES): Likewise.
41813 (grub_emu_SOURCES): Likewise.
41814 (pkgdata_MODULES): Add `sfs.mod'.
41815 (sfs_mod_SOURCES): New variable.
41816 (sfs_mod_CFLAGS): Likewise.
41817 (sfs_mod_LDFLAGS): Likewise.
41818
41819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41820 (pkgdata_MODULES): Add `sfs.mod'.
41821 (sfs_mod_SOURCES): New variable.
41822 (sfs_mod_CFLAGS): Likewise.
41823
41824 * util/grub-emu.c (main): Call `grub_sfs_init' and
41825 `grub_sfs_fini'.
41826
41827 * include/grub/fs.h (grub_sfs_init): New prototype.
41828 (grub_sfs_fini): Likewise.
41829
57bdbde3 418302005-10-07 Marco Gerards <mgerards@xs4all.nl>
41831
41832 Add support for the AFFS filesystem.
41833
41834 * fs/affs.c: New file.
41835
41836 * DISTLIST: Added `fs/affs.c'.
41837
41838 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41839 (grub_probefs_SOURCES): Likewise.
41840 (grub_emu_SOURCES): Likewise.
41841 (pkgdata_MODULES): Add `affs.mod'.
41842 (affs_mod_SOURCES): New variable.
41843 (affs_mod_CFLAGS): Likewise.
41844 (affs_mod_LDFLAGS): Likewise.
41845
41846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41847 (pkgdata_MODULES): Add `affs.mod'.
41848 (affs_mod_SOURCES): New variable.
41849 (affs_mod_CFLAGS): Likewise.
41850
41851 * util/grub-emu.c (main): Call `grub_affs_init' and
41852 `grub_affs_fini'.
41853
41854 * include/grub/fs.h (grub_affs_init): New prototype.
41855 (grub_affs_fini): Likewise.
41856
047b67e0 418572005-10-01 Marco Gerards <mgerards@xs4all.nl>
41858
41859 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41860
59b8208a 418612005-10-01 Marco Gerards <mgerards@xs4all.nl>
41862
41863 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41864 `-m32' to CFLAGS.
41865
41866 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41867 linking.
f19dbdb7 41868
59b8208a 41869 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41870 (COMMON_LDFLAGS): New variable.
41871 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41872 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41873 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41874 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41875 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41876 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41877 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41878 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41879 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41880 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41881 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41882 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41883 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41884 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41885 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41886 variables.
41887 (normal_mod_ASFLAGS): Add `-m32'.
41888
41889 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41890 (grub_host_size_t, grub_host_ssize_t): New types.
41891 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41892 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41893 `GRUB_HOST_SIZEOF_VOID_P'.
41894
41895 * include/grub/kernel.h (struct grub_module_header): Type of
41896 member offset changed to `grub_host_off_t'. Type of member size
41897 changed to `grub_host_size_t'.
41898 (struct grub_module_info): Type of member offset changed to
41899 `grub_host_off_t'. Type of member size changed to
41900 `grub_host_size_t'.
41901
b4093103 419022005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41903
41904 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41905
b4093103 41906 * kern/i386/pc/startup.S (multiboot_header): New label.
41907 (multiboot_entry): Likewise.
41908 (multiboot_trampoline): Likewise.
41909
41910 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41911 Increased to 0x4A0.
41912
41913 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41914 put parentheses after a question mark.
41915 [!GRUB_UTIL] (my_mod): New variable.
41916
41917 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41918
b2499b29 419192005-09-28 Marco Gerards <mgerards@xs4all.nl>
41920
41921 Adds support for the XFS filesystem. Btrees are not supported
41922 yet.
41923
41924 * fs/xfs.c: New file.
41925
41926 * DISTLIST: Added `fs/xfs.c'.
41927
41928 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41929 (grub_probefs_SOURCES): Likewise.
41930 (grub_emu_SOURCES): Likewise.
41931 (pkgdata_MODULES): Add `xfs.mod'.
41932 (xfs_mod_SOURCES): New variable.
41933 (xfs_mod_CFLAGS): Likewise.
41934
41935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41936 (pkgdata_MODULES): Add `xfs.mod'.
41937 (xfs_mod_SOURCES): New variable.
41938 (xfs_mod_CFLAGS): Likewise.
41939
41940 * util/grub-emu.c (main): Call `grub_xfs_init' and
41941 `grub_xfs_fini'.
41942
41943 * include/grub/fs.h (grub_xfs_init): New prototype.
41944 (grub_xfs_fini): Likewise.
41945
f19dbdb7 41946
83d37a62 419472005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41948
41949 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41950 color modes, allow greater than 16 colors to be configured as
41951 a default palette.
41952
47d2d65e 419532005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41954
41955 * normal/completion.c (complete_arguments): Add the qualifier
41956 const into OPTIONS.
41957
41958 From Omniflux <omniflux+lists@omniflux.com>:
41959 * include/grub/terminfo.h: New file.
41960 * include/grub/tparm.h: Likewise.
41961 * include/grub/i386/pc/serial.h: Likewise.
41962 * term/terminfo.c: Likewise.
41963 * term/tparm.c: Likewise.
41964 * term/i386/pc/serial.c: Likewise.
41965 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41966 serial.mod.
41967 (terminfo_mod_SOURCES): New variable.
41968 (terminfo_mod_CFLAGS): Likewise.
41969 (serial_mod_SOURCES): Likewise.
41970 (serial_mod_CFLAGS): Likewise.
41971
48b671ff 419722005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41973
41974 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41975 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41976 and kern/powerpc/ieee1275/cmain.c, respectively.
41977
41978 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41979 * kern/powerpc/ieee1275/crt0.S: ... here.
41980
41981 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41982 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41983
48b671ff 41984 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41985 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41986 instead of boot/powerpc/ieee1275/crt0.S and
41987 boot/powerpc/ieee1275/cmain.c, respectively.
41988
41989 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41990 sectors. It was not used anyway.
41991
09fc77a7 419922005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41993
41994 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41995 `unused parameter' warning.
41996
003789c7 419972005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41998
41999 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42000 function.
42001 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42002 getcharwidth.
42003
67f44c86 420042005-08-28 Marco Gerards <metgerards@student.han.nl>
42005
42006 * include/grub/normal.h (enum grub_completion_type): Added
42007 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42008
42009 * normal/cmdline.c (print_completion): Handle
42010 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42011 * normal/menu_entry.c (store_completion): Likewise.
42012
42013 * normal/completion.c (complete_arguments): New function.
42014 (grub_normal_do_completion): Call `complete_arguments' when the
42015 current words start with a dash.
42016
0b5abe02 420172005-08-27 Marco Gerards <metgerards@student.han.nl>
42018
42019 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42020 `gzio.mod' instead of `io.mod').
42021
d9864ee1 420222005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42023
42024 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42025 (DISTDIRS): Added io and video.
42026 Rewrite the search routine to make an output consistently.
42027
42028 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42029 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42030 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42031 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42032 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42033 util/powerpc/ieee1275/misc.c.
f19dbdb7 42034
d9864ee1 42035 * include/grub/gzio.h: New file.
42036 * io/gzio.c: Likewise.
f19dbdb7 42037
d9864ee1 42038 * kern/file.c (grub_file_close): Call grub_device_close only if
42039 FILE->DEVICE is not NULL.
42040
42041 * include/grub/mm.h [!NULL] (NULL): New macro.
42042
42043 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42044
42045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42046 (pkgdata_MODULES): Added gzio.mod.
42047 (gzio_mod_SOURCES): New variable.
42048 (gzio_mod_CFLAGS): Likewise.
42049
42050 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42051 (pkgdata_MODULES): Added gzio.mod.
42052 (gzio_mod_SOURCES): New variable.
42053 (gzio_mod_CFLAGS): Likewise.
42054
42055 * commands/cat.c: Include grub/gzio.h.
42056 (grub_cmd_cat): Use grub_gzfile_open instead of
42057 grub_file_open.
f19dbdb7 42058
d9864ee1 42059 * commands/cmp.c: Include grub/gzio.h.
42060 (grub_cmd_cmp): Use grub_gzfile_open instead of
42061 grub_file_open.
42062
42063 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42064 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42065 grub_file_open.
42066 (grub_rescue_cmd_module): Likewise.
42067
fa46f4b5 420682005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42069
42070 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42071 kern/sparc64/ieee1275/init.c because it contains _start.
42072 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42073
e9211b5d 420742005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42075
42076 * configure.ac: Add support for sparc64 host with ieee1275
42077 firmware.
42078 * configure: Generated from configure.ac.
42079 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42080 instead of int.
42081 (grub_ofdisk_read): Likewise.
42082 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42083 pointers as (void *) to remove a warning.
42084 (grub_ofdisk_close): Likewise.
42085 (grub_ofdisk_read): Likewise.
42086 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42087 returns, so make it return void to remove a warning.
42088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42089 Corresponding prototype change.
42090 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42091 values, and cast the pointers as (void *) to remove a warning.
42092 (grub_mm_dump): Likewise.
42093 * conf/sparc64-ieee1275.mk: New file.
42094 * conf/sparc64-ieee1275.rmk: Likewise.
42095 * include/grub/sparc64/setjmp.h: Likewise.
42096 * include/grub/sparc64/types.h: Likewise.
42097 * include/grub/sparc64/ieee1275/console.h: Likewise.
42098 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42099 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42100 * include/grub/sparc64/ieee1275/time.h: Likewise.
42101 * kern/sparc64/cache.c: Likewise.
42102 * kern/sparc64/dl.c: Likewise.
42103 * kern/sparc64/ieee1275/init.c: Likewise.
42104 * kern/sparc64/ieee1275/openfw.c: Likewise.
42105
385c6a92 421062005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42107
42108 * util/console.c (grub_ncurses_putchar): If C is greater than
42109 0x7f, set C to a question mark.
42110 (grub_ncurses_getcharwidth): New function.
42111 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42112 getcharwidth.
42113
42114 * normal/menu.c (print_entry): Made aware of Unicode. First,
42115 convert TITLE to UCS-4, and predict the cursor position by
42116 grub_getcharwidth.
42117
42118 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42119 const to SRC.
42120 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42121
16ccb8b1 421222005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42123
42124 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42125 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42126 grub_strcat.
42127
42128 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42129 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42130 grub_strcpy and grub_strlen. Take it into account that a space
42131 character is inserted as a delimiter.
42132
6a85ce79 421332005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42134
42135 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 42136 invalid magic in the error.
6a85ce79 42137
42138 * commands/search.c: New file.
f19dbdb7 42139
6a85ce79 42140 * util/grub-emu.c (main): Call grub_search_init and
42141 grub_search_fini.
42142
42143 * kern/rescue.c (grub_rescue_print_disks): Removed.
42144 (grub_rescue_print_devices): New function.
42145 (grub_rescue_cmd_ls): Use grub_device_iterate with
42146 grub_rescue_print_devices instead of grub_disk_dev_iterate with
42147 grub_rescue_print_disks.
42148
42149 * kern/partition.c (grub_partition_iterate): Return the result of
42150 PARTMAP->ITERATE instead of GRUB_ERRNO.
42151
42152 * kern/device.c: Include grub/partition.h.
42153 (grub_device_iterate): New function.
42154
42155 * include/grub/partition.h (grub_partition_iterate): Return int
42156 instead of grub_err_t.
42157
42158 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42159 prototype.
42160 [GRUB_UTIL] (grub_search_fini): Likewise.
42161
42162 * include/grub/device.h (grub_device_iterate): New prototype.
42163
42164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42165 commands/search.c.
42166 (pkgdata_MODULES): Added search.mod.
42167 (search_mod_SOURCES): New variable.
42168 (search_mod_CFLAGS): Likewise.
42169
42170 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42171 (pkgdata_MODULES): Added search.mod.
42172 (search_mod_SOURCES): New variable.
42173 (search_mod_CFLAGS): Likewise.
42174
42175 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42176 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42177 All callers changed.
42178
42179 * DISTLIST: Added commands/search.c.
42180
ef095434 421812005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42182
42183 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42184 conversion.
42185 (grub_getcharwidth): New function.
42186
42187 * kern/misc.c (grub_utf8_to_ucs4): New function.
42188
42189 * include/grub/term.h (struct grub_term): Added a new member
42190 "getcharwidth".
42191 (grub_getcharwidth): New prototype.
42192
42193 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42194
42195 * term/i386/pc/console.c (map_char): New function. Segregated from
42196 grub_console_putchar.
42197 (grub_console_putchar): Use map_char.
42198 (grub_console_getcharwidth): New function.
42199 (grub_console_term): Specified grub_console_getcharwidth as
42200 getcharwidth.
42201
42202 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42203 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42204
42205 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42206 GRUB_ERRNO.
42207 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42208 on grub_strtoul completely.
42209 (write_char): Declare local variables in the beginning of the
42210 function.
42211 (grub_vesafb_getcharwidth): New function.
42212 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42213 getcharwidth.
42214
1f0a95e4 422152005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42216
42217 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42218 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42219 commands/i386/pc/vbetest.c.
42220
42221 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42222 call grub_vbe_get_controller_info again, because the returned
42223 information is volatile.
42224 (grub_vbe_set_video_mode): Mostly rewritten.
42225 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
42226 grub_vbe_status_t correctly.
42227 (grub_vbe_get_video_mode_info): Likewise.
42228 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
42229 several if statements.
42230
42231 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
42232 * commands/i386/pc/vbeinfo.c: ... this.
42233
42234 * commands/i386/pc/vbe_test.c: Renamed to ...
42235 * commands/i386/pc/vbetest.c: ... this.
42236
42237 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
42238 ...
42239 (grub_cmd_vbeinfo): ... this. Save video modes before
42240 iterating. Skip a video mode, if it is not available, not enough
42241 information is given or it is monochrome. Show the memory
42242 model. Leave the interpretation of MODEVAR to grub_strtoul
42243 completely.
42244 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
42245 (GRUB_MOD_FINI): Likewise.
42246
42247 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
42248 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
42249 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
42250 duplicated grub_env_get. Leave the interpretation of MODEVAR to
42251 grub_strtoul completely.
42252 (real2pm): Removed.
42253 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
42254 (GRUB_MOD_FINI): Likewise.
42255
42256 * normal/misc.c: Include grub/mm.h.
42257
42258 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
42259 vbe_list_modes with vbetest.mod and vbeinfo.mod.
42260 (vbe_list_modes_mod_SOURCES): Removed.
42261 (vbe_list_modes_mod_CFLAGS): Likewise.
42262 (vbe_test_mod_SOURCES): Likewise.
42263 (vbe_test_mod_CFLAGS): Likewise.
42264 (vbeinfo_mod_SOURCES): New variable.
42265 (vbeinfo_mod_CFLAGS): Likewise.
42266 (vbetest_mod_SOURCES): Likewise.
42267 (vbetest_mod_CFLAGS): Likewise.
42268
992ffbbe 422692005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
42270
42271 * normal/misc.c: New file.
42272
42273 * DISTLIST: Added normal/misc.c.
f19dbdb7 42274
992ffbbe 42275 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
42276 DISK to HOOK. Call HOOK with DISK.
42277 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42278 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42279 * partmap/sun.c (sun_partition_map_iterate): Likewise.
42280
42281 * normal/menu_entry.c (struct screen): Added a new member
42282 "completion_shown".
42283 (completion_buffer): New global variable.
42284 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
42285 (store_completion): New function.
42286 (complete): Likewise.
42287 (clear_completions): Likewise.
42288 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
42289 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
42290 a tab, call complete.
42291
42292 * normal/completion.c (disk_dev): Removed.
42293 (print_simple_completion): Likewise.
42294 (print_partition_completion): Likewise.
42295 (print_func): New global variable.
42296 (add_completion): Do not take the arguments WHAT or PRINT any
42297 longer. Added a new argument TYPE. Instead of printing directly,
42298 call PRINT_FUNC if not NULL.
42299 All callers changed.
42300 (complete_device): Use a local variable DEV instead of
42301 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
42302 (grub_normal_do_completion): Take a new argument HOOK. Do not
42303 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
42304 empty string, return NULL instead.
42305 All callers changed.
42306
42307 * normal/cmdline.c (print_completion): New function.
42308
42309 * kern/partition.c (grub_partition_iterate): Add an argument DISK
42310 to HOOK.
42311 All callers changed.
42312
42313 * kern/disk.c (grub_print_partinfo): Removed.
42314
42315 * include/grub/partition.h (struct grub_partition_map): Add a new
42316 argument DISK into HOOK of ITERATE.
42317 (grub_partition_iterate): Add a new argument DISK to HOOK.
42318
42319 * include/grub/normal.h (enum grub_completion_type): New enum.
42320 (grub_completion_type_t): New type.
42321 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
42322 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
42323 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
42324 (GRUB_COMPLETION_TYPE_FILE): Likewise.
42325 (grub_normal_do_completion): Added a new argument HOOK.
42326 (grub_normal_print_device_info): New prototype.
42327
42328 * include/grub/disk.h (grub_print_partinfo): Removed.
42329
42330 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
42331 (normal_mod_SOURCES): Likewise.
42332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42333 (normal_mod_SOURCES): Likewise.
42334
42335 * commands/ls.c (grub_ls_list_disks): Use
42336 grub_normal_print_device_info instead of grub_print_partinfo. Free
42337 PNAME.
42338 (grub_ls_list_files): Use grub_normal_print_device_info instead of
42339 duplicating the code.
42340
0bd41162 423412005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42342
42343 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 42344 follow GCS more precisely.
42345 * commands/i386/pc/vbe_test.c: Likewise.
42346 * include/grub/i386/pc/vbe.h: Likewise.
42347 * term/i386/pc/vesafb.c: Likewise.
42348 * video/i386/pc/vbe.c: Likewise.
0bd41162 42349
6323696a 423502005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42351
42352 * DISTLIST: Added term/i386/pc/vesafb.c
42353 DISTLIST: Added video/i386/pc/vbe.c
42354 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
42355 DISTLIST: Added commands/i386/pc/vbe_test.c.
42356 * commands/i386/pc/vbe_list_modes.c: New file.
42357 * commands/i386/pc/vbe_test.c: Likewise.
42358 * term/i386/pc/vesafb.c: Likewise.
42359 * video/i386/pc/vbe.c: Likewise.
42360 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
42361 (grub_vbe_probe) Added prototype.
42362 (grub_vbe_set_video_mode) Likewise.
42363 (grub_vbe_get_video_mode) Likewise.
42364 (grub_vbe_get_video_mode_info) Likewise.
42365 (grub_vbe_set_pixel_rgb) Likewise.
42366 (grub_vbe_set_pixel_index) Likewise.
42367 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
42368 (pkgdata_MODULES): Added vesafb.mod.
42369 (pkgdata_MODULES): Added vbe_list_modes.mod.
42370 (pkgdata_MODULES): Added vbe_test.mod.
42371 (vbe_mod_SOURCES): Added.
42372 (vbe_mod_CFLAGS): Likewise.
42373 (vesafb_mod_SOURCES): Likewise.
42374 (vesafb_mod_CFLAGS): Likewise.
42375 (vbe_list_modes_mod_SOURCES): Likewise.
42376 (vbe_list_modes_mod_CFLAGS): Likewise.
42377 (vbe_test_mod_SOURCES): Likewise.
42378 (vbe_test_mod_CFLAGS): Likewise.
42379
0a74e62f 423802005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
42381
0a74e62f 42382 * normal/command.c (grub_command_execute): If INTERACTIVE is
42383 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
42384 CMDLINE. Disable the pager if INTERACTIVE is true.
42385 All callers are changed.
42386
42387 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
42388 before reading a config file.
42389 * normal/main.c (read_config_file): Even if a command is not
42390 found, register it if it is within an entry.
42391
42392 * util/grub-emu.c: Include sys/types.h and unistd.h.
42393 (options): Added --hold.
42394 (struct arguments): Added a new member "hold".
42395 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
42396 missing.
42397 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
42398 cleared by a debugger, if it is not zero.
42399
42400 * include/grub/normal.h (grub_command_execute): Add an argument
42401 INTERACTIVE.
42402
e51f85ae 424032005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
42404
42405 * DISTLIST: Added include/grub/i386/pc/vbe.h.
42406
e9c6f39b 424072005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
42408
42409 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
42410 program with another one, because the old one didn't detect a bug
42411 in gcc-3.4. Always use regparm 2, because the new test is still
42412 not enough for gcc-4.0. Someone must investigate a simple test
42413 case which detects a bug in gcc-4.0.
42414
8de3495c 424152005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
42416
42417 * DISTLIST: Added normal/completion.c.
42418
42419 * normal/completion.c: New file.
f19dbdb7 42420
8de3495c 42421 * term/i386/pc/console.c (grub_console_getwh): New function.
42422 (grub_console_term): Assign grub_console_getwh to getwh.
42423
42424 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
42425 function is defined in normal/completion.c as
42426 grub_normal_do_completion.
42427 (grub_cmdline_get): Use grub_normal_do_completion instead of
42428 grub_tab_complete.
42429
42430 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
42431 returns non-zero, otherwise return 0.
42432 (grub_partition_iterate): First, probe the partition map. Then,
42433 call ITERATE only for this partition map.
42434
42435 * kern/misc.c (grub_strncmp): Rewritten.
42436
42437 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
42438 returns non-zero. Otherwise return 0.
42439
42440 * include/grub/partition.h (grub_partition_map_iterate): Return
42441 int instead of void.
42442
42443 * include/grub/normal.h (grub_normal_do_completion): New prototype.
42444
42445 * include/grub/misc.h (grub_strncmp): Change the type of N to
42446 grub_size_t.
42447
42448 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
42449 of void.
42450
42451 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 42452 unsigned explicitly before comparing it with I.
8de3495c 42453
42454 * kern/main.c (grub_env_write_root): Add the attribute unused into
42455 VAR.
42456
42457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42458 normal/completion.c.
42459 (normal_mod_SOURCES): Likewise.
42460 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42461 (normal_mod_SOURCES): Likewise.
42462
42463 * normal/command.c (grub_iterate_commands): If ITERATE returns
42464 non-zero, return one immediately.
42465
e85e144b 424662005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
42467
42468 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
42469 * kern/i386/pc/startup.S: Updated Global Descriptor table's
42470 descriptions.
42471 (grub_vbe_get_controller_info): New function.
42472 (grub_vbe_get_mode_info): Likewise.
42473 (grub_vbe_set_mode): Likewise.
42474 (grub_vbe_get_mode): Likewise.
42475 (grub_vbe_set_memory_window): Likewise.
42476 (grub_vbe_get_memory_window): Likewise.
42477 (grub_vbe_set_scanline_length): Likewise.
42478 (grub_vbe_get_scanline_length): Likewise.
42479 (grub_vbe_set_display_start): Likewise.
42480 (grub_vbe_get_display_start): Likewise.
42481 (grub_vbe_set_palette_data): Likewise.
42482 * include/grub/i386/pc/vbe.h: New file.
42483
c46153d2 424842005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42485
42486 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42487 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
42488 * DISTLIST: Likewise.
42489 * kern/ieee1275/of.c: Moved to ...
42490 * kern/ieee1275/ieee1275.c: ... here.
42491
0cb90c45 424922005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42493
42494 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
42495 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
42496 Pass 0 as `end' parameter to grub_strtoul().
42497
a19fb360 424982005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42499
42500 * include/grub/powerpc/ieee1275/console.h: Do not include
42501 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
42502 ifdef.
42503 (grub_console_cur_color): Remove i386-specific prototype.
42504 (grub_console_real_putchar): Likewise.
42505 (grub_console_checkkey): Likewise.
42506 (grub_console_getkey): Likewise.
42507 (grub_console_getxy): Likewise.
42508 (grub_console_gotoxy): Likewise.
42509 (grub_console_cls): Likewise.
42510 (grub_console_setcursor): Likewise.
42511 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
42512 Include <grub/machine/console.h>.
42513 * term/ieee1275/ofconsole.c: Likewise.
42514
4ac9bd04 425152005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
42516
42517 * Makefile.in (LIBLZO): New variable.
42518
42519 * configure.ac: Check for LZO version 2.
42520
42521 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
42522 lzo/lzo1x.h instead of lzo1x.h.
42523
42524 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
42525 of -llzo.
42526
42527 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
42528 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
42529
42530 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
42531 copying the data from PARTITION to P.
42532
f4917dfd 425332005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42534
42535 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
42536 negative, unload the module.
42537
42538 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
42539 map is "pc_partition_map" but not "pc".
42540 (usage): Fix the description. The options are --boot-image and
42541 --core-image but not --boot-file or --core-file.
42542 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
42543 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
42544 DEFAULT_DIRECTORY.
42545
42546 * util/i386/pc/grub-install.in: Do not specify --boot-file or
42547 --core-file. Specify INSTALL_DEVICE as an argument.
42548
42549 * util/console.c: Include config.h.
42550 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
42551 [HAVE_NCURSES_H]: Include ncurses.h.
42552 [HAVE_CURSES_H]: Include curses.h.
42553 [!A_NORMAL] (A_NORMAL): Defined as zero.
42554 [!A_STANDOUT] (A_STANDOUT): Likewise.
42555
42556 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
42557 -lncurses.
42558 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
42559
42560 * configure.ac: Check for curses libraries and headers.
42561
42562 * Makefile.in (LIBCURSES): New variable.
42563
42564 * genmk.rb (Script::rule): Set the executable bits.
42565
42566 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
42567 name of the PC partition map is "pc_partition_map" but not "pc".
42568
0e143073 425692005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42570
42571 * util/i386/pc/grub-install.in (grub_probefs): New variable.
42572 (modules): Likewise.
42573 (usage): Added descriptions for --modules and --grub-probefs.
42574 Handle --modules and --grub-probefs. Save the arguments in MODULES
42575 and GRUB_PROBEFS, respectively.
42576 Auto-detect a filesystem module against GRUBDIR. If the result is
42577 empty and modules are not specified explicitly, abort the
42578 installation. Add the result to MODULES.
42579
42580 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
42581 disk/powerpc/ieee1275/ofdisk.c,
42582 include/grub/powerpc/ieee1275/init.h and
42583 term/powerpc/ieee1275/ofconsole.c.
42584 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
42585 term/ieee1275/ofconsole.c.
42586
42587 * include/grub/powerpc/ieee1275/console.h: Resurrected.
42588
42589 * COPYING: Upgraded to the latest version. Only the address of the
42590 FSF office has changed.
f19dbdb7 42591
efd6e6d5 425922005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42593
42594 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42595 kern/ieee1275.c with kern/ieee1275/of.c.
42596
42597 * kern/ieee1275.c: Moved to ...
42598 * kern/ieee1275/of.c: ... here.
42599
8ceafda2 426002005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42601
42602 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42603 readability.
8ceafda2 42604
42605 * config.guess: Updated to the latest version from gnulib.
42606 * config.sub: Likewise.
42607 * install.sh: Likewise.
42608 * mkinstalldirs: Likewise.
42609
42610 * include/grub/console.h: Removed. This file is arch-specific. Do
42611 not put this in include/grub.
42612
42613 * include/grub/i386/pc/console.h: Resurrected.
42614
42615 * util/console.c: Include grub/machine/console.h instead of
42616 grub/console.h.
42617 * util/grub-emu.c: Likewise.
42618
267f6cd9 426192005-08-04 Marco Gerards <metgerards@student.han.nl>
42620
42621 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42622 hardcoded value.
f19dbdb7 42623
267f6cd9 42624 From Vincent Pelletier <subdino2004@yahoo.fr>
42625 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42626 Redefined to use grub_getwh.
42627 (grub_term): New member named getwh.
42628 (grub_getwh): New prototype.
42629 * kern/term.c (grub_getwh): New function.
42630 * term/i386/pc/console.c (grub_console_getwh): New function.
42631 (grub_console_term): New member `getwh'.
42632 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42633 (grub_vga_term): New member `getwh'.
0b5abe02 42634 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42635 grub_ssize_t.
42636 (grub_ofconsole_getw): New function.
42637 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42638 (grub_ofconsole_term): New field named getwh and new initial
42639 value.
42640
3be7266d 426412005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42642
42643 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42644 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42645 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42646 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42647 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42648 of <grub/machine/ieee1275.h>.
42649 * commands/ieee1275/reboot.c: Likewise.
42650 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42651 * kern/ieee1275.c: ... to here. All users updated. Change all
42652 parameter structs to use new type `grub_ieee1275_cell_t'.
42653 * term/powerpc/ieee1275/ofconsole.c: Move ...
42654 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42655 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42656 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42657 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42658 to return int.
42659 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42660 Remove unused prototypes. All users updated.
42661 * include/grub/powerpc/ieee1275/console.h: Removed.
42662 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42663 `grub_ieee1275_cell_t'.
42664 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42665 Cast comparisons with -1 to the correct type.
42666 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42667 type to match `grub_ieee1275_entry_fn'.
42668
8b5f3938 426692005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42670
42671 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42672
42673 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42674 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42675 partmap/sun.c.
42676 (grub_probefs_SOURCES): New variable.
42677
42678 * util/i386/pc/grub-probefs.c: New file.
42679
42680 * util/i386/pc/grub-setup.c (main): Call
42681 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42682 grub_hfs_init and grub_jfs_init to initialize the system. Call
42683 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42684 grub_pc_partition_map_fini to finish the system.
42685
ea409713 426862005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42687
42688 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42689 function.
42690 (grub_multiboot_load_elf32): Likewise.
42691 (grub_multiboot_is_elf64): Likewise.
42692 (grub_multiboot_load_elf64): Likewise.
42693 (grub_multiboot_load_elf): Likewise.
42694 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42695 an ELF32 or ELF64 file.
42696 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42697
42698 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42699 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42700 NULL before calling FS->LABEL.
42701 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42702 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42703 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42704 before calling FS->LABEL.
42705
141a288b 427062005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42707
42708 * util/i386/pc/grub-install.in (datadir): New variable.
42709 (libdir): Removed.
42710 (pkgdatadir): New variable.
42711 (pkglibdir): Removed.
42712
0d5f8a54 427132005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42714
42715 * DISTLIST: Added util/i386/pc/grub-install.in.
42716
42717 * util/i386/pc/grub-install.in: New file.
42718
42719 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42720 (grub_install_SOURCES): Likewise.
42721
42722 * genmk.rb: Added support for scripts.
42723 (Script): New class.
42724 (scripts): New variable.
42725
42726 * Makefile.in (install-local): Install sbin_SCRIPTS by
42727 INSTALL_SCRIPT.
42728 (uninstall): Remove sbin_SCRIPTS.
42729
42730 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42731 device, try to get a GRUB device by
42732 grub_util_biosdisk_get_grub_dev.
42733 Free DEST_DEV.
42734
42735 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42736 description for --device-map.
42737
5f968e1e 427382005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42739
42740 Change the semantics of variable hooks. They now return strings
42741 instead of error values.
f19dbdb7 42742
5f968e1e 42743 * util/i386/pc/grub-setup.c: Include grub/env.h.
42744 (setup): Use grub_device_set_root instead of grub_env_set.
42745
42746 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42747 grub_env_get instead of grub_device_set_root and
42748 grub_device_get_root, respectively.
42749
42750 * kern/main.c (grub_env_write_root): New function.
42751 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42752 grub_env_set instead of grub_device_set_root.
42753
42754 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42755 many variables.
42756 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42757 rather than calling ENV->WRITE_HOOK afterwards.
42758 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42759 passing a pointer of a pointer.
42760 (grub_register_variable_hook): Change the types of "read_hook" and
42761 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42762 respectively.
42763 Allocate the default empty string on the heap, because this string
42764 may be freed later.
42765
42766 * kern/device.c: Include grub/env.h.
42767 (grub_device_set_root): Removed.
42768 (grub_device_get_root): Likewise.
42769 (grub_device_open): Use grub_env_get instead of
42770 grub_device_get_root.
42771
42772 * include/grub/env.h (grub_env_read_hook_t): New type.
42773 (grub_env_write_hook_t): Likewise.
42774 (grub_env_var): Change the types of "read_hook" and "write_hook"
42775 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42776 (grub_register_variable_hook): Likewise.
42777
42778 * include/grub/device.h (grub_device_set_root): Removed.
42779 (grub_device_set_root): Likewise.
42780
42781 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42782 make sure that DIRNAME terminates with '/', so that
42783 grub_fat_find_dir will fail if PATH is not a directory.
42784
42785 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42786 from DIRNAME.
42787 Use the qualifier auto for print_files and print_files_long.
42788 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42789 as a regular file.
42790 Put a newline only if there is no error.
42791 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42792 used.
42793
896f0afd 427942005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42795
42796 * kern/partition.c (grub_partition_probe): Initialize PART to
42797 NULL. Otherwise, when no partition map is registered, this returns
42798 a garbage.
42799
b28b81b2 428002005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42801
42802 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42803 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42804 valid.
42805
5f3607e0 428062005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42807
42808 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42809 information on each device, if it does not have partitions. Print
42810 "Device" instead of "Disk", because this function is not specific
42811 to disk devices.
42812
42813 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42814 static to ensure that it is put on the memory rather than a
42815 register.
42816
502c87e8 428172005-07-17 Yoshinori Okuji <okuji@enbug.org>
42818
42819 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42820 (grub_cat_init): Likewise.
42821 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42822 (options): Likewise.
42823 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42824 (grub_configfile_init): Likewise.
42825 * font/manager.c (GRUB_MOD_INIT): Likewise.
42826 * commands/help.c (GRUB_MOD_INIT): Likewise.
42827 (grub_help_init): Likewise.
42828 * normal/command.c (grub_command_init): Likewise.
42829 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42830 * disk/loopback.c (grub_loop_init): Likewise.
42831 (GRUB_MOD_INIT): Likewise.
42832 * commands/ls.c (grub_ls_init): Likewise.
42833 (GRUB_MOD_INIT): Likewise.
42834 (options): Likewise.
42835 * commands/boot.c (grub_boot_init): Likewise.
42836 (GRUB_MOD_INIT): Likewise.
42837 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42838 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42839 (GRUB_MOD_INIT): Likewise.
42840 * commands/cmp.c (grub_cmp_init): Likewise.
42841 (GRUB_MOD_INIT): Likewise.
42842
42843 * normal/arg.c: Use <> instead of "" to include header files.
42844 (SHORT_ARG_HELP): New macro.
42845 (SHORT_ARG_USAGE): Likewise.
42846 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42847 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42848 descriptions.
42849 (find_short): Check if C is 'h' or 'u' explicitly.
42850 (grub_arg_show_help): Use space characters instead of tabs. Treat
42851 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42852 are shown with --help and --usage only if they are not used for
42853 the command itself.
42854 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42855 'h' and 'u'.
42856
42857 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42858 const into "longarg". Change the type of "shortarg" to int.
42859
f806d18e 428602005-07-17 Yoshinori Okuji <okuji@enbug.org>
42861
42862 * boot/i386/pc/boot.S (boot_drive_check): New label.
42863
42864 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42865 macro.
42866
42867 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42868 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42869
e293232b 428702005-07-17 Yoshinori Okuji <okuji@enbug.org>
42871
42872 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42873 When turning off Gate A20, skip the check and return immediately,
42874 because this is not fatal usually.
42875
ebedfd00 428762005-07-17 Yoshinori Okuji <okuji@enbug.org>
42877
42878 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42879 be 0x7C00 instead of 0x8000.
42880
42881 * boot/i386/pc/pxeboot.S: Rewritten.
42882
42883 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42884 EXT_C.
42885 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42886 result.
42887
654fc59f 428882005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42889
42890 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42891 robustness. This routine now supports a BIOS call and System
42892 Control Port A to modify the gate A20.
42893
42894 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42895 Increased to 0x440.
42896
09f9923f 428972005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42898
42899 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42900 device path and resulting ihandle.
42901 (grub_ofdisk_close): dprintf the ihandle being closed.
42902 (grub_ofdisk_read): dprintf function parameters.
42903 * kern/mm.c (grub_mm_init_region): Likewise.
42904 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42905 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42906 size, and boot arguments.
42907 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42908 before loading into memory.
42909 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42910 before loading into memory.
42911
7ef504d8 429122005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42913
42914 * kern/mm.c: Added much documentation.
42915 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42916 8, set to 5 instead of 8.
42917
e0f050c2 429182005-07-10 Yoshinori Okuji <okuji@enbug.org>
42919
42920 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42921
42922 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42923 (grub_mkdevicemap_SOURCES): New variable.
42924
42925 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42926 lib/device.c of GRUB Legacy.
42927
7224189a 429282005-07-10 Yoshinori Okuji <okuji@enbug.org>
42929
42930 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42931 instead of PATH is NULL.
42932
68c864eb 429332005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42934
42935 * commands/cmp.c (BUFFER_SIZE): New macro.
42936 (grub_cmd_cmp): Close the right file at the right time. Compare
42937 only data just read. Don't report files of different size as
42938 identical. Dynamically allocate buffers. Move variable
42939 declarations at the beginning of function.
42940
e6f3e614 429412005-07-09 Yoshinori Okuji <okuji@enbug.org>
42942
42943 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42944 reverse.
42945
f8f1559a 429462004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42947
42948 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42949 when backspace is pressed at beginning of line.
42950
39c9d41d 429512005-07-03 Yoshinori Okuji <okuji@enbug.org>
42952
42953 * DISTLIST: Added genfslist.sh.
42954
42955 * normal/main.c (fs_module_list): New variable.
42956 (autoload_fs_module): New function.
42957 (read_fs_list): Likewise.
42958 (grub_normal_execute): Call read_fs_list.
42959
42960 * kern/fs.c (grub_fs_autoload_hook): New variable.
42961 (grub_fs_probe): Added support for auto-loading.
42962
42963 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42964 (grub_fs_module_list_t): New type.
42965
42966 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42967 (grub_fs_autoload_hook): New prototype.
42968
42969 * genfslist.sh: New file.
f19dbdb7 42970
39c9d41d 42971 * genmk.rb: Added a rule to generate a filesystem list.
42972
121c1d83 429732005-06-30 Marco Gerards <metgerards@student.han.nl>
42974
42975 * configure.ac: Fix the test for cross-compiling.
42976
42977 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42978 define GRUB_UTIL anymore.
42979
42980 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42981 so this function works on other systems than just big endian.
42982 (load_modules): Likewise.
42983 (add_segments): Likewise.
42984
e75d76e1 429852005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42986
42987 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42988 contains `l' modifier, get a long from va_arg().
42989
50b5a0a7 429902005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42991
42992 * kern/mm.c (grub_free): If the next free block which is being
42993 merged is the first free block, set the first block to the block
42994 being freed.
42995 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42996
89371b20 429972005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42998
42999 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43000 `grub_ieee1275_chosen'.
43001
168d6e58 430022005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43003
43004 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43005 (grub_ieee1275_chosen): New variable.
43006 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43007 `chosen'.
43008 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43009 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43010 Rename first argument to `phandle' for consistency.
43011 (grub_ieee1275_get_property_length): Likewise.
43012 (grub_ieee1275_next_property): Likewise. Change type of first argument
43013 to grub_ieee1275_phandle_t.
43014 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43015 Move export next to declaration.
43016 (grub_ieee1275_chosen): New variable.
43017 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43018 Correct cosmetic typo.
43019 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43020 `grub_ieee1275_chosen'.
43021 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43022 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43023 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43024 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43025 `grub_ieee1275_chosen'.
43026
ca5baa3f 430272005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43028
43029 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43030 /chosen/bootargs.
43031 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43032 /chosen/bootargs as "variable=value" pairs.
43033
708b345f 430342005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43035
43036 * include/grub/misc.h (grub_dprintf): New macro.
43037 (grub_real_dprintf): New prototype.
43038 (grub_strword): Likewise.
43039 (grub_iswordseparator): Likewise.
43040 * kern/misc.c (grub_real_dprintf): New function.
43041 (grub_strword): Likewise.
43042 (grub_iswordseparator): Likewise.
43043
f4c5e67c 430442005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43045
43046 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43047 (roundup): Remove macro.
43048 (grub_ieee1275_flags): Make static.
43049 (grub_ieee1275_realmode): Remove.
43050 (grub_ieee1275_test_flag): New function.
43051 (grub_ieee1275_set_flag): Likewise.
43052 (find_options): Rename to `grub_ieee1275_find_options'; update
43053 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43054 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43055 (cmain): New prototype.
43056 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43057 `grub_ieee1275_flags' directly.
43058 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43059 machine/biosdisk.h.
43060 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43061 Don't include grub/machine/init.h.
43062 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43063 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43064 Remove prototype.
43065 (grub_ieee1275_realmode): Likewise.
43066 (grub_ieee1275_flag): New enum.
43067 (grub_ieee1275_test_flag): New prototype.
43068 (grub_ieee1275_set_flag): New prototype.
43069 * include/grub/powerpc/ieee1275/init.h: Remove file.
43070 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43071 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43072 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43073 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43074 comment.
43075 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43076 `grub_ieee1275_test_flag'.
43077 (grub_ieee1275_encode_devname): Likewise.
43078
ed16607e 430792005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43080
43081 * include/grub/powerpc/ieee1275/ieee1275.h
43082 (grub_ieee1275_encode_devname): New prototype.
43083 (grub_ieee1275_get_filename): Likewise.
43084 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43085 function.
43086 (grub_set_prefix): Likewise.
43087 (grub_machine_init): Call grub_set_prefix.
43088 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43089 (grub_parse_type): New enum.
43090 (grub_ieee1275_get_devargs): New function.
43091 (grub_ieee1275_get_devname): Likewise.
43092 (grub_ieee1275_parse_args): Likewise.
43093 (grub_ieee1275_get_filename): Likewise.
43094 (grub_ieee1275_encode_devname): Likewise.
43095
be369920 430962005-03-30 Marco Gerards <metgerards@student.han.nl>
43097
43098 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43099 `grub_loader_unset'.
43100
a5ce3a4a 431012005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43102
43103 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43104 instead of grub_ieee1275_interpret.
43105 (grub_halt_init): New function.
43106 (grub_halt_fini): Likewise.
43107 (GRUB_MOD_INIT): Correct message grammar.
43108 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43109 instead of grub_ieee1275_interpret.
43110 (grub_reboot_init): New function.
43111 (grub_reboot_fini): Likewise.
43112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43113 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43114 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43115 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43116 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43117 function.
43118 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43119 Add prototype.
43120 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43121 prototype.
43122 (grub_halt): Likewise.
43123 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43124 (cmain): Remove __attribute__((unused)).
43125 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43126 (grub_heap_len): Likewise.
43127 (grub_machine_fini): New function.
43128 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43129 (grub_halt): Likewise.
43130 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43131 function.
43132 * util/powerpc/ieee1275/misc.c: New file.
43133
0058f771 431342005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43135
43136 * DISTLIST: New file.
43137 * gendistlist.sh: Likewise.
f19dbdb7 43138
0058f771 43139 * Makefile.in (COMMON_DISTFILES): Removed.
43140 (BOOT_DISTFILES): Likewise.
43141 (CONF_DISTFILES): Likewise.
43142 (DISK_DISTFILES): Likewise.
43143 (FS_DISTFILES): Likewise.
43144 (INCLUDE_DISTFILES): Likewise.
43145 (KERN_DISTFILES): Likewise.
43146 (LOADER_DISTFILES): Likewise.
43147 (TERM_DISTFILES): Likewise.
43148 (UTIL_DISTFILES): Likewise.
43149 (DISTFILES): Likewise.
43150 (uninstall): Uninstall files in $(pkgdata_DATA).
43151 (DISTLIST): New target.
43152 (distdir): Use the contents of the file DISTLIST to get a list of
43153 distributed files.
43154
46b3b8a5 431552005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43156
43157 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43158 descriptor. This is ported from GRUB Legacy.
43159
43160 * gencmdlist.sh: Added an extra semicolon to make it work with
43161 old sed versions. Reported by Robert Bihlmeyer
43162 <robbe@orcus.priv.at>.
43163
5822ff87 431642005-03-08 Yoshinori Okuji <okuji@enbug.org>
43165
43166 Automatic loading of commands is supported.
f19dbdb7 43167
5822ff87 43168 * normal/main.c (read_command_list): New function.
43169 (grub_normal_execute): Call read_command_list.
43170
43171 * normal/command.c (grub_register_command): Return zero or CMD.
43172 Allocate CMD->NAME from the heap.
43173 Initialize CMD->MODULE_NAME to zero.
43174 Find the same name as well. If the same command is found and it is
43175 a dummy command, overwrite members. If it is not a dummy command,
43176 return zero.
43177 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43178 (grub_command_find): If a dummy command is found, load a module
43179 and retry to find a command only once.
43180
43181 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43182 make sure that each command is loaded.
43183
43184 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43185 macro.
43186 (struct grub_command): Remove const from the member `name'.
43187 Add a new member `module_name'.
43188 (grub_register_command): Return grub_command_t.
43189
43190 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43191 sure that each command is loaded.
43192
43193 * genmk.rb (PModule::rule): Specify a module name without the
43194 suffix ".mod" to gencmdlist.sh.
43195
7b1f4b57 431962005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43197
43198 * gencmdlist.sh: New file.
f19dbdb7 43199
7b1f4b57 43200 * genmk.rb (PModule::rule): Generate a rule for a command list.
43201 Clean command.lst.
43202 Generate command.lst from $(COMMANDFILES).
43203
43204 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43205 (DATA): Added $(pkgdata_DATA).
43206 (install-local): Install files in $(pkgdata_DATA).
43207
062aaf39 432082005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43209
43210 * term/i386/pc/vga.c (debug_command): Removed.
43211 (GRUB_MOD_INIT): Do not register the command "debug".
43212
43213 From Hollis Blanchard:
43214 * commands/configfile.c: New file.
43215 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43216 commands/configfile.c.
43217 (pkgdata_MODULES): Added configfile.mod.
43218 (configfile_mod_SOURCES): New variable.
43219 (configfile_mod_CFLAGS): Likewise.
43220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43221 commands/configfile.c.
43222 (pkgdata_MODULES): Added configfile.mod.
43223 (configfile_mod_SOURCES): New variable.
43224 (configfile_mod_CFLAGS): Likewise.
43225 * util/grub-emu.c (main): Call grub_configfile_init and
43226 grub_configfile_fini.
43227 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
43228 prototype.
43229 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 43230
cee01aa6 432312005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43232
43233 * normal/arg.c (grub_arg_show_help): Do not show the bug report
43234 address.
43235
43236 * commands/help.c (grub_cmd_help): Do not print newlines after
43237 the last command in print_command_help.
43238
93f3a1d8 432392005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43240
43241 * commands/default.h: New file.
43242 * commands/timeout.h: Likewise.
43243 * normal/context.c: Likewise.
f19dbdb7 43244
93f3a1d8 43245 * util/misc.c: Do not include sys/times.h.
43246 Include sys/time.h and grub/machine/time.h.
43247 (grub_get_rtc): Rewritten with gettimeofday.
43248
43249 * util/grub-emu.c (main): Call grub_default_init and
43250 grub_timeout_init before grub_normal_init, and call
43251 grub_timeout_fini and grub_default_fini after grub_main.
43252
43253 * util/console.c (grub_ncurses_checkkey): Return the read
43254 character or -1.
43255
43256 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
43257 timeouts.
43258
43259 * normal/main.c (read_config_file): Push MENU. If this fails,
43260 print an error and wait for a user input.
43261 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
43262 If a menu is empty or an error occurs, pop MENU.
43263 (grub_normal_execute): Pop and free MENU after grub_menu_run
43264 returns.
43265
43266 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
43267
43268 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
43269 include time.h.
43270 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43271 without GRUB_UTIL.
43272 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
43273 time.h.
43274 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43275 without GRUB_UTIL.
43276
43277 * include/grub/normal.h (struct grub_menu_list): New struct.
43278 (grub_menu_list_t): New type.
43279 (struct grub_context): New struct.
43280 (grub_context_t): New type.
43281 (grub_register_command): Got rid of EXPORT_FUNC.
43282 (grub_unregister_command): Likewise.
43283 (grub_context_get): New prototype.
43284 (grub_context_get_current_menu): Likewise.
43285 (grub_context_push_menu): Likewise.
43286 (grub_context_pop_menu): Likewise.
43287 [GRUB_UTIL] (grub_default_init): Likewise.
43288 [GRUB_UTIL] (grub_default_fini): Likewise.
43289 [GRUB_UTIL] (grub_timeout_init): Likewise.
43290 [GRUB_UTIL] (grub_timeout_fini): Likewise.
43291
43292 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
43293 commands/timeout.c and normal/context.c.
43294 (pkgdata_MODULES): Added default.mod and timeout.mod.
43295 (normal_mod_SOURCES): Added normal/context.c.
43296 (default_mod_SOURCES): New variable.
43297 (default_mod_CFLAGS): Likewise.
43298 (timeout_mod_SOURCES): Likewise.
43299 (timeout_mod_CFLAGS): Likewise.
43300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
43301 conf/i386-pc.rmk.
43302 (pkgdata_MODULES): Added default.mod and timeout.mod.
43303 (normal_mod_SOURCES): Added normal/context.c.
43304 (default_mod_SOURCES): New variable.
43305 (default_mod_CFLAGS): Likewise.
43306 (timeout_mod_SOURCES): Likewise.
43307 (timeout_mod_CFLAGS): Likewise.
43308
43309 * Makefile.in (all-local): Added $(MKFILES).
43310
4ed2e1dd 433112005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
43312
43313 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
43314 (grub_emu_SOURCES): Likewise.
43315 (pkgdata_MODULES): Add `sun.mod'.
43316 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43318 `partmap/sun.c'.
43319 (pkgdata_MODULES): Add `sun.mod'.
43320 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43321 * include/grub/partition.h (grub_sun_partition_map_init): New
43322 prototype.
43323 (grub_sun_partition_map_fini): Likewise.
43324 * partmap/sun.c: New file.
43325 * util/grub-emu.c (main): Initialize and de-initialize the sun
43326 partitionmap support.
43327
4d4e372e 433282005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
43329
43330 This implements an Emacs-like menu entry editor.
f19dbdb7 43331
4d4e372e 43332 * normal/menu_entry.c: New file.
f19dbdb7 43333
4d4e372e 43334 * util/console.c (grub_ncurses_putchar): Translate some Unicode
43335 characters to ASCII.
43336 (saved_char): New variable.
43337 (grub_ncurses_checkkey): Rewritten completely.
43338 (grub_ncurses_getkey): Likewise.
43339 (grub_ncurses_init): Call raw instead of cbreak.
43340
43341 * normal/menu.c (print_entry): Do not put a space.
43342 (init_page): Renamed to ...
43343 (grub_menu_init_page): ... this. All callers changed.
43344 (edit_menu_entry): Removed.
43345 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
43346
43347 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
43348
43349 * kern/misc.c (grub_vprintf): Call grub_refresh.
43350
43351 * normal/menu.c (DISP_LEFT): Renamed to ...
43352 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
43353 * normal/menu.c (DISP_UP): Renamed to ...
43354 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
43355 * normal/menu.c (DISP_RIGHT): Renamed to ...
43356 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
43357 * normal/menu.c (DISP_DOWN): Renamed to ...
43358 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
43359 * normal/menu.c (DISP_HLINE): Renamed to ...
43360 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
43361 * normal/menu.c (DISP_VLINE): Renamed to ...
43362 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
43363 * normal/menu.c (DISP_UL): Renamed to ...
43364 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
43365 * normal/menu.c (DISP_UR): Renamed to ...
43366 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
43367 * normal/menu.c (DISP_LL): Renamed to ...
43368 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
43369 * normal/menu.c (DISP_LR): Renamed to ...
43370 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
43371 * normal/menu.c (TERM_WIDTH): Renamed to ...
43372 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
43373 * normal/menu.c (TERM_HEIGHT): Renamed to ...
43374 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
43375 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
43376 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
43377 * normal/menu.c (TERM_MARGIN): Renamed to ...
43378 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
43379 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
43380 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
43381 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
43382 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
43383 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
43384 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
43385 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
43386 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
43387 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
43388 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
43389 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
43390 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
43391 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
43392 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
43393 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
43394 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
43395 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
43396 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
43397 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
43398 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
43399 All callers changed.
43400
43401 * include/grub/normal.h: New prototype.
43402
43403 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43404 normal/menu_entry.c.
43405 (normal_mod_SOURCES): Likewise.
43406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43407 (normal_mod_SOURCES): Likewise.
43408
e6b92c8a 434092005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
43410
43411 * include/grub/normal.h (grub_halt_init): New prototype.
43412 (grub_halt_fini): Likewise.
43413 (grub_reboot_init): Likewise.
43414 (grub_reboot_fini): Likewise.
43415
43416 * util/grub-emu.c: Include signal.h.
43417 (main_env): New global variable.
43418 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
43419 catch C-c.
43420 (grub_machine_fini): New function.
43421 (main): Call grub_halt_init and grub_reboot_init before
43422 grub_main, and grub_reboot_fini and grub_halt_fini after it.
43423 Call setjmp with MAIN_ENV to go back afterwards.
43424 Call grub_machine_fini right before return.
43425
43426 * include/grub/util/misc.h: Include setjmp.h.
43427 (main_env): New prototype.
43428
43429 * include/grub/kernel.h (grub_machine_fini): New prototype.
43430 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
43431 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
43432
43433 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
43434 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
43435 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 43436
e6b92c8a 43437 * util/i386/pc/misc.c: New file.
f19dbdb7 43438
e6b92c8a 43439 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43440 util/i386/pc/misc.c, commands/i386/pc/halt.c and
43441 commands/i386/pc/reboot.c.
43442
c642636f 434432005-02-14 Guillem Jover <guillem@hadrons.org>
43444
43445 * include/grub/dl.h (grub_dl_check_header): New prototype.
43446 (grub_arch_dl_check_header): Change return type to grub_err_t,
43447 remove size parameter and export function. Update all callers.
43448 * kern/dl.c (grub_dl_check_header): New function.
43449 (grub_dl_load_core): Use `grub_dl_check_header' instead of
43450 `grub_arch_dl_check_header'. Check ELF type. Check if sections
43451 are inside the core.
43452 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
43453 independent ELF header checks.
43454 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43455 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
43456 `grub_dl_check_header' instead of explicit checks. Check for the
43457 ELF type.
43458 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
43459 `grub_dl_check_header' instead of explicit checks. Remove arch
43460 specific ELF header checks.
43461
e6b92c8a 43462 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
43463 argument SIZE.
43464
5eabe94b 434652005-02-13 Hollis Blanchard <hollis@penguinppc.org>
43466
43467 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
43468 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
43469
1b14a681 434702005-02-12 Hollis Blanchard <hollis@penguinppc.org>
43471
43472 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 43473 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 43474 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 43475 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 43476 * partmap/amiga.c (amiga_partition_map_iterate): Return
43477 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
43478 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43479
aca108aa 434802005-02-01 Guillem Jover <guillem@hadrons.org>
43481
43482 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
43483 help info.
43484
c9f9c556 434852005-01-31 Marco Gerards <metgerards@student.han.nl>
43486
43487 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
43488 Removed prototype.
43489 (grub_rescue_cmd_linux): New prototype.
43490 (grub_rescue_cmd_initrd): Likewise.
43491 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
43492 `bi_rec'.
43493 (grub_linux_release_mem): Release the memory for the initrd.
43494 (grub_load_linux): Renamed from this...
43495 (grub_rescue_cmd_linux): ...To this. Changed all callers.
43496 Changed `entry' not to be static. Loop over memory regions to
43497 find another one when the default fails.
43498 (grub_rescue_cmd_initrd): New function.
43499 (grub_linux_init): Remove function.
43500 (grub_linux_fini): Likewise.
43501 (GRUB_MOD_INIT): Register `initrd'.
43502 (GRUB_MOD_FINI): Unregister `initrd'.
43503 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
43504 Function removed.
43505 (grub_linux_normal_fini): Likewise.
43506 (GRUB_MOD_INIT): Register `initrd'.
43507 (GRUB_MOD_FINI): Unregister `initrd'.
43508
990cf3aa 435092005-01-31 Marco Gerards <metgerards@student.han.nl>
43510
43511 * commands/help.c: New file.
43512 * normal/arg.c (show_help): Renamed to...
43513 (grub_arg_show_help): ... this.
43514 * commands/i386/pc/halt.c: New file.
43515 * commands/i386/pc/reboot.c: Likewise.
43516 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
43517 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
43518 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
43519 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
43520 variables.
43521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43522 `commands/help.c'.
43523 (pkgdata_MODULES): Add `help.mod'.
43524 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
43525 * grub/i386/pc/init.h (grub_reboot): New prototype.
43526 (grub_halt): Likewise.
43527 * include/grub/normal.h (grub_arg_show_help): New prototype.
43528 (grub_help_init): Likewise.
43529 (grub_help_fini): Likewise.
43530 * util/grub-emu.c (main): Initialize and deinitialize the help
43531 command.
43532
43533 * normal/cmdline.c (grub_cmdline_get): Doc fix.
43534
43535 * normal/command.c (grub_command_init): Fixed the description of
43536 the `set' and `unset' commands.
43537
435382005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 43539
43540 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
43541 function.
43542 * commands/ieee1275/halt.c: New file.
43543 * commands/ieee1275/reboot.c: Likewise.
43544 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
43545 `__attribute__ ((unused))'. Some GCS related fixed.
43546 (grub_suspend_init) [GRUB_UTIL]: Function removed.
43547 (grub_suspend_fini): Likewise.
43548 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
43549 and `halt.mod'.
43550 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
43551 (halt_mod_CFLAGS): New variables.
43552 * include/grub/powerpc/ieee1275/ieee1275.h
43553 (grub_ieee1275_interpret): New prototype.
43554
1ab09cc7 435552005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
43556
43557 * include/grub/misc.h (memmove): New prototype.
43558 (memcpy): Likewise.
43559
8b8cbdb2 435602005-01-22 Hollis Blanchard <hollis@penguinppc.org>
43561
43562 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
43563 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
43564
e3741a27 435652005-01-22 Marco Gerards <metgerards@student.han.nl>
43566
43567 * kern/misc.c (grub_strndup): Function rewritten.
43568
776bd780 435692005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
43570
43571 * normal/menu.c (TERM_WIDTH): Macro redefined.
43572 (TERM_TOP_BORDER_Y): Likewise.
43573 (draw_border): Replaced while-loop by a for-loop. Make the number
43574 of lines consistent with the number of lines displayed in
43575 print_entries. Added a margin below the rectangle.
43576 (print_entry): Make the entry fit in the rectangle.
43577 (print_entries): Display the scroll arrows next to the right
43578 border.
43579
78026bce 435802005-01-21 Marco Gerards <metgerards@student.han.nl>
43581
43582 * fs/minix.c (grub_minix_find_file): Reserve more space for
43583 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
43584 `grub_strncpy' to copy `path' into it.
43585
67bbaf0f 435862005-01-21 Marco Gerards <metgerards@student.han.nl>
43587
43588 Add the loopback device, a device via which files can be accessed
43589 as devices.
f19dbdb7 43590
67bbaf0f 43591 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43592 (pkgdata_MODULES): Add loopback.mod.
43593 (loopback_mod_SOURCES): New variable.
43594 (loopback_mod_CFLAGS): Likewise.
43595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43596 `disk/loopback.c'.
43597 (pkgdata_MODULES): Add loopback.mod.
43598 (loopback_mod_SOURCES): New variable.
43599 (loopback_mod_CFLAGS): Likewise.
43600 * disk/loopback.c: new file.
43601 * include/grub/normal.h (grub_loop_init): New prototype.
43602 (grub_loop_fini): New prototype.
43603 * util/grub-emu.c (main): Initialize and de-initialize loopback
43604 support.
43605 * include/grub/disk.h (grub_disk_dev_id): Add
43606 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43607
6f1c18bd 436082005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43609
43610 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43611 function.
43612 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43613 (suspend_mod_SOURCES): New variable.
43614 (suspend_mod_CFLAGS): Likewise.
43615 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43616 New prototype.
43617 * commands/ieee1275/suspend.c: New file.
43618
b38551da 436192005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43620
43621 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43622 ((unused))' to `__attribute__ ((used))'.
b38551da 43623 (GRUB_MOD_FINI): Likewise.
43624 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43625 * genmk.rb (PModule): Assign space to common symbols when linking
43626 modules.
43627
777aff39 436282005-01-20 Marco Gerards <metgerards@student.han.nl>
43629
43630 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43631 `unsigned' arguments to `grub_size_t'.
43632 (grub_malloc): Likewise.
43633 (grub_realloc): Likewise.
43634 (grub_memalign): Likewise.
43635 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43636 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43637 * util/misc.c (grub_malloc): Likewise.
43638 (grub_realloc): Likewise.
43639 * kern/mm.c (get_header_from_pointer): Change the casts to
43640 `unsigned' into a cast to `grub_size_t'.
43641
43642 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43643 point to `currnode' when `currnode' is changed.
43644
43645 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43646 Schottelius <nico-linux@schottelius.org>.
43647
d0ff18e1 436482005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43649
43650 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43651 (note_path): Remove variable.
43652 (GRUB_IEEE1275_NOTE_NAME): New macro.
43653 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43654 (grub_ieee1275_note_hdr): New structure.
43655 (grub_ieee1275_note_desc): Likewise.
43656 (grub_ieee1275_note): Likewise.
43657 (load_note): Remove `dir' argument. All callers updated. Remove
43658 `note_img' and `path'. Do not load a file from `note_path'.
43659 Initialize a struct grub_ieee1275_note and write that to `out'.
43660 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43661
4ca7004c 436622005-01-05 Marco Gerards <metgerards@student.han.nl>
43663
43664 * util/misc.c (grub_util_read_image): Revert last change. It
43665 called `grub_util_read_at', which seeks from the beginning of the
43666 file.
43667
0b412211 436682005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43669
43670 * TODO: Add note about endianness in grub-mkimage.
43671 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43672 section.
43673 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43674 (grub_mkimage_SOURCES): New target.
43675 * include/grub/kernel.h (grub_start_addr): Remove variable.
43676 (grub_end_addr): Likewise.
43677 (grub_total_module_size): Likewise.
43678 (grub_kernel_image_size): Likewise.
43679 (GRUB_MODULE_MAGIC): New constant.
43680 (grub_module_info): New structure.
43681 (grub_arch_modules_addr): New prototype.
43682 (grub_get_end_addr): Remove prototype.
43683 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43684 * include/grub/powerpc/ieee1275/kernel.h: New file.
43685 * include/grub/util/misc.h (grub_util_get_fp_size): New
43686 prototype.
43687 (grub_util_read_at): Likewise.
43688 (grub_util_write_image_at): Likewise.
43689 * kern/main.c (grub_get_end_addr): Remove function.
43690 (grub_load_modules): Call grub_arch_modules_addr instead of using
43691 grub_end_addr. Look for a grub_module_info struct in memory. Use
43692 the grub_module_info fields instead of calling grub_get_end_addr
43693 as loop conditions. Move grub_add_unused_region code here.
43694 (grub_add_unused_region): Remove function.
43695 * kern/i386/pc/init.c: Include grub/cache.h.
43696 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43697 one call to add_mem_region.
43698 (grub_arch_modules_addr): New function.
43699 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43700 (grub_total_module_size): Likewise.
43701 Include grub/machine/kernel.h.
43702 (grub_arch_modules_addr): New function.
43703 * util/grub-emu.c (grub_end_addr): Remove variable.
43704 (grub_total_module_size): Likewise.
43705 (grub_arch_modules_addr): New function.
43706 * util/misc.c: Include unistd.h.
43707 (grub_util_get_fp_size): New function.
43708 (grub_util_read_at): Likewise.
43709 (grub_util_write_image_at): Likewise.
43710 (grub_util_read_image): Call grub_util_read_at.
43711 (grub_util_write_image): Call grub_util_write_image_at.
43712 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43713 additional memory in kernel_img for a struct grub_module_info.
43714 Fill in that grub_module_info.
43715 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43716
458786f8 437172005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43718
43719 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43720 New function.
43721 * include/grub/powerpc/ieee1275/ieee1275.h
43722 (grub_ieee1275_milliseconds): New prototype.
43723 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43724 Change to 1000.
43725 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43726 grub_ieee1275_milliseconds.
43727
ac507d1b 437282005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43729
43730 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43731 variable.
43732 (find_options): New function.
43733 (cmain): Call find_options.
43734 * include/grub/powerpc/ieee1275/ieee1275.h
43735 (grub_ieee1275_realmode): New extern variable.
43736 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43737 grub_map if grub_ieee1275_realmode is false.
43738
6b8fd1c4 437392004-12-29 Marco Gerards <metgerards@student.han.nl>
43740
43741 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43742 lines are inserted and make it work like readline. Reported by
43743 Vincent Pelletier <subdino2004@yahoo.fr>.
43744
8514a1e0 437452004-12-28 Marco Gerards <metgerards@student.han.nl>
43746
43747 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43748
43749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43750 `kern/powerpc/cache.S'.
43751
924b6140 437522004-12-27 Marco Gerards <metgerards@student.han.nl>
43753
43754 * genmk.rb: Handle the `Program' class in the main loop. Written
43755 by Johan Rydberg <jrydberg@gnu.org>.
43756 (Program): New class.
43757 (programs): New variable.
43758 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43759 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43760 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43761 (help_arch): Function removed.
43762 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43763 `powerpc/libgcc.h' and `loader.h'.
43764 (pkgdata_PROGRAMS): New variable.
43765 (sbin_UTILITIES): Variable removed.
43766 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43767 (grubof_SOURCES): Variable re-defined so it only includes the
43768 core functionality.
43769 (grubof_CFLAGS): Remove `-DGRUBOF'.
43770 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43771 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43772 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43773 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43774 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43775 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43776 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43777 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43778 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43779 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43780 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43781 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43782 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43783 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43784 (pc_mod_CFLAGS): New variables.
43785 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43786 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43787 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43788 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43789 Moved from here...
43790 * include/grub/i386/pc/init.h (grub_os_area_addr)
43791 (rub_os_area_size): ... to here.
43792 * include/grub/powerpc/ieee1275/ieee1275.h
43793 (grub_ieee1275_entry_fn): Export symbol.
43794 * include/grub/powerpc/ieee1275/init.h: New file.
43795 * include/grub/powerpc/libgcc.h: Likewise.
43796 * include/grub/cache.h: Likewise.
43797 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43798 <hollis@penguinppc.org>.
43799 * kern/dl.c: Include <grub/cache.h>.
43800 (grub_dl_flush_cache): New function.
43801 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43802 for this module.
43803 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43804 (grub_console_init): Removed prototypes.
43805 (grub_machine_init): Don't initialize the modules anymore.
43806 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43807 static.
43808 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43809 Macro undef removed.
43810 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43811 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43812 relocation `R_PPC_REL32'. Return an error when the relocation is
43813 unknown.
43814 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43815 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43816 * util/misc.c (grub_arch_sync_caches): Likewise.
43817
e4b47e0c 438182004-12-19 Marco Gerards <metgerards@student.han.nl>
43819
43820 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43821 `symlist.c', add `grubof_symlist.c'.
43822 (symlist.c): Variable removed.
43823 (grubof_HEADERS): Variable added.
43824 (grubof_symlist.c): New target.
43825 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43826 `kernel_img_HEADERS'.
43827 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43828 * kern/powerpc/dl.c: New file.
43829 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43830 Function removed.
43831 (grub_arch_dl_relocate_symbols): Likewise.
43832 (grub_register_exported_symbols): Likewise.
43833
4ceb3636 438342004-12-13 Marco Gerards <metgerards@student.han.nl>
43835
43836 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43837 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43838 to fail instead. Reported by Vincent Pelletier
43839 <subdino2004@yahoo.fr>.
43840
43841 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43842 it is not allocated. Reported by Vincent Pelletier
43843 <subdino2004@yahoo.fr>.
43844
43845 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43846 output so the output looks better.
f19dbdb7 43847
3f1578fe 438482004-12-04 Marco Gerards <metgerards@student.han.nl>
43849
43850 Modulize the partition map support and add support for the amiga
43851 partition map.
f19dbdb7 43852
3f1578fe 43853 * commands/ls.c: Include <grub/partition.h> instead of
43854 <grub/machine/partition.h>.
43855 * kern/disk.c: Likewise.
43856 * kern/rescue.c: Likewise.
43857 * loader/i386/pc/chainloader.c: Likewise.
43858 * normal/cmdline.c: Likewise.
43859 * kern/powerpc/ieee1275/init.c: Likewise.
43860 (grub_machine_init): Call `grub_pc_partition_map_init',
43861 `grub_amiga_partition_map_init' and
43862 `grub_apple_partition_map_init'.
43863 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43864 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43865 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43866 `partition.h' and `pc_partition.h'.
43867 (grub_setup_SOURCES): Remove
43868 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43869 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43870 (grub_emu_SOURCES): Likewise.
43871 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43872 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43873 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43875 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43876 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43877 (grubof_SOURCES): Likewise.
43878 * disk/i386/pc/partition.c: File removed.
43879 * disk/powerpc/ieee1275/partition.c: Likewise.
43880 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43881 * include/grub/i386/pc/partition.h: Likewise.
43882 * kern/partition.c: New file.
43883 * partmap/amiga.c: Likewise.
43884 * partmap/apple.c: Likewise.
43885 * partmap/pc.c: Likewise.
43886 * include/grub/partition.h: Likewise..
43887 * include/grub/pc_partition.h: Likewise.
43888 * util/grub-emu.c: Include <grub/partition.h> instead of
43889 <grub/machine/partition.h>.
43890 (main): Call `grub_pc_partition_map_init',
43891 `grub_amiga_partition_map_init' and
43892 `grub_apple_partition_map_init' and deinitialize afterwards.
43893 * util/i386/pc/biosdisk.c: Include `#include
43894 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43895 `<grub/machine/partition.h>'.
43896 * util/i386/pc/grub-setup.c: Likewise.
43897 * util/i386/pc/biosdisk.c: Likewise.
43898 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43899 partition information in case of a PC partition.
43900 * util/i386/pc/grub-setup.c: Include `#include
43901 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43902 `<grub/machine/partition.h>'.
43903 (setup): Only access the PC specific partition information in case
43904 of a PC partition.
43905
0ef4ced9 439062004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43907
0ef4ced9 43908 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43909 (grub_longjmp): Likewise.
43910 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43911 20.
43912 * normal/powerpc/setjmp.S: New file.
43913 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43914 `normal/powerpc/setjmp.S'.
43915 (grubof_CFLAGS): Add `-DGRUBOF'.
43916 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43917 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43918
19950e29 439192004-11-16 Marco Gerards <metgerards@student.han.nl>
43920
43921 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43922 property named `name'. Correctly handle the error returned by
43923 `grub_ieee1275_finddevice' if a device can not be opened.
43924
a2fea427 439252004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43926
43927 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43928 `actual' for negativity.
43929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43930 kern/fshelp.c.
43931
41ea0ea3 439322004-11-01 Marco Gerards <metgerards@student.han.nl>
43933
43934 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43935 (PAGE_OFFSET): New macro.
43936 (CRTC_ADDR_PORT): Likewise.
43937 (CRTC_DATA_PORT): Likewise.
43938 (START_ADDR_HIGH_REGISTER): Likewise.
43939 (START_ADDR_LOW_REGISTER): Likewise.
43940 (GRAPHICS_ADDR_PORT): Likewise.
43941 (GRAPHICS_DATA_PORT): Likewise.
43942 (READ_MAP_REGISTER): Likewise.
43943 (INPUT_STATUS1_REGISTER): Likewise.
43944 (INPUT_STATUS1_VERTR_BIT): Likewise.
43945 (page): New variable.
43946 (wait_vretrace): New function.
43947 (set_read_map): Likewise.
43948 (set_start_address): Likewise.
43949 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43950 the right page.
43951 (check_vga_mem): Take the page into account.
43952 (write_char): Likewise.
43953 (write_cursor): Likewise.
43954 (scroll_up): Likewise. Copy the page to the page that is not
43955 shown and switch between both pages.
43956 (grub_vga_putchar): Fix off by one error.
43957 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43958 account.
43959
ad0bd20b 439602004-11-01 Marco Gerards <metgerards@student.han.nl>
43961
43962 Add support for iso9660 (including rockridge).
f19dbdb7 43963
ad0bd20b 43964 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43965 (iso9660_mod_SOURCES): New variable.
43966 (iso9660_mod_CFLAGS): Likewise.
43967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43968 * include/grub/fs.h (grub_iso9660_init): New prototype.
43969 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43970 * fs/iso9660.c: New file.
43971
43972 * include/grub/misc.h (grub_strncat): New prototype.
43973 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43974
ad0bd20b 43975 * fs/hfs.c (grub_hfs_mount): Translate the error
43976 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43977 * fs/jfs.c (grub_jfs_mount): Likewise.
43978 * fs/ufs.c (grub_ufs_mount): Likewise.
43979
a5477a59 439802004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43981
43982 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43983 which initialized BAT registers.
43984 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43985 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43986 Move from here...
43987 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43988 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43989 ... to here.
43990 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43991 (grub_mapclaim): Likewise.
43992 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43993 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43994 hand.
43995
9304c1f8 439962004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43997
43998 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43999 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44000 -ffreestanding and -msoft-float.
44001
86f4ae25 440022004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44003
44004 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44005 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44006 set in grub_ieee1275_flags.
44007
38912228 440082004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44009
44010 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44011 prototype.
44012 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44013 grub_console_init first.
44014 Change the memory range used for grub_ieee1275_claim and
44015 grub_mm_init_region.
44016 Print an error message if the claim fails.
44017 Include <grub/misc.h>.
44018
d1923dc8 440192004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44020
44021 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44022 Call grub_children_iterate for device nodes of type `scsi',
44023 `ide', or `ata'.
44024 (grub_ofdisk_open): Remove manual device alias resolution.
44025 Fix memory leak when device cannot be opened.
f19dbdb7 44026 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 44027 (grub_children_iterate): New prototype.
44028 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44029 New function.
44030 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44031 Return -1 if args.size was -1.
44032
4512e4f3 440332004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44034
44035 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44036 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44037 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44038 Open Firmware's memory for it; claim memory from _start to _end.
44039 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44040 (_end): New extern.
44041 (_start): Zero BSS from __bss_start to _end.
44042 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44043 New extern.
44044 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44045
4d61feb0 440462004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44047
ad0bd20b 44048 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44049 -1 if args.base was -1.
4d61feb0 44050
026fa2f9 440512004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44052
44053 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44054 escape sequence instead of a literal ^L. Also call
44055 grub_ofconsole_gotoxy.
44056
9f2220ef 440572004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44058
44059 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44060 void * arguments to grub_addr_t. All callers updated. Also make
44061 the `result' argument optional.
44062 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44063 All callers updated.
44064
8a572cd7 440652004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44066
44067 * commands/ls.c (grub_ls_list_files): Use the string following the
44068 initial ')', if present, as the filesystem path.
44069 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44070
44071 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44072
18aa81f2 440732004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44074
44075 Make the source code of the menu interface more readable.
f19dbdb7 44076
18aa81f2 44077 * normal/menu.c: Include grub/mm.h.
44078 (TERM_WIDTH): New macro.
44079 (TERM_HEIGHT): Likewise.
44080 (TERM_INFO_HEIGHT): Likewise.
44081 (TERM_MARGIN): Likewise.
44082 (TERM_SCROLL_WIDTH): Likewise.
44083 (TERM_TOP_BORDER_Y): Likewise.
44084 (TERM_LEFT_BORDER_X): Likewise.
44085 (TERM_BORDER_WIDTH): Likewise.
44086 (TERM_MESSAGE_HEIGHT): Likewise.
44087 (TERM_BORDER_HEIGHT): Likewise.
44088 (TERM_NUM_ENTRIES): Likewise.
44089 (TERM_FIRST_ENTRY_Y): Likewise.
44090 (TERM_ENTRY_WIDTH): Likewise.
44091 (TERM_CURSOR_X): Likewise.
44092 (draw_border): Use macros instead of magic numbers.
44093 (print_entry): Likewise.
44094 (print_entries): Likewise.
44095 (run_menu): Likewise. Also, handle the key 'e'.
44096 (run_menu_entry): Ignore empty command lines.
44097 (print_message): Added a new argument EDIT. If EDIT is true,
44098 print a different message.
44099 (init_page): Likewise.
44100 (edit_menu_entry): New function. Not implemented yet.
44101
b47efe30 441022004-09-17 Marco Gerards <metgerards@student.han.nl>
44103
44104 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44105 can be loaded from normal mode.
f19dbdb7 44106
b47efe30 44107 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44108 `multiboot.mod'.
44109 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44110 (multiboot_mod_CFLAGS): New variables.
44111 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 44112 * loader/i386/pc/multiboot_normal.c: Likewise.
44113
b47efe30 44114 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44115 attribute `unused'.
f19dbdb7 44116
b47efe30 44117 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44118 `fdiro' to read the mode information from instead of `diro'.
44119
44120 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44121 looking up a symlink.
44122
44123 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44124 macro.
44125 * normal/command.c (grub_command_execute): Don't parse the
44126 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44127 flags of the command.
44128
44129 * normal/menu.c (grub_menu_run): Fix typo.
44130
da75ac71 441312004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44132
44133 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44134
44135 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44136 `y + 1' instead of `y - 1'.
44137
44138 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 44139
062b24c2 441402004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44141
44142 From Hollis Blanchard <hollis@penguinppc.org>:
44143 * kern/misc.c (memmove): New alias for grub_memmove.
44144 (memcmp): New alias for grub_memcmp.
44145 (memset): New alias for grub_memset.
f19dbdb7 44146 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 44147 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 44148 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 44149 (grub_ieee1275_get_property): Likewise.
f19dbdb7 44150
8ddad845 441512004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44152
44153 Added normal mode command `chainloader' as module chain.mod, which
44154 depends on normal.mod and _chain.mod.
f19dbdb7 44155
8ddad845 44156 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44157 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44158 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44159 Deleted prototype.
44160 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44161 but arguments parsing moved to ...
44162 (grub_chainloader_cmd): ... here. New function.
44163 * include/grub/i386/pc/chainloader.h: New file.
44164 * loader/i386/pc/chainloader_normal.c: Likewise.
44165
2c1f4ce3 441662004-09-11 Marco Gerards <metgerards@student.han.nl>
44167
44168 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44169 (grub_mkimage_LDFLAGS): Likewise.
44170 (grub_emu_SOURCES): Likewise.
44171 (kernel_img_HEADERS): Added fshelp.h.
44172 * fs/ext2.c: Include <grub/fshelp.h>.
44173 (FILETYPE_REG): New macro.
44174 (FILETYPE_INO_REG): Likewise.
44175 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44176 Changed all users.
44177 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44178 all users.
44179 (grub_fshelp_node): New struct.
44180 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44181 to a pointer.
44182 (grub_ext2_get_file_block): Removed function.
44183 (grub_ext2_read_block): New function.
44184 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44185 This function was written.
44186 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44187 (grub_ext2_find_file): Removed function.
44188 (grub_ext2_read_symlink): New function.
44189 (grub_ext2_iterate_dir): Likewise.
44190 (grub_ext2_open): Rewritten.
44191 (grub_ext2_dir): Rewritten.
44192 * include/grub/fshelp.h: New file.
44193 * fs/fshelp.c: Likewise.
44194
3c52136a 441952004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44196
44197 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44198 (print_message): Add a missing newline.
44199 (run_menu): Added timeout support.
44200 (run_menu_entry): New local function.
44201 (grub_menu_run): Added support for booting.
44202
44203 * kern/loader.c (grub_loader_is_loaded): New function.
44204
44205 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44206 (grub_get_rtc): Exported.
44207
44208 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44209 (grub_get_rtc): Exported.
44210
44211 * include/grub/normal.h (struct grub_command_list): Remove
44212 constant from the member `command'.
44213
44214 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44215
44216 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44217
44218 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44219
aa033560 442202004-08-28 Marco Gerards <metgerards@student.han.nl>
44221
44222 Add support for the JFS filesystem.
44223
44224 * fs/jfs.c: New file.
44225 * include/grub/fs.h (grub_jfs_init): New prototype.
44226 (grub_jfs_fini): New prototype.
44227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
44228 (grub_emu_SOURCES): Likewise.
44229 (pkgdata_MODULES): Add jfs.mod.
44230 (jfs_mod_SOURCES): New variable.
44231 (jfs_mod_CFLAGS): Likewise.
44232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
44233 (grubof_SOURCES): Likewise.
44234 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
44235
44236 * fs/fat.c (grub_fat_find_dir): Convert the filename little
44237 endian to the host endian.
44238 (grub_fat_utf16_to_utf8): Move function from there...
44239 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 44240 the endianness of the source string anymore.
aa033560 44241 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
44242
94bc45af 442432004-08-24 Marco Gerards <metgerards@student.han.nl>
44244
44245 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
44246 (grub_boot_fini) [GRUB_UTIL]: Likewise.
44247 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
44248 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 44249
94bc45af 44250 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
44251 (grub_hfs_iterate_dir): Make the function static. Add prototypes
44252 for `node_found' and `it_dir'.
44253 (grub_hfs_dir): Add prototype for `dir_hook'.
44254
44255 * fs/minix.c (grub_minix_get_file_block): Add prototype for
44256 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
44257 and `indir32' to silence a gcc warning.
44258
44259 * include/grub/fs.h (grub_hfs_init): New prototype.
44260 (grub_hfs_fini): Likewise.
f19dbdb7 44261
44262
97543f08 442632004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44264
44265 Each disk device has its own id now. This is useful to make use
44266 of multiple disk devices.
f19dbdb7 44267
97543f08 44268 * include/grub/disk.h (grub_disk_dev_id): New enum.
44269 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
44270 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
44271
44272 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
44273 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44274
44275 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
44276 GRUB_DISK_DEVICE_OFDISK_ID as an id.
44277
44278 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
44279 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44280
44281 * include/grub/disk.h (struct grub_disk_dev): Added a new member
44282 "id" which is used by the cache manager.
44283
44284 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
44285 of just "GRUB".
44286
64372eb4 442872004-08-18 Marco Gerards <metgerards@student.han.nl>
44288
44289 * fs/hfs.c: New file.
44290 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
44291 (grub_emu_SOURCES): Likewise.
44292 (pkgdata_MODULES): Add hfs.mod.
44293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
44294 (grubof_SOURCES): Likewise.
44295 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
44296
44297 * include/grub/misc.h (grub_strncasecmp): Add prototype.
44298 * kern/misc.c (grub_strncasecmp): Add function.
44299
cc61b58f 443002004-08-14 Marco Gerards <metgerards@student.han.nl>
44301
44302 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
44303 with parentheses.
44304
44305 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
44306 (grub_ext2_dir): In case the directory entry type is unknown, read
44307 it from the inode.
44308
0ef123f6 443092004-08-02 Peter Bruin <pjbruin@dds.nl>
44310
44311 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
44312 grub_load_linux instead of grub_rescue_cmd_linux as second
44313 argument of grub_rescue_register_command.
44314
44315 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
44316
a447c5df 443172004-07-27 Marco Gerards <metgerards@student.han.nl>
44318
44319 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
44320 function.
44321 * commands/boot.c: Remove the check for `GRUB_UTIL'.
44322 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44323 `loader/powerpc/ieee1275/linux.c',
44324 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
44325 * include/grub/powerpc/ieee1275/ieee1275.h
44326 (grub_ieee1275_release): New prototype.
44327 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
44328 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
44329 normal, boot, linux and linux_normal.
44330 * loader/powerpc/ieee1275/linux.c: New file.
44331 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44332
5a9e3546 443332004-07-12 Marco Gerards <metgerards@student.han.nl>
44334
44335 * normal/arg.c (grub_arg_parse): Correct error handling after
44336 reallocating the argumentlist (check if `argl' is not null instead
44337 of checking if `args' is not null).
44338 * kern/mm.c (grub_realloc): Return the same pointer when using the
44339 same region, instead of returning the header address.
44340
e15199cb 443412004-07-11 Marco Gerards <metgerards@student.han.nl>
44342
44343 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
44344 one block instead of two when looking for the initial partition.
44345 (grub_partition_probe): Initialize the local variable `p' with 0.
44346 Use base 10 for the grub_strtoul call.
44347 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
44348 need for one local variable.
44349 (grub_strtoul): Don't add the new value to `num', instead of that
44350 just assign it.
44351
020616c2 443522004-07-11 Marco Gerards <metgerards@student.han.nl>
44353
44354 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
44355 (pxeboot_img_SOURCES): New variable.
44356 (pxeboot_img_ASFLAGS): Likewise.
44357 (pxeboot_img_LDFLAGS): Likewise.
44358 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
44359 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
44360 <lode_leroy@hotmail.com>.
44361
6c51eb64 443622004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44363
44364 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
44365 there was no input.
44366
cfb12aff 443672004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44368
44369 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
44370 the history buffer logic.
44371
6eabba74 443722004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44373
44374 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
44375 (FILETYPE_INO_SYMLINK): New macros.
44376 (grub_ext2_find_file): Check if the node is a directory using the
44377 inode stat information instead of using the filetype in the
44378 dirent. Exclude the first character of an absolute symlink.
44379 (grub_ext2_dir): Mask out the filetype part of the mode member of
44380 the inode.
44381
66e19ef8 443822004-05-24 Marco Gerards <metgerards@student.han.nl>
44383
44384 Add support for UFS version 1 and 2. Add support for the minix
44385 filesystem version 1 and 2, both the variants with 14 and 30 long
44386 filenames.
f19dbdb7 44387
66e19ef8 44388 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
44389 fs/minix.c.
44390 (grub_emu_SOURCES): Likewise.
44391 (pkgdata_MODULES): Add ufs.mod and minix.mod.
44392 (ufs_mod_SOURCES): New variable.
44393 (ufs_mod_CFLAGS): Likewise.
44394 (minix_mod_SOURCES): Likewise.
44395 (minix_mod_CFLAGS): Likewise.
44396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
44397 fs/minix.c.
44398 (grubof_SOURCES): Likewise.
44399 * fs/ufs.c: New file.
44400 * fs/minix.c: New file.
44401 * include/grub/fs.h (grub_ufs_init): New prototype.
44402 (grub_ufs_fini): Likewise.
44403 (grub_minix_init): Likewise.
44404 (grub_minix_fini): Likewise.
44405 * util/grub-emu.c (main): Initialize and deinitialize UFS and
44406 minix fs.
44407
cc2e748a 444082004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
44409
44410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
44411 commands/ls.c, commands/terminal.c, commands/boot.c,
44412 commands/cmp.c and commands/cat.c.
44413 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
44414
44415 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
44416 "env.h"
44417
4b13b216 444182004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44419
44420 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
44421 and grub_, respectively. Because the conversion is trivial and
44422 mechanical, I omit the details here. Please refer to the CVS
44423 if you need more information.
44424
6a142551 444252004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44426
44427 * include/pupa: Renamed to ...
44428 * include/grub: ... this.
44429 * util/i386/pc/pupa-mkimage.c: Renamed to ...
44430 * util/i386/pc/grub-mkimage.c: ... this.
44431 * util/i386/pc/pupa-setup.c: Renamed to ...
44432 * util/i386/pc/grub-setup.c: ... this.
44433 * util/pupa-emu.c: Renamed to ...
44434 * util/grub-emu.c: ... this.
44435
e56cdf21 444362004-03-29 Marco Gerards <metgerards@student.han.nl>
44437
44438 Add support for the newworld apple macintosh (PPC). This has been
44439 tested on the powerbook 2000 only. It only adds support for
44440 generic ieee1275 functions, console and disk support. This should
44441 be easy to port to other architectures with support for Open
44442 Firmware.
f19dbdb7 44443
e56cdf21 44444 * configure.ac: Accept the powerpc as host_cpu. In the case of
44445 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
44446 specific tests are only executed while building for the i386.
44447 Inverse test for crosscompile.
44448 * genmk.rb (Utility): Allow assembler files.
44449 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
44450 * conf/powerpc-ieee1275.rmk: New file.
44451 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
44452 * disk/powerpc/ieee1275/partition.c: Likewise.
44453 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
44454 * include/pupa/powerpc/ieee1275/console.h: Likewise.
44455 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
44456 * include/pupa/powerpc/ieee1275/time.h: Likewise.
44457 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
44458 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
44459 * include/pupa/powerpc/ieee1275/loader.h
44460 * include/pupa/powerpc/setjmp.h: Likewise.
44461 * include/pupa/powerpc/types.h: Likewise.
44462 * kern/powerpc/ieee1275/init.c: Likewise.
44463 * kern/powerpc/ieee1275/openfw.c: Likewise.
44464 * term/powerpc/ieee1275/ofconsole.c: Likewise.
44465
44466 These files were written by Johan Rydberg
44467 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 44468
e56cdf21 44469 * boot/powerpc/ieee1275/cmain.c: New file.
44470 * boot/powerpc/ieee1275/crt0.S: Likewise.
44471 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
44472 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
44473
8c8cc205 444742004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
44475
44476 * Makefile.in: Update copyright.
44477 * genmodsrc.sh: Likewise.
44478 * gensymlist.sh: Likewise.
44479 * term/i386/pc/vga.c: Indent correctly.
44480
44481 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
44482 bugreporting address.
44483 * util/i386/pc/pupa-setup.c (usage): Likewise,
44484 (main): Call pupa_ext2_init and pupa_ext2_fini.
44485
f19dbdb7 44486 * fs/fat.c (log2): Renamed to ...
8c8cc205 44487 (fat_log2): ... this.
44488 All callers changed.
44489 * kern/misc.c (memcpy): Alias to pupa_memmove.
44490 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
44491 lvalue cast.
44492 * util/console.c (pupa_ncurses_fini): Return 0.
44493
44494 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
44495 Move fail label here.
44496 [__GNU__]: Don't warn when using stat.
44497 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
44498 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
44499 long int. Use strtol instead of strtoul.
f19dbdb7 44500
db1771cf 445012004-03-14 Marco Gerards <metgerards@student.han.nl>
44502
44503 * commands/boot.c: New file.
44504 * commands/cat.c: Likewise.
44505 * commands/cmp.c: Likewise.
44506 * commands/ls.c: Likewise.
44507 * commands/terminal.c: Likewise.
44508 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
44509 (pupa_register_command): Changed interface to match the new
44510 argument parser.
44511 (pupa_command_execute): Changed (almost rewritten) so it uses
44512 pupa_split_command. Added support for setting variables using the
44513 syntax `foo=bar'.
44514 (rescue_command): Changed to work with the new argument parser.
44515 (terminal_command): Moved from here to commands/terminal.c.
44516 (set_command): New function.
44517 (unset_command): New function.
44518 (insmod_command): New function.
44519 (rmmod_command): New function.
44520 (lsmod_command): New function.
44521 (pupa_command_init): Don't initialize the command terminal
44522 anymore. Initialize the commands set, unset, insmod, rmmod and
44523 lsmod.
44524 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
44525 (kernel_img_HEADERS): Add arg.h and env.h.
44526 (pupa_mkimage_LDFLAGS): Add kern/env.c.
44527 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
44528 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
44529 normal/arg.c.
44530 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
44531 terminal.mod.
44532 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
44533 (boot_mod_SOURCES): New variable.
44534 (terminal_mod_SOURCES): Likewise.
44535 (ls_mod_SOURCES): Likewise.
44536 (cmp_mod_SOURCES): Likewise.
44537 (cat_mod_SOURCES): Likewise.
44538
44539 * normal/arg.c: New file.
44540 * kern/env.c: Likewise.
44541 * include/pupa/arg.h: Likewise.
44542 * include/pupa/env.h: Likewise.
44543 * font/manager.c (font_command): Changed to match argument parsing
44544 interface changes.
44545 (PUPA_MOD_INIT): Likewise.
44546 * hello/hello.c (pupa_cmd_hello): Likewise.
44547 (PUPA_MOD_INIT): Likewise.
44548 * include/pupa/disk.h: Include <pupa/device.h>.
44549 (pupa_print_partinfo): New prototype.
44550 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
44551 (pupa_dl_get_prefix): Likewise.
44552 * include/pupa/misc.h: Include <pupa/err.h>.
44553 (pupa_isgraph): New prototype.
44554 (pupa_isdigit): Likewise.
44555 (pupa_split_cmdline): Likewise.
44556 * include/pupa/normal.h: Include <pupa/arg.h>.
44557 (pupa_command): Changed the prototype of the member `func' to
44558 match the argument parsing interface. Added member `options'.
44559 (pupa_register_command): Updated to match function.
44560 (pupa_arg_parse): New prototype.
44561 (pupa_hello_init) [PUPA_UTIL]: New prototype.
44562 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
44563 (pupa_ls_init) [PUPA_UTIL]: Likewise.
44564 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
44565 (pupa_cat_init) [PUPA_UTIL]: Likewise.
44566 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
44567 (pupa_boot_init) [PUPA_UTIL]: Likewise.
44568 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
44569 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
44570 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
44571 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
44572 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
44573 * kern/disk.c: Include <pupa/file.h>.
44574 (pupa_print_partinfo): New function.
44575 * kern/dl.c: Include <pupa/env.h>.
44576 (pupa_dl_dir): Variable removed.
44577 (pupa_dl_load): Use the environment variable `prefix' instead of
44578 the variable pupa_dl_dir.
44579 (pupa_dl_set_prefix): Function removed.
44580 (pupa_dl_get_prefix): Likewise.
44581 * kern/i386/pc/init.c: Include <pupa/env.h>.
44582 (pupa_machine_init): Use the environment variable `prefix' instead of
44583 using pupa_dl_set_prefix to set the prefix.
44584 * kern/main.c: Include <pupa/env.h>.
44585 (pupa_set_root_dev): Use the environment variable `prefix' instead of
44586 using pupa_dl_get_prefix to get the prefix.
44587 * kern/misc.c: Include <pupa/env.h>.
44588 (pupa_isdigit): New function.
44589 (pupa_isgraph): Likewise.
44590 (pupa_ftoa): Likewise.
44591 (pupa_vsprintf): Added support for printing values of the type
44592 `double'. Make it possible to format variable output when using
44593 formatting like `%1.2%f'.
44594 (pupa_split_cmdline): New function.
44595 * kern/rescue.c: Include <pupa/env.h>.
44596 (next_word): Removed function.
44597 (pupa_rescue_cmd_prefix): Likewise.
44598 (pupa_rescue_cmd_set): New function.
44599 (pupa_rescue_cmd_unset): New function.
44600 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44601 split the command line instead of splitting it here. Added
44602 support for setting variables using the syntax `foo=bar'. Don't
44603 initialize the prefix command anymore. Initialized the set and
44604 unset commands.
44605 * normal/cmdline.c: Include <pupa/env.h>.
44606 (pupa_tab_complete): Added prototypes for print_simple_completion,
44607 print_partition_completion, add_completion, iterate_commands,
44608 iterate_dev, iterate_part and iterate_dir. Moved code to print
44609 partition information from here to kern/disk.c.
fe6b695a 44610 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44611 * normal/main.c: Include <pupa/env.h>.
44612 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44613 instead of using pupa_dl_get_prefix to get the prefix.
44614 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44615 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44616 warning.
44617 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44618 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44619 ((unused))' to silence a gcc warning.
44620 (pupa_vga_setcolor): Likewise.
44621 (debug_command): Changed to match argument parsing
44622 interface changes.
44623 * util/pupa-emu.c: Include <pupa/env.h>.
44624 (options): Added 0's for unused fields to silence a gcc warning.
44625 (argp): Likewise.
44626 (main): Use the environment variable `prefix' instead of using
44627 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44628 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44629 and terminal.
44630
44631 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44632 * util/misc.c: Include <malloc.h>.
44633 (pupa_malloc): Rewritten so errors are correctly reported.
44634 (pupa_realloc): Likewise.
44635 (pupa_memalign): Likewise.
44636 (pupa_mm_init_region): Declare unused variables with
44637 `__attribute__ ((unused))' to silence a gcc warning.
44638 * normal/i386/setjmp.S: Remove tab at the end of the file to
44639 silence a gcc warning.
44640 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44641 variables with `__attribute__ ((unused))' to silence a gcc
44642 warning.
44643 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44644 local variable i unsigned to silence a gcc warning.
44645
44646 * kern/term.c: Include <pupa/misc.h>.
44647 (pupa_more_lines): New variable.
44648 (pupa_more): Likewise.
44649 (pupa_putcode): When the pager is active pause at the end of every
44650 screen.
44651 (pupa_set_more): New function.
44652 * include/pupa/term.h (pupa_set_more): New prototype.
44653
44654
3b1139cb 446552004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44656
44657 Now this project is GRUB 2 rather than PUPA. The location of
44658 the CVS repository was moved to GRUB's.
f19dbdb7 44659
3b1139cb 44660 * configure.ac: Use bug-grub as the reporting address.
44661 Use GRUB instead of PUPA.
44662 Change the version number to 1.90.
44663
8367695c 446642004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44665
44666 * genkernsyms.sh: Updated copyright information.
44667 * genmk.rb: Likewise.
44668 * genmodsrc.sh: Likewise.
44669 * gensymlist.sh: Likewise.
44670 * boot/i386/pc/boot.S: Likewise.
44671 * boot/i386/pc/diskboot.S: Likewise.
44672 * disk/i386/pc/biosdisk.c: Likewise.
44673 * disk/i386/pc/partition.c: Likewise.
44674 * font/manager.c: Likewise.
44675 * fs/ext2.c: Likewise.
44676 * fs/fat.c: Likewise.
44677 * include/pupa/boot.h: Likewise.
44678 * include/pupa/device.h: Likewise.
44679 * include/pupa/disk.h: Likewise.
44680 * include/pupa/dl.h: Likewise.
44681 * include/pupa/elf.h: Likewise.
44682 * include/pupa/err.h: Likewise.
44683 * include/pupa/file.h: Likewise.
44684 * include/pupa/font.h: Likewise.
44685 * include/pupa/fs.h: Likewise.
44686 * include/pupa/kernel.h: Likewise.
44687 * include/pupa/loader.h: Likewise.
44688 * include/pupa/misc.h: Likewise.
44689 * include/pupa/mm.h: Likewise.
44690 * include/pupa/net.h: Likewise.
44691 * include/pupa/normal.h: Likewise.
44692 * include/pupa/rescue.h: Likewise.
44693 * include/pupa/setjmp.h: Likewise.
44694 * include/pupa/symbol.h: Likewise.
44695 * include/pupa/term.h: Likewise.
44696 * include/pupa/types.h: Likewise.
44697 * include/pupa/i386/setjmp.h: Likewise.
44698 * include/pupa/i386/types.h: Likewise.
44699 * include/pupa/i386/pc/biosdisk.h: Likewise.
44700 * include/pupa/i386/pc/boot.h: Likewise.
44701 * include/pupa/i386/pc/console.h: Likewise.
44702 * include/pupa/i386/pc/init.h: Likewise.
44703 * include/pupa/i386/pc/kernel.h: Likewise.
44704 * include/pupa/i386/pc/linux.h: Likewise.
44705 * include/pupa/i386/pc/loader.h: Likewise.
44706 * include/pupa/i386/pc/memory.h: Likewise.
44707 * include/pupa/i386/pc/multiboot.h: Likewise.
44708 * include/pupa/i386/pc/partition.h: Likewise.
44709 * include/pupa/i386/pc/time.h: Likewise.
44710 * include/pupa/i386/pc/vga.h: Likewise.
44711 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44712 * include/pupa/util/getroot.h: Likewise.
44713 * include/pupa/util/misc.h: Likewise.
44714 * include/pupa/util/resolve.h: Likewise.
44715 * kern/device.c: Likewise.
44716 * kern/disk.c: Likewise.
44717 * kern/dl.c: Likewise.
44718 * kern/err.c: Likewise.
44719 * kern/file.c: Likewise.
44720 * kern/fs.c: Likewise.
44721 * kern/loader.c: Likewise.
44722 * kern/main.c: Likewise.
44723 * kern/misc.c: Likewise.
44724 * kern/mm.c: Likewise.
44725 * kern/rescue.c: Likewise.
44726 * kern/term.c: Likewise.
44727 * kern/i386/dl.c: Likewise.
44728 * kern/i386/pc/init.c: Likewise.
44729 * kern/i386/pc/lzo1x.S: Likewise.
44730 * kern/i386/pc/startup.S: Likewise.
44731 * loader/i386/pc/chainloader.c: Likewise.
44732 * loader/i386/pc/linux.c: Likewise.
44733 * loader/i386/pc/multiboot.c: Likewise.
44734 * normal/cmdline.c: Likewise.
44735 * normal/command.c: Likewise.
44736 * normal/main.c: Likewise.
44737 * normal/menu.c: Likewise.
44738 * normal/i386/setjmp.S: Likewise.
44739 * term/i386/pc/console.c: Likewise.
44740 * term/i386/pc/vga.c: Likewise.
44741 * util/console.c: Likewise.
44742 * util/genmoddep.c: Likewise.
44743 * util/misc.c: Likewise.
44744 * util/pupa-emu.c: Likewise.
44745 * util/resolve.c: Likewise.
44746 * util/unifont2pff.rb: Likewise.
44747 * util/i386/pc/biosdisk.c: Likewise.
44748 * util/i386/pc/getroot.c: Likewise.
44749 * util/i386/pc/pupa-mkimage.c: Likewise.
44750 * util/i386/pc/pupa-setup.c: Likewise.
44751
e6eced71 447522004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44753
44754 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44755 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44756 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44757 reading and reset it after reading.
44758 (pupa_ext2_close): Return PUPA_ERR_NONE.
44759
44760 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44761 Correct value.
44762 (struct linux_kernel_header): Add kernel_version and
44763 initrd_addr_max.
44764 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44765 pupa_file_read succeeds.
44766 (pupa_rescue_cmd_initrd): Implement.
44767
5aded270 447682003-12-03 Marco Gerards <metgerards@student.han.nl>
44769
44770 * fs/ext2.c (pupa_ext2_label): New function.
44771 (pupa_ext2_fs): Added label.
44772 * fs/fat.c (pupa_fat_label): New function.
44773 (pupa_fat_fs): Added label.
44774 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44775
44776 * kern/misc.c (pupa_strndup): New function.
44777 * include/pupa/misc.h (pupa_strndup): New prototype.
44778
44779 * include/pupa/normal.h: Include <pupa/err.h>.
44780 (pupa_set_history): New prototype.
44781 (pupa_iterate_commands): New prototype.
44782 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44783 <pupa/disk.h>, <pupa/file.h>.
44784 (hist_size): New variable.
44785 (hist_lines): Likewise.
44786 (hist_end): Likewise.
44787 (hist_used): Likewise.
44788 (pupa_set_history): New function.
44789 (pupa_history_get): Likewise.
44790 (pupa_history_add): Likewise.
44791 (pupa_history_replace): Likewise.
44792 (pupa_tab_complete): Likewise.
44793 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44794 completion shows partitionnames while completing partitions, this
44795 feature was suggested by Jeff Bailey.
44796 * normal/command.c (pupa_iterate_commands): New function.
44797 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44798 (pupa_normal_init): Initialize history buffer.
44799 (PUPA_MOD_INIT): Likewise.
44800 (pupa_normal_fini): Free the history buffer.
44801 (PUPA_MOD_FINI): Likewise.
44802
44803 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44804 key.
44805
44806 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44807 * configure.ac [i386]: Check for regparam bug.
44808 (NESTED_FUNC_ATTR) [! i386]: Defined.
44809
1f7315a3 448102003-11-17 Marco Gerards <metgerards@student.han.nl>
44811
44812 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44813 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44814 (pupa_emu_SOURCES): New variable.
44815 (pupa_emu_LDFLAGS): Likewise.
44816 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44817 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44818 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44819 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44820 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44821 (pupa_jmp_buf): New typedef.
44822 (pupa_setjmp) [PUPA_UTIL]: New macro.
44823 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44824 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44825 (pupa_refresh): New prototype.
44826 * include/pupa/util/getroot.h: New file.
44827 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44828 it.
44829 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44830 (pupa_rescue_cmd_cat): Likewise.
44831 (pupa_rescue_cmd_ls): Likewise.
44832 (pupa_rescue_cmd_testload): Likewise.
44833 (pupa_rescue_cmd_lsmod): Likewise.
44834 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44835 * normal/menu.c (run_menu): Likewise.
44836 * kern/term.c (pupa_cls): Likewise.
44837 (pupa_refresh): New function.
44838 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44839 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44840 * util/console.c: New file.
f19dbdb7 44841
1f7315a3 44842 * util/i386/pc/getroot.c: New file.
44843 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44844 (pupa_putchar): New function.
44845 (pupa_refresh): Likewise.
44846 (xgetcwd): Function moved to ...
44847 (strip_extra_slashes): Likewise.
44848 (get_prefix): Likewise.
f19dbdb7 44849 * util/i386/pc/getroot.c: ... here.
1f7315a3 44850 (find_root_device): Function moved and renamed to...
44851 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44852 Changed all callers.
44853 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44854 and renamed to...
44855 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44856 Changed all callers.
44857 * util/misc.c (pupa_memalign): New function.
44858 (pupa_mm_init_region): Likewise.
44859 (pupa_register_exported_symbols): Likewise.
44860 (pupa_putchar): Function removed.
44861 * util/pupa-emu.c: New file.
44862
9a5c1ade 448632003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44864
44865 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44866 (_multiboot_mod_SOURCES): New variable.
44867 (_multiboot_mod_CFLAGS): Likewise.
44868 * loader/i386/pc/multiboot.c: New file.
44869 * include/pupa/i386/pc/multiboot.h: Likewise.
44870 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44871 (pupa_multiboot_real_boot): New function.
44872 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44873 (pupa_multiboot_real_boot): New prototype.
44874 (pupa_rescue_cmd_multiboot): Likewise
44875 (pupa_rescue_cmd_module): Likewise.
44876
44877 * kern/loader.c (pupa_loader_set): Continue when
44878 pupa_loader_unload_func() fails.
44879 (pupa_loader_unset): New function.
44880 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44881
44882 * kern/misc.c (pupa_stpcpy): New function.
44883 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44884
8e72a9c0 448852003-11-12 Marco Gerards <metgerards@student.han.nl>
44886
44887 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44888 for available extensions.
44889
44890 * include/pupa/i386/pc/time.h: New file.
44891 * kern/disk.c: Include <pupa/machine/time.h>.
44892 (PUPA_CACHE_TIMEOUT): New macro.
44893 (pupa_last_time): New variable.
44894 (pupa_disk_open): Flush the cache when there was a timeout.
44895 (pupa_disk_close): Reset the timer.
44896 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44897 pupa_currticks.
44898 * util/misc.c: Include <sys/times.h>
44899 (pupa_get_rtc): New function.
44900
c4adbd32 449012003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44902
44903 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44904 as blocks.
44905 (pupa_ext2_get_file_block): Use blocks member.
44906
44907 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44908 first block. Return -1 instead of pupa_errno on error.
44909
bfd30f06 449102003-10-27 Marco Gerards <metgerards@student.han.nl>
44911
44912 * README: In the pupa-mkimage example use _chain instead of chain
44913 and ext2 instead of fat.
44914 * TODO: Replace ext2fs with jfs as an example. Add an item for
44915 adding journal playback for ext2fs.
44916 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44917 (pkgdata_MODULES): Added ext2.mod.
44918 (ext2_mod_SOURCES): New variable.
44919 (ext2_mod_CFLAGS): Likewise.
44920 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44921 * include/pupa/misc.h (pupa_strncpy): New prototype.
44922 (pupa_strcat): Likewise.
44923 (pupa_strncmp): Likewise.
44924 * kern/misc.c (pupa_strcat): Enable function.
44925 (pupa_strncpy): New function.
44926 (pupa_strncmp): Likewise.
44927 * fs/ext2.c: New file.
f19dbdb7 44928
bfd30f06 44929 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44930 when the read failed before retrying.
44931 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44932 (_FILE_OFFSET_BITS): Likewise.
44933 * configure.ac: Added AC_SYS_LARGEFILE.
44934
98d15063 449352003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44936
44937 * genmk.rb (PModule#rule): Make sure to get only symbol names
44938 from the output of nm.
59cad637 44939 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44940
18d9c7cd 449412003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44942
44943 I forgot to check in these changes for a long time. This adds
44944 incomplete support for VGA console, and this is still very
44945 buggy. Also, a lot of consideration is required for I18N,
44946 UNICODE, and VGA font issues. Therefore, assume that this is
44947 such that "better than nothing".
f19dbdb7 44948
18d9c7cd 44949 * font/manager.c: New file.
44950 * include/pupa/font.h: Likewise.
44951 * include/pupa/i386/pc/vga.h: Likewise.
44952 * term/i386/pc/vga.c: Likewise.
44953 * util/unifont2pff.rb: Likewise.
44954
44955 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44956 (pkgdata_MODULES): Added vga.mod and font.mod.
44957 (vga_mod_SOURCES): New variables.
44958 (vga_mod_CFLAGS): Likewise.
44959 (font_mod_SOURCES): Likewise.
44960 (font_mod_CFLAGS): Likewise.
44961
44962 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44963
44964 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44965 (struct pupa_term): Added init and fini.
18d9c7cd 44966 Changed the argument of putchar to pupa_uint32_t.
44967
44968 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44969 (pupa_console_real_putchar): New prototype.
44970 (pupa_console_putchar): Removed.
44971 (pupa_console_checkkey): Exported.
44972 (pupa_console_getkey): Likewise.
44973
44974 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44975 characters.
44976
44977 * kern/term.c (pupa_term_set_current): Rewritten.
44978 (pupa_putchar): Likewise.
44979 (pupa_putcode): New function.
44980
44981 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44982 (pupa_console_real_putchar): ... this.
44983 (pupa_vga_set_mode): New function.
44984 (pupa_vga_get_font): Likewise.
44985
44986 * normal/command.c: Include pupa/term.h.
44987 (terminal_command): New function.
44988 (pupa_command_init): Register the command "terminal".
44989
44990 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44991 (DISP_UP): Likewise.
44992 (DISP_RIGHT): Likewise.
44993 (DISP_DOWN): Likewise.
44994 (DISP_HLINE): Likewise.
44995 (DISP_VLINE): Likewise.
44996 (DISP_UL): Likewise.
44997 (DISP_UR): Likewise.
44998 (DISP_LL): Likewise.
44999 (DISP_LR): Likewise.
45000
45001 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45002
977329f5 450032003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45004
45005 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45006 FIX. Reverse the path_list.
45007
45008 * include/pupa/normal.h: Export pupa_register_command and
45009 pupa_unregister_command.
45010
45011 * hello/hello.c (pupa_cmd_hello): New module.
45012 * conf/i386-pc.rmk: Added hello.mod.
45013
1f5ab428 450142003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45015
45016 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 45017
1f5ab428 45018 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45019 (compress_kernel): New variable.
45020 (generate_image): Heavily modified to support compressing a
45021 large part of the core image.
45022
45023 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45024 leak.
45025 (pupa_util_load_image): New function.
45026
45027 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45028 (pupa_compressed_size): New variable.
45029 (codestart): Enable Gate A20 here.
45030 Decompress the compressed part of the core image.
45031 Rearrange the code to put functions and variables which are
45032 required for initialization in the non-compressed part.
45033 Include lzo1x.S.
45034
45035 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45036 here.
45037
45038 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45039
f19dbdb7 45040 * include/pupa/i386/pc/kernel.h
1f5ab428 45041 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45042 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45043 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45044 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45045 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45046
45047 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45048
45049 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45050 (Utility#rule): Likewise.
45051
45052 * configure.ac: Check if LZO is available.
45053
ce5bf700 450542003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45055
45056 * include/pupa/normal.h: New file.
45057 * include/pupa/setjmp.h: Likewise.
45058 * include/pupa/i386/setjmp.h: Likewise.
45059 * normal/cmdline.c: Likewise.
45060 * normal/command.c: Likewise.
45061 * normal/main.c: Likewise.
45062 * normal/menu.c: Likewise.
45063 * normal/i386/setjmp.S: Likewise.
f19dbdb7 45064
ce5bf700 45065 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45066 (pupa_rescue_cmd_initrd): Likewise.
45067
45068 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45069 Likewise.
45070
45071 * kern/i386/pc/startup.S (translation_table): New variable.
45072 (translate_keycode): New function.
45073 (pupa_console_getkey): Call translate_keycode.
45074
45075 * kern/rescue.c (attempt_normal_mode): New function.
45076 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45077 it failed, print a message.
45078
45079 * kern/mm.c (pupa_real_malloc): Print more information when a
45080 free magic is broken.
45081 (pupa_free): If the first free header is not free actually, set
45082 it to P.
45083
45084 * kern/main.c (pupa_load_normal_mode): Just load the module
45085 "normal".
45086 (pupa_main): Don't print the message
45087 "Entering into rescue mode..." here.
45088
45089 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45090 Declared.
45091 (pupa_rescue_cmd_initrd): Likewise.
45092 (pupa_rescue_cmd_initrd): Likewise.
45093
45094 * include/pupa/symbol.h (FUNCTION): Specify the type.
45095 (VARIABLE): Likewise.
45096
45097 * include/pupa/err.h (pupa_err_t): Added
45098 PUPA_ERR_UNKNOWN_COMMAND.
45099
45100 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45101 (pupa_dl_get_prefix): Likewise.
45102
45103 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45104 Added _chain.mod and _linux.mod instead of chain.mod and
45105 linux.mod.
45106 (chain_mod_SOURCES): Renamed to ...
45107 (_chain_mod_SOURCES): ... this.
45108 (chain_mod_CFLAGS): Renamed to ...
45109 (_chain_mod_CFLAGS): ... this.
45110 (linux_mod_SOURCES): Renamed to ...
45111 (_linux_mod_SOURCES): ... this.
45112 (linux_mod_CFLAGS): Renamed to ...
45113 (_linux_mod_CFLAGS): ... this.
45114 (normal_mod_SOURCES): New variable.
45115 (normal_mod_CFLAGS): Likewise.
45116 (normal_mod_ASFLAGS): Likewise.
45117
451182003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45119
45120 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45121 possible.
45122
fe6b695a 45123 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 45124 recursively.
45125 (pupa_dl_unref): Unrefer depending modules recursively.
45126 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45127 a module is unloaded before one depending on that module is
45128 unloaded.
45129 (pupa_dl_unload): Unload depending modules explicitly,
45130 if possible.
45131
c04da074 451322003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45133
45134 * include/pupa/i386/pc/linux.h: New file.
45135 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 45136
c04da074 45137 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45138 Removed.
45139 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45140 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45141 of PUPA_CHAINLOADER_BOOT_SECTOR.
45142
45143 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45144 (pupa_linux_prot_size): New variable.
45145 (pupa_linux_tmp_addr): Likewise.
45146 (pupa_linux_real_addr): Likewise.
45147 (pupa_linux_boot_zimage): New function.
45148 (pupa_linux_boot_bzimage): Likewise.
45149
45150 * kern/i386/pc/init.c (struct mem_region): New structure.
45151 (MAX_REGIONS): New macro.
45152 (mem_regions): New variable.
45153 (num_regions): Likewise.
45154 (pupa_os_area_addr): Likewise.
45155 (pupa_os_area_size): Likewise.
45156 (pupa_lower_mem): Likewise.
45157 (pupa_upper_mem): Likewise.
45158 (add_mem_region): New function.
45159 (compact_mem_regions): Likewise.
45160 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45161 the size of the conventional memory and that of so-called upper
45162 memory (before the first memory hole).
45163 Instead of adding each found region to free memory, use
45164 add_mem_region and add them after removing overlaps.
45165 Also, add only 1/4 of the upper memory to free memory. The rest
45166 is used for loading OS images. Maybe this is ad hoc, but this
45167 makes it much easier to relocate OS images when booting.
45168
45169 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45170 (pupa_enter_rescue_mode): Don't register initrd and module.
45171
45172 * kern/mm.c: Include pupa/dl.h.
45173
45174 * kern/main.c: Include pupa/file.h and pupa/device.h.
45175
45176 * kern/loader.c (pupa_loader_load_module_func): Removed.
45177 (pupa_loader_load_module): Likewise.
45178
45179 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45180 ``.o''.
45181
45182 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45183 (pupa_linux_tmp_addr): Likewise.
45184 (pupa_linux_real_addr): Likewise.
45185 (pupa_linux_boot_zimage): Likewise.
45186 (pupa_linux_boot_bzimage): Likewise.
45187
45188 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45189 (pupa_upper_mem): Likewise.
45190 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45191 module is too dangerous.
45192
45193 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45194 (pupa_os_area_size): Likewise.
45195 (pupa_loader_set): Remove the first argument. Loader doesn't
45196 manage modules or initrd any longer.
45197 (pupa_loader_load_module): Removed.
45198
45199 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45200 (linux_mod_SOURCES): New variable.
45201 (linux_mod_CFLAGS): Likewise.
45202
a13f9237 452032003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45204
45205 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45206 the length of a blocklist correctly.
45207
45208 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45209 Use ioctl only if the OS file is a block device.
45210 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45211 not very useful for normal files.
45212
45213 * kern/main.c (pupa_set_root_dev): New function.
45214 (pupa_load_normal_mode): Likewise.
45215 (pupa_main): Call those above.
45216
45217 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45218 pupa_uint16_t.
45219
45220 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45221
a5ffe966 452222003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45223
45224 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
45225 (setup): Configure the installed partition information and the
45226 dl prefix.
45227
45228 * loader/i386/pc/chainloader.c (my_mod): New variable.
45229 (pupa_chainloader_unload): New function.
45230 (pupa_rescue_cmd_chainloader): Refer itself.
45231 (PUPA_MOD_INIT): Save its own module in MY_MOD.
45232
45233 * kern/i386/pc/startup.S (install_partition): Removed.
45234 (version_string): Likewise.
45235 (config_file): Likewise.
45236 (pupa_install_dos_part): New variable.
45237 (pupa_install_bsd_part): Likewise.
45238 (pupa_prefix): Likewise.
45239 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
45240
45241 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
45242 and pupa/misc.h.
45243 (make_install_device): New function.
45244 (pupa_machine_init): Set the dl prefix.
45245
45246 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
45247 (buf): Renamed to ...
45248 (linebuf): ... this.
45249 (pupa_rescue_cmd_prefix): New function.
45250 (pupa_rescue_cmd_insmod): Likewise.
45251 (pupa_rescue_cmd_rmmod): Likewise.
45252 (pupa_rescue_cmd_lsmod): Likewise.
45253 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
45254 rmmod and lsmod.
45255
45256 * kern/mm.c (pupa_memalign): If failed even after invalidating
45257 disk caches, unload unneeded modules and retry.
45258
45259 * kern/misc.c (pupa_memmove): New function.
45260 (pupa_memcpy): Removed.
45261 (pupa_strcpy): New function.
45262 (pupa_itoa): Made static.
45263
45264 * kern/dl.c (pupa_dl_iterate): New function.
45265 (pupa_dl_ref): Likewise.
45266 (pupa_dl_unref): Likewise.
45267 (pupa_dl_unload): Return if succeeded or not.
45268 (pupa_dl_unload_unneeded): New function.
45269 (pupa_dl_unload_all): Likewise.
45270 (pupa_dl_init): Renamed to ...
45271 (pupa_dl_set_prefix): ... this.
45272 (pupa_dl_get_prefix): New function.
45273
45274 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
45275 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
45276 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45277 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45278 (pupa_install_dos_part): Declared.
45279 (pupa_install_bsd_part): Likewise.
45280 (pupa_prefix): Likewise.
45281 (pupa_boot_drive): Likewise.
45282
45283 * include/pupa/types.h: Fix a typo.
45284
45285 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
45286 pupa_memmove.
45287 (pupa_memmove): Declared.
45288 (pupa_strcpy): Likewise.
45289
45290 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
45291 pupa_mod_init takes one argument, its own module.
45292 (pupa_dl_unload_unneeded): Declared.
45293 (pupa_dl_unload_all): Likewise.
45294 (pupa_dl_ref): Likewise.
45295 (pupa_dl_unref): Likewise.
45296 (pupa_dl_iterate): Likewise.
45297 (pupa_dl_init): Renamed to ...
45298 (pupa_dl_set_prefix): ... this.
45299 (pupa_dl_get_prefix): Declared.
45300
45301 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 45302 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 45303 unloaded.
45304 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
45305 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
45306
45307 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
45308 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
45309
012d7999 453102003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45311
45312 * util/i386/pc/pupa-setup.c (setup): Define the internal
45313 function find_first_partition_start at the top level, because GCC
45314 3.0.x cannot compile internal functions in deeper scopes
45315 correctly.
45316 (find_root_device): Use lstat instead of stat.
45317 Don't follow symbolic links.
45318 Fix the path-constructing code.
45319
45320 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
45321 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
45322 by a BLKGETSIZE ioctl first, because block devices don't fill
45323 the member st_mode of the structure stat on Linux.
45324 [__linux__] (linux_find_partition): Use a temporary buffer
45325 REAL_DEV for the working space. Copy it to DEV before returning.
45326 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
45327 buffer cache consistent.
45328 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
45329 strncmp. The previous value was merely wrong.
45330 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
45331
45332 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
45333 FAT size is 12. The previous value was merely wrong.
45334
45335 * kern/main.c (pupa_main): Don't split the starting message from
45336 newlines.
45337
45338 * kern/term.c (pupa_putchar): Put CR after LF instead of before
45339 LF, because BIOS goes crazy about character attributes in this
45340 case.
45341
1cc73a62 453422003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45343
45344 * include/i386/pc/util/biosdisk.h: New file.
45345 * util/i386/pc/biosdisk.c: Likewise.
45346 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 45347
1cc73a62 45348 * Makefile.in (INCLUDE_DISTFILES): Added
45349 include/pupa/i386/pc/util/biosdisk.h.
45350 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
45351 directory util/i386/pc.
45352 (install-local): Added a rule for sbin_UTILITIES.
45353 (uninstall): Likewise.
45354
45355 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
45356
45357 * util/misc.c (xrealloc): New function.
45358 (pupa_malloc): Likewise.
45359 (pupa_free): Likewise.
45360 (pupa_realloc): Likewise.
45361 (pupa_stop): Likewise.
45362 (pupa_putchar): Likewise.
45363
45364 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
45365
45366 * include/pupa/util/misc.h (xrealloc): Declared.
45367
45368 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
45369 macro.
45370 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
45371 (PUPA_BOOT_MACHINE_BPB_END): ... this.
45372
45373 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
45374 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45375
45376 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
45377 way should be implemented.
45378 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45379
45380 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
45381 the size of NAME for safety.
45382 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
45383 0x88.
45384
45385 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
45386 (pupa_setup_SOURCES): Likewise.
45387
45388 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
45389
08b70fe8 453902002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45391
45392 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
45393 bunch of pushl's from pusha, because this destroys the return
45394 value.
45395
62ddcc8f 453962002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45397
45398 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
45399 This means that any missing prototypes could be fatal. Also, you
45400 must take care when writing assembly code. See the comments at
45401 the beginning of startup.S, for more details.
f19dbdb7 45402
62ddcc8f 45403 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
45404 compilation mechanism.
45405 (pupa_chainloader_real_boot): Likewise.
45406 (pupa_biosdisk_rw_int13_extensions): Likewise.
45407 (pupa_biosdisk_rw_standard): Likewise.
45408 (pupa_biosdisk_check_int13_extensions): Likewise.
45409 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
45410 (pupa_biosdisk_get_diskinfo_standard): Likewise.
45411 (pupa_get_memsize): Likewise.
45412 (pupa_get_mmap_entry): Likewise.
45413 (pupa_console_putchar): Likewise.
45414 (pupa_console_setcursor): Likewise.
45415 (pupa_getrtsecs): Use pushl instead of push.
45416
45417 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
45418 memory instead of the stack for a mmap entry, because some
45419 BIOSes may ignore the maximum size and overflow.
45420
45421 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
45422
45423 * genmk.rb (PModule#rule): Compile automatically generated
45424 sources with module-specific CFLAGS as well as other sources.
45425
9962ed99 454262002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45427
45428 * configure.ac: Check ld.
45429 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
45430 respectively, before checking endianness and sizes.
45431
45432 * Makefile.in (LD): New variable.
f19dbdb7 45433
abdfc3c5 454342002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45435
45436 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
45437
6a161fa9 454382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45439
45440 * Changelog: New file.
45441