]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Fix handling of EFI with big memory maps.
[grub2.git] / ChangeLog
CommitLineData
a4e5ca80
VS
12012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Fix handling of EFI with big memory maps.
4
5 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6 (real_mode_mem): Likewise.
7 (real_mode_target): Likewise.
8 (real_mode_pages): Likewise.
9 (prot_mode_pages): Likewise.
10 (linux_params): New var.
11 (linux_cmdline): Likewise.
12 (free_pages): Don't set real mode variables.
13 (allocate_pages): Don't allocate real mode memory.
14 (grub_e820_add_region): Remove the limit.
15 (grub_linux_boot): Allocate and copy real mode memory.
16 (grub_linux_unload): Free linux_cmdline.
17 (grub_cmd_linux): Use temporary storage for parameters.
18 (grub_cmd_initrd): Likewise.
19 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
20 (linux_kernel_params): Make it 1K big.
21
ddb73558
VS
222012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * Makefile.util.def: Remove -Wno-format.
25 * grub-core/Makefile.core.def: Likewise.
26
1c4afb60
VS
272012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * tests/cmp_unit_test.c: Add missing failure message.
30 * tests/example_unit_test.c: Likewise.
31 * tests/printf_unit_test.c: Likewise.
32
941e3a6d
VS
332012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
36 relaxation of protective MBR requirements.
37
b105df76
VS
382012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * configure.ac: Add condition for COND_HOST_XNU.
41 * Makefile.util.def (10_xnu): New script.
42 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
43
84e1569e
VS
442012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
47 objconv bug.
48
130c0f77
VS
492012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
52 Binary on other platforms stays identical.
53
6fd0b143
VS
542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
57 Apple.
58
0af1751d
VS
592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
62
176d5f7d
VS
632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
66 rather than defining size_t ourselves to avoid conflict.
67
7de5e20a
VS
682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
71 initialisation to avoid __bzero reference.
72
f7143efe
VS
732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
76 version.
77 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
78 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
79 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
80 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
81 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
82
e6ad0555
VS
832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
86 * grub-core/kern/misc.c: Likewise.
87 * grub-core/loader/i386/xnu.c: Likewise.
88 * include/grub/i386/tsc.h: Likewise.
89 * include/grub/symbol.h: Likewise.
90
4a5a3c4a
VS
912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
94 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
95 on older compiler.
96
037f6d90
VS
972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
100 Implement Apple flavour.
101 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
102
f7194551
VS
1032012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
106 (memmove) [__APPLE__]: Likewise.
107 (memcpy) [__APPLE__]: Likewise.
108 (memset) [__APPLE__]: Likewise.
109 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
110 (memmove) [__APPLE__]: Likewise.
111 (memcpy) [__APPLE__]: Likewise.
112 (memset) [__APPLE__]: Likewise.
113
85a730ca
VS
1142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
117 dependency discard.
118
40e80b94
VS
1192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/normal/main.c (read_config_file): Provide config_file and
122 config_directory.
123 * util/grub.d/41_custom.in: Use config_directoy when available.
124
9da59c32
VS
1252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
128 (grub_bfs_dir): Likewise.
129
2787ae53
PJ
1302012-05-27 Peter Jones <pjones@redhat.com>
131
132 The old code gives arguments to a printf function which can't work
133 correctly, and the compiler complains.
134
135 * grub-core/tests/example_functional_test.c (example_test): Add
136 missing text.
137 * grub-core/tests/lib/test.c (add_failure): Rewrite.
138 * include/grub/test.h (grub_test_assert_helper): New declaration.
139 (grub_test_assert): Use grub_test_assert_helper.
140
526ef13d
VS
1412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
144 (exfctest): ... this to avoid overlong filenames.
145 All users updated.
146
20dd511c
VS
1472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
148
149 Handle "." and ".." on squashfs.
150
151 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
152 Make inode numbers into stack.
153 (grub_squash_read_symlink): Use stack.
154 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
155 (make_root_node): Fill stack.
156 (grub_squash_open): Use stack.
157
1d80c62a
VS
1582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
161 freeing.
162
d336f652
VS
1632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
166 stderr on test calls.
167
8b43f587
VS
1682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
171
80a3dc3f
VS
1722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
175
47e297d4
VS
1762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
179 "..".
180
df042ccb
VS
1812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
184 (grub_hfsplus_iterate_dir): Add "." and "..".
185
fc977f48
VS
1862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/fs/cpio.c (canonicalize): Handle "..".
189 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
190
f3250e5f
VS
1912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
194 (find_path): Handle "." and "..".
195
fd8ed4c5
VS
1962012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
199 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
200 (grub_affs_iterate_dir): Handle hardlinks.
201
4ce776d2
MG
2022012-05-26 Matthew Garrett <mjg@redhat.com>
203
204 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
205 (grub_efi_console_fini): Likewise.
206 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
207 (grub_video_gop_fill_mode_info): Rename to ...
208 (grub_video_gop_fill_real_mode_info): ... this.
209 (grub_video_gop_fill_mode_info): New function.
210 (grub_video_gop_setup): Setup double framebuffer.
211 (grub_video_gop_get_info_and_fini): Use original framebuffer.
212 Free offscreen.
213 (grub_video_gop_swap_buffers): Copy framebuffer.
214 (grub_video_gop_fini): Free offscreen buffer.
215 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
216 New enum.
217 (grub_efi_gop_blt_pixel): New struct.
218
683031ba
VS
2192012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * gentpl.py: Remove error disabling for objconv.
222
c2deb798
VS
2232012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * configure.ac: Remove -Wunitialized as it's not available on older
226 compilers.
227
2282012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
229
230 Fix extent overflow comparator.
231
232 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
233 (grub_hfsplus_read_block): Set type.
234 (grub_hfsplus_cmp_extkey): Compare type.
235
d6b1fd36
VS
2362012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
239
0a9aa0f6
VS
2402012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
243 than 0.
244
8360e159
VS
2452012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
248 (dejavu_bold_14.pf2): New target.
249
501b9e4b
VS
2502012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * configure.ac: Fix djvu font detection.
253
7026b0e2
VS
2542012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
257 ext* instead of ext2.
258
c2a51ade
VS
2592012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
262 name with \0.
263
8f803a5d
JU
2642012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
265
266 * docs/grub-dev.texi: Remove dot from .png.
267
13c6353f
VS
2682012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
271 protective entry in any slot.
272 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
273 if protective entry is found in any slot.
274
275 Protective entry in non-first slot make no sense but is a widespread
276 brain damage.
277
4cf6be1b
VS
2782012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
281
937d1c44
VS
2822012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
285 with old reiserfs.
286 (grub_reiserfs_open): Don't free root.
287
021d90ec
VS
2882012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
291 after freeing for safety.
292
967b2b64
VS
2932012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
296 Reported by: Jordan Uggla.
297
34274d02
JU
2982012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
299
967b2b64
VS
300 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
301 actual implementation. Specifically, clarify that the grub menu will
302 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
303 passed.
34274d02 304
dcaaae9d
BH
3052012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
306
307 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
308 of r0.
309
7086ad52
VS
3102012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
311
312 Remove unjustified hard dependency of normal.mod on gfxterm.
313
314 * include/grub/term.h (grub_term_output): New member fullscreen.
315 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
316 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
317 (grub_gfxterm): Set .fullscreen.
318 * grub-core/normal/menu.c (menu_init): Use fullscreen.
319 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
320
37ed2c9b
VS
3212012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
324 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 325 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 326
a4469c88
VS
3272012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
330
4e461486
VS
3312012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
334 a bad FS.
335
aa78f5c4
VS
3362012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
339 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
340
197626b5
VS
3412012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
344 (grub_jfs_mount): Fill caseins.
345 (grub_jfs_find_file): Respect caseins.
346
8ad3f28c
VS
3472012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
350 through UTF-16.
351
0c6c324e
VS
3522012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
355 New argument origpath. All users updated.
356
c6666ba6
VS
3572012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
360 (read_attr): Ensure that we read start of possibly compressed block.
361
e28e5fe5
VS
3622012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
365 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
366 All users updated.
367
5fc23ab2
VS
3682012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
371 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
372 (dejavu.pf2): Replace with ...
373 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
374 this.
375
79dbc21c
VS
3762012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * util/grub.d/20_linux_xen.in: Add missing line.
379
d2fcfb0c
VS
3802012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
383 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
384 (grub_utf16_to_utf8): Likewise.
385
5560e9d6
VS
3862012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
389 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
390 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
391 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
392 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
393 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
394
3952012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
396
397 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
398 a bad FS.
399
5560e9d6 4002012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
401
402 * grub-core/fs/udf.c (read_string): Bail out on size=0.
403 (grub_udf_read_symlink): Handle read_string failure.
404
5eae3175
VS
4052012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
408 comment.
409
c1ad82db
VS
4102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
411
412 Fix handling of UDF symlinks.
413
414 * grub-core/fs/udf.c (read_string): New argument outbuf.
415 All users updated.
416 (grub_ufs_read_symlink): Rename to ...
417 (grub_udf_read_symlink): ... this. All users updated.
418 Handle symlinks with more than one component.
419
33eca6e0
VS
4202012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
423 symlinks. Replace leading colon with a slash.
424
57f4a70b
VS
4252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
428 filename.
429
38c8ee20
VS
4302012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
433 match in inner node.
434
2e57f28f
VS
4352012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
438 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
439 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
440 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
441 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
442 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
443 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
444 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
445 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
446
fe8c2f11
VS
4472012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
448
449 Use grub-probe and not cmp to check that disk is empty.
450
451 * util/grub-install.in: Use grub-probe for zero-check.
452 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
453 (probe): Handle PRINT_ZERO_CHECK.
454 (argp_parser): Handle -t zero_check.
455
4562012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
457
458 Flush block cache on adding disk to device map.
459
460 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
461 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
462 adding.
463 (read_device_map): Likewise.
464 (open_device): Flush on opening.
465
690434e8
VS
4662012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
469 (handle_symlink): Fix off-by-one error.
470 Canonicalize the target.
471 (grub_cpio_dir): Canonicalize the name.
472 Fix memory leak.
473 Set directory.
474 (grub_cpio_open): Canonicalize the name.
475
742d2be6
VS
4762012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
479 handling.
480
3244fe96
VS
4812012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
484 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
485
8aeb1837
VS
4862012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
489 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 490 All users updated.
8aeb1837 491
9133fd05
VS
4922012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
495 counterpart.
496
6d521c5b
VS
4972012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Fix UFS1 big file support.
500
501 * grub-core/fs/ufs.c (INODE): Removed.
502 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
503 64-bit.
504 (INODE_MODE): Simplify.
505 (grub_ufs_inode): Use uint64_t for size and not int64_t.
506 (grub_ufs_lookup_symlink): Don't use INODE.
507
21b82e17
VS
5082012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
509
510 Fix minixfs with non-power-of-two blocks since it's supported by minix.
511
512 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
513 (grub_minix_data): Replace log_block_size with block_size.
514 (grub_minix_read_file): Use block_size but avoid 64-bit division.
515 (grub_minix_mount): Fill block_size.
516
5172012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
518
519 * configure.ac: Bump to beta5.
520
f417ed04
VS
5212012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Fix wrapped HFS+ handling.
524
525 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
526 blocks_start. All users updated.
527 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
528 wrapping offset.
529 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
530
607d282b
VS
5312012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Fix long symlinks on reiserfs.
534
535 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
536 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
537 (grub_reiserfs_iterate_dir): Save size for non-directories.
538 (grub_reiserfs_open): Don't reread stat block as we already know the
539 size.
540 (grub_reiserfs_read): Split into...
541 (grub_reiserfs_read_real): ... and ...
542 (grub_reiserfs_read): ...this.
543
ae16024d
VS
5442012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Fix non-indexed JFS.
547
548 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
549 (grub_jfs_data): New field namecomponentlen.
550 (grub_jfs_mount): Fill namecomponentlen.
551 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
552
eea1e26e
VS
5532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
556 * tests/grub_script_echo1.in: Add tests.
557
df760f77
VS
5582012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * util/grub-install.in: Ignore empty devicetree directory.
561
5efb817d
B
5622012-05-08 Bean <bean123ch@gmail.com>
563
564 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
565 All users updated.
566 (free_rsm): Free header as well.
567 (free_old_fragments): Fix memory leak.
568 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
569 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
570 (destroy_pq): Likewise.
571 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
572
668ea6d2
VS
5732012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
576 resulting hash as a precaution.
577
1739b1fe
VS
5782012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
581 '_' in variable names.
582 * grub-core/net/net.c (grub_net_network_level_interface_register):
583 Likewise.
584
6ae485aa
VS
5852012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
586
587 Fix AFFS with non-512B blocks.
588
589 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
590 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
591 (grub_affs_data): Replace blocksize with log_blocksize.
592 (grub_affs_read_block): Fix non-512B blocks.
593 (grub_affs_read_symlink): Likewise.
594 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
595 (grub_affs_read): Fix non-512B blocks.
596 (grub_affs_label): Likewise.
597 (grub_affs_mtime): Likewise.
598 (grub_affs_mount): Fix block detection routine.
599
d20fab84
VS
6002012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
601
602 Add filesystem mtime to AFFS.
603
604 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
605 (aftime2ctime): New function.
606 (grub_affs_dir): Use aftime2ctime.
607 (grub_affs_label): Fix return value.
608 (grub_affs_mtime): New function.
609 (grub_affs_fs): Add mtime.
610
e87b10f5
VS
6112012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
614 UTF-8.
615
7dceec9b
VS
6162012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
619 UTF-8.
620
2f48221f
VS
6212012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
624
dacd85cf
VS
6252012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
628 flags.
629 (FLAGS_CASE_SENSITIVE): New enum value.
630 (cache_entry): New struct.
631 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
632 cache_size and cache.
633 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
634 Add log_blocksize and fshelp_flags.
635 (grub_sfs_read_extent): Handle non-512 blocks.
636 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
637 (grub_sfs_read_file): Handle non-512 blocks.
638 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
639 fshelp_flags.
640 (grub_sfs_read_symlink): Handle non-512 blocks.
641 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
642 (grub_sfs_dir): Free cache.
643 (grub_sfs_close): Likewise.
644
24e9a854
VS
6452012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
648 filesystems.
649
62ace64d
VS
6502012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
653
83b2e89c
VS
6542012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
657
75ccaea3
VS
6582012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
661 (grub_sfs_read_extent): Likewise.
662 (grub_sfs_read_block): Likewise.
663 (grub_sfs_mount): Likewise.
664 (grub_sfs_iterate_dir): Likewise.
665 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
666 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
667
1b8463f2
VS
6682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
669
670 Fix errors on compressed NTFS with 512B clusters.
671
672 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
673 types.
674 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
675 not 0.
676 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
677 Relax check for inline extents.
678 (ntfscomp): Return correct -1 on error and not 0.
679
4f8e368f
VS
6802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * util/grub-install.in: Fix handling of prefix containing spaces.
683
6f5d5ee8
VS
6842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
687 (grub_squash_read_data): Fix offset byte-swapping.
688
ce41ab7a
VS
6892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
692 per common usage and preffered in several parts of code.
693 (grub_memcmp): Likewise.
694 (grub_strncmp): Likewise.
695 * include/grub/misc.h (grub_strcasecmp): Likewise.
696 (grub_strncasecmp): Likewise.
697 * Makefile.util.def (cmp_test): New test.
698 (grub_script_strcmp): Likewise.
699 * tests/cmp_unit_test.c: New file.
700 * tests/grub_script_strcmp.in: Likewise.
701 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
702
49717bf4
VS
7032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * include/grub/pci.h: Move enums into no-asm part.
706
0a308f64
VS
7072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
710
1796965f
ST
7112012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
712
713 * util/getroot.c (find_hurd_root_device): Try to make error message
714 and comments to translators clearer.
715
4e9b2819
VS
7162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
719
076aeb50
VS
7202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
723 btrfs.
724
19424d94
VS
7252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * docs/grub.cfg: Update.
728
ebb73076
VS
7292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * docs/grub.texi (PXE): Remove not present variables.
732
9a1b669c
VS
7332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/net/net.c (defserver_set_env): New function.
736 (defserver_get_env): Likewise.
737 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
738
d38bf7d3
VS
7392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
742 entries.
743
7442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
745
746 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
747 * grub-core/kern/emu/hostdisk.c: Likewise.
748
e5e4ca48
ST
7492012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
750
751 Handle hurd userspace partitions.
752
753 * util/getroot.c (find_hurd_root_device): New function.
754 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
755
56bb5dd5
VS
7562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
759 names.
760 Reported by: Bastian Blank.
761
9e8bc27a
VS
7622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
765 crossing page boundary.
766
aa01499d
VS
7672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Fix B-tree search in BFS, especially in presence of non-ASCII
770 characters.
771
772 * grub-core/fs/bfs.c (bfs_strcmp): New function.
773 (find_in_b_tree): Use standard bsearch + btree algorithm.
774
57006035
VS
7752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
778 and so on.
779
9d34bb85
MG
7802012-05-03 Matthew Garrett <mjg@redhat.com>
7812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
782
783 Suspend broadcom cards in order to stop their DMA.
784
785 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
786 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
787 (pci): Don't build on x86 EFI.
788 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
789 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
790 New function.
791 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
792 stop_broadcom if running on EFI.
793 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
794 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
795 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
796 (grub_pci_find_capability): New proto.
797
01aab997
VS
7982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * docs/grub.texi: Remove dot from the extension as it apparently
801 doesn't work with some makeinfo versions.
802
fbd8dca6
VS
8032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
806 with GRUB expectance.
807
dab797f4
VS
8082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
811
1516bfb4
VS
8122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
815 zero after directory block since last entry may be not 0-terminated if
816 it ends on block boundary. Use continue instead of if spanning whole
817 loop.
818
a3a0eace
VS
8192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
820
821 Support 4K sectors UDF inline files.
822
823 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
824 (grub_udf_extended_file_entry): Likewise.
825 (grub_fshelp_node): Name the anonymous union. Put block at the end.
826 All users updated.
827 (get_fshelp_size): New function.
828 (grub_udf_read_icb): Read whole block.
829 (grub_udf_iterate_dir): Likewise.
830 (grub_udf_dir): Likewise.
831 (grub_udf_open): Likewise.
832
c82f16c1
VS
8332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
836
59fd2aac
VS
8372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
840 inline symlinks in addition to workaround.
841
3b4afb4d
VS
8422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
845
f45c794a
VS
8462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
849
f25cecbd
VS
8502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
853
bb9a34e8
VS
8542012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
855
856 Fix reiserfs big seek times.
857
858 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
859 exact. All users updated.
860 (grub_reiserfs_read): Use nearest btree search for seeking.
861 Fix return value on error.
862
dc478aea
VS
8632012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
866 entries.
867 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
868 * docs/grub.texi: Update menuentry description.
869
8db10f47
VS
8702012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
873 crash when embedding onto filesystem.
874
bcb288ed
VS
8752012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
878 name.
879
a626fdd7
VS
8802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
883
b2f68477
VS
8842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
887 commit.
888
ba15b2af
B
8892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8902012-05-01 Bean <bean123ch@gmail.com>
891
892 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
893
a188012e
VS
8942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
897 Special behaviour for len = 0 to read whole file isn't used anywhere and
898 can cause buffer ovewrflows in several places.
899
f0a53ed2
VS
9002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
903
5ed554f0
VS
9042012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
905
906 Handle RAIDZ on non-512B sectors.
907
908 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
909 max_children_ashift.
910 (fill_vdev_info_real): Fill max_children_ashift.
911 (read_device): Use max_children_ashift.
912
ddc58357
VS
9132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
916
e3282399
VS
9172012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
920 disk names.
921 * docs/grub.texi: Update device.map parts.
922
ee618bd4
VS
9232012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Don't scan into non-diskfilter devices having diskfilter names.
926
927 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
928 (scan_disk): New argument accept_diskfilter. Fix recursion depth
929 handling.
930 (scan_disk_hook): New function.
931
bdf88864
B
9322012-04-29 Bean <bean123ch@gmail.com>
933
934 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
935 allocation.
936
32745f51
MK
9372012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
938
939 * configure.ac: Detect starfield theme font path
940 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
941
bc95c8c0
VS
9422012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
945 geometry on serial consoles.
946
147fbcab
VS
9472012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
950 because of network consoles.
951
0f42c889
VS
9522012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
955 handling.
956
4a3594c9
VS
9572012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
960 falls on Q syndrom.
961
5cb53879
VS
9622012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
965 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
966
b282dfe5
VS
9672012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
970 Allocate at lest 8192 for temporary buffer as required for lzo.
971
daa59f47
VS
9722012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
975 to cluster_bits, since it's already added in.
976 (grub_fat_read_data): Likewise.
977
986748ce
VS
9782012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
981 as long as cluster size is multiple of 512 bytes.
982
a20f6ad0
VS
9832012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * util/grub-mkrescue.in: Fix locale directory.
986
385f9abb
VS
9872012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/kern/emu/hostdisk.c (map): Make static.
990
1c557d30
B
9912012-04-23 Bean <bean123ch@gmail.com>
992
993 * util/grub-fstest.c (fstest): Add missing break.
994
524b5d3a
ST
9952012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
996
997 Fix hurd build.
998
999 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1000 not define nr variable.
fe4824e9 1001 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1002 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1003 grub_find_device): Do not define.
524b5d3a 1004
9a06490c
VS
10052012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 Fix kfreebsd compile and behaviour.
1008
1009 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1010 format-security.
1011 * util/getroot.c: Fix wait.h include.
1012 (grub_guess_root_devices): Error if grub_find_device fails.
1013 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1014 (grub_util_get_dev_abstraction): Likewise.
1015 (grub_util_pull_device): Likewise.
1016 (grub_util_get_grub_dev): Likewise.
1017 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1018
48143d96
VS
10192012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Fix and unify wholedisk detection.
1022
1023 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1024 is_part. All users updated.
1025 (device_is_wholedisk): Removed.
1026 (grub_util_biosdisk_get_grub_dev): Use is_part.
1027
ebbd24f3
VS
10282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1031 mode.
1032
56f7aa1e
VS
10332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * configure.ac: Bump to beta4.
1036
9c815e01
VS
10372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1040 --fs-uuid --set UUID syntax.
1041
59e2651a
VS
10422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1045 disunification.
1046
54e03cfc
VS
10472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1050
81092a75
MK
10512012-04-18 Mads Kiilerich <mads@kiilerich.com>
1052
1053 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1054
f8315e14
MG
10552012-04-18 Mike Gilbert <floppym@gentoo.org>
1056
1057 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1058
1501ac21
B
10592012-04-18 Bean <bean123ch@gmail.com>
1060
1061 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1062 place.
1063
cb7f944e
VS
10642012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1067 users updated.
1068 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1069 corresponding to GRUB partitions.
1070 (grub_util_biosdisk_write): Likewise.
1071
b72d44a1
VS
10722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Scan mdraid before LVM.
1075
1076 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1077 (grub_diskfilter_register_front): ... this.
1078 (grub_diskfilter_register_back): New function.
1079 All users of grub_diskfilter_register updated.
1080
33d918b8
VS
10812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * util/grub-install.in: Fix an automatic target detection bug.
1084
c6ca973d
VS
10852012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * util/grub-install.in: New option --efi-directory.
1088
b41be562
VS
10892012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1092 boot services if we have no other choice.
1093
10942012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1097 document it.
1098 * tests/util/grub-shell.in: Update to --directory.
1099
e0595a73
VS
11002012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1103
4ed80652
VS
11042012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1107 (grub_minix_read_file): Likewise.
1108 (grub_minix_read_inode): Likewise.
1109 (grub_minix_find_file): Likewise.
1110 (grub_minix_dir): Likewise.
1111
56008077
VS
11122012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/grub-setup.c (setup): Fix partition handling and blocklist
1115 check.
1116
ee520775
VS
11172012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1120 redundant buggy overlap check.
1121
16fc9293
VS
11222012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1125 and grub-mknetdir.
1126
9bab65c4
VS
11272012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1130 kh.loadflags on pre-2.00 kernels.
1131
3c491b47
VS
11322012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 Terminate UNDI and PXE before launching the payload to avoid problems
1135 with DMA.
1136
1137 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1138 (grub_loader_flags): ... this. All users updated.
1139 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1140 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1141 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1142 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1143 function.
1144 (grub_pxe_restore): Likewise.
1145 (fini_hnd): New var.
1146 (GRUB_MOD_INIT): Register shutdown hook.
1147 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1148 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1149 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1150 (grub_loader_set): Rename second argument to flags.
1151
851ffada
VS
11522012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1155 written bytes.
1156 (grub_get_num_of_utf8_bytes): New function.
1157 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1158 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1159 executing it.
1160 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1161 (grub_ucs4_to_utf8): Change return type.
1162
491c57a8
VS
11632012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1166 warning.
851ffada
VS
1167 * grub-core/fs/bfs.c (hop_level): Likewise.
1168 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 1169
756773df
VS
11702012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/lib/adler32.c: Recode due to license unclearness.
1173
fd556a96
VS
11742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
1177 (test_header): Likewise.
1178
9f9d3f69
VS
11792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 Fix --help formatting.
1182
1183 * util/grub-mkconfig_lib.in (print_option_help): New function.
1184 (grub_fmt): Likewise.
1185 * util/grub-install.in: Use print_option_help and grub_fmt.
1186 * util/grub-kbdcomp.in: Likewise.
1187 * util/grub-mkconfig.in: Likewise.
1188 * util/grub-mknetdir.in: Likewise.
1189 * util/grub-mkrescue.in: Likewise.
1190 * util/grub-mkstandalone.in: Likewise.
1191 * util/grub-reboot.in: Likewise.
1192 * util/grub-set-default.in: Likewise.
1193 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1194
561ec77e
VS
11952012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * linguas.sh: Remove autogenerated *.po.
1198
7ec2b021
VS
11992012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * po/README: Move language fetcing to ...
1202 * linguas.sh: ... here.
1203 * po/README: Point to linguas.sh.
1204
a88f3270
VS
12052012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * po/README: Exclude ko.po due to disclaimer problems.
1208
d61357ce
VS
12092012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1212 len = 0.
1213 (grub_gettext_translate_real): Handle 0th string.
1214 (grub_gettext_translate): Ensure that "" isn't translated.
1215
505e41dc
VS
12162012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1219 TRANSLATORS comment.
1220 (grub_diskfilter_print_partmap): Propagate changing of error into
1221 warning.
1222
e44092db
VS
12232012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1226 to uint64_t to prevent overflow.
1227 (grub_diskfilter_lv): Increase start_extent and extent_count
1228 to uint64_t to prevent overflow.
1229
9b83956a
VS
12302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * configure.ac: Increase version.
1233
da0d5b3f
VS
12342012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1237
1238 * po/Rules-translit: New file.
1239 * po/arabic.sed: Likewise.
1240 * po/cyrillic.sed: Likewise.
1241 * po/greek.sed: Likewise.
1242 * po/hebrew.sed: Likewise.
1243 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1244 * po/Makefile.in.in: Add extra_dist4.
1245
ac66b453
VS
12462012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1249
1250 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1251 modify names. Introduce MODE_BIGENDIAN.
1252 * grub-core/fs/minix_be.c: New file.
1253 * grub-core/fs/minix2_be.c: Likewise
1254 * grub-core/fs/minix3_be.c: Likewise.
1255 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
1256 minix3_be.
1257 * grub-core/Makefile.core.def (minix_be): New module.
1258 (minix2_be): Likewise.
1259 (minix3_be): Likewise.
1260
12612012-04-01 Felix <email@hamburg.de>
1262
1263 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
1264 (devs): Add MBP 2011.
1265
0a2d5a82
VS
12662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
1269
d1625889
VS
12702012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/normal/cmdline.c (print_completion): New field
1273 prompt_len.
1274 (grub_cmdline_get): Handle width properly.
1275
6d36a236
VS
12762012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/commands/lsacpi.c (options): Add missing terminator.
1279
9576977e
VS
12802012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 1283 after 29th of February.
9576977e 1284
d73ff15d
VS
12852012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Fix exfat endianness handling.
1288
1289 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
1290 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
1291 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
1292 Byte-swap utf16 when necessary.
1293 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
1294
bbb39a45
AB
12952012-03-31 Anton Blanchard <anton@samba.org>
12962012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 Fix btrfs endianness handling.
1299
1300 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
1301 (lower_bound): Make root uint64_t. Use root in le.
1302 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
1303 (find_path): Fix template key init.
1304 (grub_btrfs_dir): Fix mtime byteswap.
1305 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
1306
354e0af7
VS
13072012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
1310 recursion_depth. Break infinite resursions. All users updated.
1311
4e75f21c
VS
13122012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
1315 after free.
1316 Reported by: Peter Jones.
1317
25581802
AB
13182012-03-31 Anton Blanchard <anton@samba.org>
1319
1320 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
1321 8 bit values.
1322
08fbf92e
VS
13232012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * util/grub-install.in: Fix nvram call for PreP.
1326
5d1182a6
VS
13272012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
1330 the error when some elements are missing into a warning.
1331
3f8cdd90
VS
13322012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
1335
51006716
CW
13362012-03-28 Colin Watson <cjwatson@ubuntu.com>
1337
1338 * docs/grub.texi (Invoking grub-probe): New section.
1339 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
1340
e1bd676b
VS
13412012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 Fix tab and wide character handling in editor and menu.
1344
1345 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
1346 agglomerate control characters with combining marks.
1347 (bidi_line_wrap): Allow break on tab.
1348 (grub_unicode_get_comb_start): New function.
1349 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
1350 and tab correctly.
1351 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
1352 with a space.
1353 * grub-core/normal/term.c (print_ucs4_terminal): New argument
1354 fixed_tab_size. All users updated.
1355 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
1356 (grub_term_getcharwidth): Handle \t.
1357 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
1358 and copy.
1359
22e6a774
VS
13602012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Handle big-endian mdraid.
1363
1364 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
1365 * grub-core/Makefile.core.def (mdraid09_be): New module.
1366 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
1367 rather than grub_le_to_cpu* and grub_cpu_to_le*.
1368 * grub-core/disk/mdraid_linux_be.c: New file.
1369
3c0eae66
VS
13702012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
1373
b6cf74c9
VS
13742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1377 missing quotes which caused confusion among translators.
1378
83c93b9c
VS
13792012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * util/grub-mkconfig_lib.in: Fix typo.
1382
ac6fd218
VS
13832012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
1386 spaces.
1387 * tests/grub_script_leading_whitespace.in: New file.
1388 * Makefile.util.def (grub_script_leading_whitespace): New test.
1389
ba287dd8
VS
13902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
1393 to work.
1394
d2d58d0a
VS
13952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
1398 starts with control character.
1399
0382d9bb
VS
14002012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
1403 overflow.
1404 (grub_gdb_outbuf): Likewise.
1405
d83ff9f9
VS
14062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
1409 zero terminator. Fixes a crash.
1410
2282da4a
VS
14112012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
1414 beyond 4 GiB.
1415 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
1416 images independently of preffered adderss field.
1417
0ae4f0bd
VS
14182012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
1421 * grub-core/commands/regexp.c: Likewise.
1422 * grub-core/loader/i386/linux.c: Likewise.
1423 * grub-core/partmap/msdos.c: Likewise.
1424 * grub-core/script/execute.c: Likewise.
1425 * grub-core/term/gfxterm.c: Likewise.
1426
546fbe9b
VS
14272012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 Add variable parsing in $"..." and fix several mismatches with bash.
1430
1431 * Makefile.util.def (grub_script_gettext): New test.
1432 * grub-core/script/execute.c (parse_string): New function.
1433 (gettext_append): Likewise.
1434 (grub_script_arglist_to_argv): Use gettext_append.
1435 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
1436 * tests/grub_script_gettext.in: New file.
1437
9fdb2d7b
VS
14382012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 Fix handling of leading spaces in scripts.
1441
1442 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
1443 spaces.
1444 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
1445 other than skipping \r. All users updated.
1446 * tests/grub_script_echo1.in: Add space-related tests.
1447 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
1448
1a1ac4f6
VS
14492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
1452
b63d89b6
VS
14532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * configure.ac: Bump up the version to beta2.
1456
17f38c0f
VS
14572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 Fix gettext reload bugs (e.g. inability to disable gettext
1460 once enabled).
1461
1462 * grub-core/gettext/gettext.c: Encapsulate all static variables in
1463 main_context and secondary_context. All functions updated.
1464 (grub_gettext_translate): Rename to ...
1465 (grub_gettext_translate_real): ... this. Return NULL on failed
1466 translate.
1467 (grub_gettext_translate): Handle secondary context.
1468 (grub_gettext_delete_list): Close file and zero-out the context.
1469 (grub_mofile_open): Don't call grub_gettext_delete_list.
1470 Don't close file.
1471 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
1472 if locale="" to avoid pointless error message.
1473 (grub_gettext_env_write_lang): Update lang even if load fails.
1474 Handle secondary context.
1475 (grub_gettext_reread_prefix): New function.
1476 (read_main): Likewise.
1477 (read_secondary): Likewise.
1478 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
1479 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
1480 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
1481 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
1482
8e56f870
VS
14832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * configure.ac: Decrease warning level to avoid spurious warnings and
1486 to be able to compile with GCC 4.2.
1487 * Makefile.util.def: Remove -Wno-error=logical-op.
1488
82f6d455
WB
14892012-03-10 William Bittner <william.bittner@gmail.com>
1490
1491 * util/import_unicode.py: Add missing brackets around string for
1492 python 3 support.
1493
1ecd61a4
VS
14942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 Fix efi chainloader on network root.
1497
1498 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
1499 network devices.
1500 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
1501 New function.
1502
14361ee8
VS
15032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
1506 unused show_text member.
1507 * docs/grub.texi: Document "text" property.
1508
922aabf3
VS
15092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
1512 in dprintf.
1513
ec316771
VS
15142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 Fix IMSM handling on Fedora.
1517
1518 * util/getroot.c (grub_util_is_imsm): New function.
1519 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
1520
0f021838
VS
15212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * Makefile.am: Strip gold section.
1524 * conf/Makefile.common: Likewise.
1525 * gentpl.py: Likewise.
1526 * grub-core/Makefile.core.def: Likewise.
1527 * grub-core/genmod.sh.in: Likewise.
1528
1039c8eb
VS
15292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
1532 * util/grub.d/20_linux_xen.in: Likewise.
1533 Based on Debian patch.
1534
6dd412cd
VS
15352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * util/grub.d/10_linux.in: Fix syntax error resulting in
1538 Richard Laager's patch.
1539 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
1540
3fd8bae5
VS
15412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
1544 dependencies.
1545
7eea1671
RL
15462012-03-10 Richard Laager <rlaager@wiktel.com>
1547
1548 * util/grub.d/10_linux.in: Fix ZFS root passing.
1549
e8e0566b
VS
15502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1553 * grub-core/commands/xnu_uuid.c: Likewise.
1554 * grub-core/loader/efi/appleloader.c: Likewise.
1555 * grub-core/script/execute.c: Likewise.
1556 * grub-core/script/main.c: Likewise.
1557 * util/grub-mkfont.c: Likewise.
1558
1acc5b1f
VS
15592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * util/grub-mkfont.c (options): Use more appropriate "select" that
1562 "set" for face index.
1563
35d70620
VS
15642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * util/grub-editenv.c (options): Gettextize command summaries.
1567
c9eb96b5
VS
15682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
1571 "out of memory" error messagge.
1572
1f493136
VS
15732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
1576 of diskfilter for diskfilter on diskfilter support.
1577
6d790129
VS
15782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
1581
005f46c9
VS
15822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * util/grub-install.in: Check for themes/starfield/theme.txt and not
1585 themes/starfield.
1586
c8f778a0
VS
15872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
1590
de1e64eb
VS
15912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
1594
c6d54211
VS
15952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
1598 of error message.
1599
dd390777
VS
16002012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
1603
5fd1c522
VS
16042012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
1607 message.
c6d54211 1608 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 1609
fae01f6c
VS
16102012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
1613 Gettextize.
1614 * util/grub-mount.c (options): Likewise.
1615
292fdaff
VS
16162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
1619 gettextize.
1620 * grub-core/commands/search_wrap.c (options): Likewise.
1621
ecdbae77
VS
16222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1625
52bfedfa
VS
16262012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1629 size calculation.
1630 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1631 none is known.
1632
55b20e58
VS
16332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1636 "temporary" since it's used in identifier and is limited in space.
1637
fda9d101
VS
16382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * po/POTFILES.in: Regenerate. Include *.h since they contain
1641 translatable strings as well.
1642
6a0295e2
VS
16432012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1646 byte-swap on big-endian.
1647 Reported by: Lennart Sorensen
1648
807fb77c
VS
16492012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1652 (allocate_pages): Improve dprintf.
1653 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1654 code32_start. Fill code32_start and kernel_alignment in params.
1655 (grub_cmd_initrd): Use prot_init_space.
1656
61ac50ba
VS
16572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1660
abdd26dd
VS
16612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * util/grub-install.in: Add missing dot at the end of sentence.
1664
6e69da9c
VS
16652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1668 * grub-core/commands/videotest.c: Likewise.
1669 * grub-core/loader/i386/linux.c: Likewise.
1670
4a929343
VS
16712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1674 sentence.
1675 Reported by: Milo Casagrande.
1676
bb51c6c6
VS
16772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1680 * grub-core/commands/gptsync.c: Likewise.
1681 * grub-core/commands/hashsum.c: Likewise.
1682 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1683 * grub-core/commands/legacycfg.c: Likewise.
1684 * grub-core/io/gzio.c: Likewise.
1685 * grub-core/net/net.c: Likewise.
1686 * grub-core/term/gfxterm.c: Likewise.
1687 * grub-core/term/terminfo.c: Likewise.
1688 * grub-core/tests/test_blockarg.c: Likewise.
1689 * grub-core/video/video.c: Likewise.
1690 * util/grub-install.in: Likewise.
1691 * util/grub-mkfont.c: Likewise.
1692
b2b149cb
VS
16932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1696
c7c080ad
VS
16972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1700 Reported by: David Prévot.
c7c080ad 1701
f2e243c0
VS
17022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1705 description.
1706
09963c76
VS
17072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * util/grub-script-check.c (main): Fix a syntax error message which was
1710 unclear.
1711
a50514a8
VS
17122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1715
4650daec
VS
17162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1719 messages.
1720
17212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1722
1723 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1724 without argument.
1725 * util/grub-mount.c (options): Likewise.
1726
bbc5a342
VS
17272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1730
ef292a87
VS
17312012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/net/http.c: Add TRANSLATORS comments.
1734 * grub-core/normal/cmdline.c: Likewise.
1735 * grub-core/normal/misc.c: Likewise.
1736 * grub-core/partmap/msdos.c: Likewise.
1737 * grub-core/parttool/msdospart.c: Likewise.
1738 * grub-core/script/execute.c: Likewise.
1739 * grub-core/script/main.c: Likewise.
1740 * grub-core/term/terminfo.c: Likewise.
1741 * grub-core/video/bitmap.c: Likewise.
1742 * util/grub-install.in: Likewise.
1743 * util/grub-mkimage.c: Likewise.
1744 * util/grub-mklayout.c: Likewise.
1745 * util/grub-setup.c: Likewise.
1746
0fc19bd0
VS
17472012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1750 with similar messages in grub-fstest.
1751
d95862ef
VS
17522012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * util/grub-install.in: Unify "option requires an argument" message
1755 with similar messages in other files.
1756 * util/grub-mkconfig.in: Likewise.
1757
b7308f90
VS
17582012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * util/grub-set-default.in: Replace printf with gettext_printf (the
1761 string in in question is already translated from grub-reboot)
1762
559dc587
VS
17632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * configure.ac: Bump up the version to beta1.
1766
1a11761f
VS
17672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1770 case when min_align = 0.
1771
24539abd
VS
17722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1775 and fix a case when line_start overflows.
1776
32bd735b
VS
17772012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * util/grub-reboot.in (usage): Mention id posibility.
1780 * util/grub-set-default.in (usage): Likewise.
1781
1a2fd1e6
VS
17822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1785 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1786 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1787 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1788 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1789 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1790 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1791
90eeab76
VS
17922012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/commands/menuentry.c (options): Remove
1795 GRUB_ARG_OPTION_REPEATABLE.
1796 Reported by: Andreas Vogel
1797
5ad1be82
AV
17982012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1799
1800 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1801
cb055286
HE
18022012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1803
1804 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1805 error.
1806
93b1cd79
VS
18072012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 Use sort -V by the idea of Georgi Georgiev.
1810
1811 * util/grub-mkconfig_lib.in (version_sort): New function.
1812 (version_test_numeric): Use version_sort.
1813
0cdc126c
VS
18142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 Use submenus in grub-mkconfig.
1817
1818 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1819 * util/grub-mkconfig_lib.in (grub_quote): New function.
1820 (gettext_printf): Use gettext and not gettext_quoted to fix several
1821 messages.
1822 * util/grub.d/10_hurd.in: Use submenus.
1823 * util/grub.d/10_kfreebsd.in: Likewise.
1824 * util/grub.d/10_linux.in: Likewise.
1825 * util/grub.d/10_netbsd.in: Likewise.
1826 * util/grub.d/20_linux_xen.in: Likewise.
1827 * util/grub.d/30_os-prober.in: Likewise.
1828 * util/grub.d/10_illumos.in: Add missing quoting.
1829 * util/grub.d/10_windows.in: Likewise.
1830
d9bef9bc
VS
18312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Fix menu title instability bug.
1834
1835 * grub-core/commands/menuentry.c (options): New option --id.
1836 (grub_normal_add_menu_entry): New argument id. All users updated.
1837 (grub_cmd_menuentry): Handle --id.
1838 (grub_menu_init): Accept unknown arguments.
1839 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1840 feature_menuentry_options.
1841 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1842 saved_entry.
1843 (get_entry_number): Match with id as well.
1844 * include/grub/menu.h (grub_menu_entry): New member id.
1845 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1846 * util/grub.d/00_header.in: Define menuentry_id_option.
1847 * util/grub.d/10_hurd.in: Define id.
1848 * util/grub.d/10_illumos.in: Likewise.
1849 * util/grub.d/10_kfreebsd.in: Likewise.
1850 * util/grub.d/10_linux.in: Likewise.
1851 * util/grub.d/10_netbsd.in: Likewise.
1852 * util/grub.d/10_windows.in: Likewise.
1853 * util/grub.d/20_linux_xen.in: Likewise.
1854 * util/grub.d/30_os-prober.in: Likewise.
1855
18562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1857
1858 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1859 "scope" with "body".
1860
7c8d0ce7
VS
18612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1864 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1865 prot_size and prot_file_size.
1866
49de079b
VS
18672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1870 All users updated. If easily=1 require raid-5/-6 to be full.
1871 (is_node_readable): Likewise.
1872 (scan_devices): Scan incomplete but readable LVs at the end.
1873 (grub_diskfilter_memberlist): Pull missing devices.
1874 (insert_array): Skip scanning until device is complete or scan is
1875 done otherwise.
1876 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1877 check.
1878 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1879 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1880
aff05d45
MG
18812012-03-03 Matthew Garrett <mjg@redhat.com>
18822012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Avoid EFI boot services when loading Linux.
1885
1886 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1887 avoid_efi_bootservices. All users updated.
1888 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1889 argument avoid_efi_bootservices. All users updated.
1890 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1891 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1892 align, min_align, relocatable, prefered_address. All users updated.
1893 Allocate avoiding boot services if kernel is relocatable.
1894 (grub_cmd_linux): Check if kernel is relocatable.
1895 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1896 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1897 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1898 avoid_efi_boot_services.
1899 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1900 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1901 (linux_kernel_params): Likewise.
1902
3935dde2
MG
19032012-03-03 Matthew Garrett <mjg@redhat.com>
19042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Use EDID on EFI.
1907
1908 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1909 datasize_out.
1910 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1911 modes. Set gop_handle.
1912 (grub_video_gop_get_edid): New function.
1913 (grub_gop_get_preferred_mode): Likewise.
1914 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1915 (grub_video_efi_gop_adapter): Set .get_edid.
1916 * include/grub/efi/edid.h: New file.
1917 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1918
32107ec0
VS
19192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * util/grub-install.in: Load efivars unconditionally.
1922
e70a2c50
VS
19232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * po/Rules-piglatin: Change suffix from .po-update-en to
1926 .po-update-en-piglatin.
1927
8f9cace1
VS
19282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 Add a pig farm.
1931
1932 * po/piglatin.sed: New file.
1933 * po/en@piglatin.header: Likewise.
1934 * po/Rules-piglatin: Likewise.
1935 * po/README: Add en@piglatin to autogenerated languages.
1936
8f95d002
VS
19372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1940 "Command for ...".
1941 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1942 "Check" since we don't check anything.
1943 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1944 is 64-bit one.
1945 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1946 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1947 (grub_md_sha512_real): Likewise.
1948
805a8dcc
VS
19492012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/commands/gptsync.c: Fix typographic quoting.
1952 * grub-core/commands/ieee1275/suspend.c: Likewise.
1953 * grub-core/commands/parttool.c: Likewise.
1954 * grub-core/commands/search_wrap.c: Likewise.
1955 * grub-core/commands/videoinfo.c: Likewise.
1956 * grub-core/gfxmenu/gui_label.c: Likewise.
1957 * grub-core/hello/hello.c: Likewise.
1958 * grub-core/kern/emu/main.c: Likewise.
1959 * grub-core/net/net.c: Likewise.
1960 * grub-core/normal/menu.c: Likewise.
1961 * grub-core/normal/menu_text.c: Likewise.
1962 * grub-core/normal/misc.c: Likewise.
1963 * util/grub-editenv.c: Likewise.
1964 * util/grub-install.in: Likewise.
1965 * util/grub-kbdcomp.in: Likewise.
1966 * util/grub-mkconfig.in: Likewise.
1967 * util/grub-mknetdir.in: Likewise.
1968 * util/grub-mkrescue.in: Likewise.
1969 * util/grub-mkstandalone.in: Likewise.
1970 * util/grub-reboot.in: Likewise.
1971 * util/grub-set-default.in: Likewise.
1972 * util/grub-setup.c: Likewise.
1973 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1974
40211ab8
VS
19752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1978 * grub-core/commands/keystatus.c: Likewise.
1979 * grub-core/commands/loadenv.c: Likewise.
1980 * grub-core/commands/probe.c: Likewise.
1981 * grub-core/commands/regexp.c: Likewise.
1982 * grub-core/commands/true.c: Likewise.
1983 * grub-core/commands/videoinfo.c: Likewise.
1984 * grub-core/disk/cryptodisk.c: Likewise.
1985 * grub-core/disk/ldm.c: Likewise.
1986 * grub-core/disk/loopback.c: Likewise.
1987 * grub-core/disk/luks.c: Likewise.
1988 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1989 * grub-core/kern/disk.c: Likewise.
1990 * grub-core/kern/emu/hostdisk.c: Likewise.
1991
0c7d99c7
VS
19922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1995 * util/grub-install.in: Add missing quote in the comment.
1996
e7d2559b
VS
19972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2000 * grub-core/commands/lsmmap.c: Likewise.
2001 * grub-core/commands/minicmd.c: Likewise.
2002 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2003 * grub-core/commands/regexp.c: Likewise.
2004 * grub-core/gdb/gdb.c: Likewise.
2005 * grub-core/term/gfxterm.c: Likewise.
2006 * util/grub-mkconfig.in: Likewise.
2007 * util/grub-mkfont.c: Likewise.
2008 * util/grub-mklayout.c: Likewise.
2009 * util/grub-mknetdir.in: Likewise.
2010 * util/grub-mkrescue.in: Likewise.
2011 * util/grub.d/30_os-prober.in: Likewise.
2012
49ce9e50
VS
20132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2016 with "Direct color" and "Packed" with "Packed pixel".
2017 (grub_cmd_videoinfo): Simplify legend.
2018
e4b791fa
VS
20192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2022 absolutely unclear error message.
2023
fd1265cb
VS
20242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * util/grub-mkstandalone.in: Remove confusing leftover print.
2027
8822a8a0
VS
20282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2031 comments.
2032 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2033 (GRUB_MOD_INIT): Likewise.
2034 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2035 VGA mode.
2036 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2037 comments.
2038 * util/grub-install.in (usage): Likewise.
2039 Spell ID in whole letters.
2040 Add missing ending dot.
2041 Quote variables.
2042 * util/grub-reboot.in: Fix capitalisation.
2043 * util/grub-set-default.in: Likewise.
2044
937fd0cc
VS
20452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2048 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2049 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2050 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2051 Disable -Werror for -Wdeprecated-declarations.
2052 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2053 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2054 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2055 (grub_util_get_grub_dev): Make luks handling dependent on
2056 HAVE_DEVICE_MAPPER and not __linux__.
2057 (get_win32_path): Fix format security.
2058 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2059 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2060 Don't try grub_find_zpool_from_dir.
2061 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2062 #ifdef-out paresdir.
2063
1bab1ae3
VS
20642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * util/grub-pe2elf.c (usage): Add missing noreturn.
2067 (write_section_data): Rename name to shname to avoid shadowing.
2068 (write_symbol_table): Rename name to symname to avoid shadowing.
2069 Fix write_reloc_section call.
2070
ef023e42
VS
20712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2074 to ensure that it's after the last byte of .text.
2075
48afcb75
VS
20762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * util/ieee1275/ofpath.c (my_isdigit): New function.
2079 (trailing_digits): Use my_isdigit.
2080 (strip_trailing_digits): Likewise.
2081
88d51eff
VS
20822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2085 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2086
17edc2ba
VS
20872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/kern/i386/pc/startup.S: Define __start.
2090
ad5518d7
VS
20912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2094 strip already transforms he format.
2095
9e95e1bf
VS
20962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2099
9cc3ee5c
VS
21002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/grub-install.in: Add missing gettext init.
2103 * util/grub-kbdcomp.in: Likewise.
2104 * util/grub-mkconfig.in: Likewise.
2105 * util/grub-mknetdir.in: Likewise.
2106 * util/grub-mkrescue.in: Likewise.
2107 * util/grub-mkstandalone.in: Likewise.
2108 * util/grub-reboot.in: Likewise.
2109 * util/grub-set-default.in: Likewise.
2110 * util/grub.d/00_header.in: Likewise.
2111 * util/grub.d/10_hurd.in: Likewise.
2112 * util/grub.d/10_windows.in: Likewise.
2113 * util/grub.d/30_os-prober.in: Likewise.
2114 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2115
49e08a06
VS
21162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * po/Rules-swiss: Fix header comment.
2119
3809cb41
AV
21202012-02-29 Andreas Vogel <anvoit>
2121
2122 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2123 resulted in leak of arguments.
2124
fa6ec573
VS
21252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2128 reed_solomon_size const definition instead of computing it since
2129 Apple assembler doesn't support the later.
2130
22899b9c
VS
21312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * gentpl.py (kernel): Rewrite Apple part.
2134
a132afc3
VS
21352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2138
9d742bd4
VS
21392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2142 ELF section gap.
2143 (load_image): Likewise.
2144
f04a9a21
VS
21452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * configure.ac: Fix a typo in previous commit.
2148
46cf439c
VS
21492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Don't add -Wl,-N on Apple platform.
2152
2153 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2154 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2155
c4c48c54
VS
21562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/Makefile.core.def (lzma_decompress): Use
2159 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2160
31a12124
VS
21612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/genmod.sh.in: Rewrite the Apple part.
2164
4f3aa1af
VS
21652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2168 comparison.
2169
7bd8b0c7
VS
21702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * acinclude.m4 (grub_CHECK_PIC): New test.
2173 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2174
97304d7c
VS
21752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
2178 to avoid the warning.
2179
fb883812
VS
21802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2183 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2184 after. All users updated.
2185
a121c964
VS
21862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Use the common size routine in hostfs so we can read disks as well.
2189
2190 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2191 (grub_util_get_fd_size): ... this. Return size in bytes.
2192 All users updated.
2193 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2194 grub_util_get_fd_size.
2195
c66d6410
VS
21962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2199 Add blocksize retrieval.
2200
dfc8aeb0
VS
22012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * configure.ac: Restore CFLAGS after efiemu check.
2204
403e25a5
VS
22052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2208 Apple bug.
2209
382775d1
VS
22102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2213
6fd4e6e4
VS
22142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2217 (grub_cmd_halt): Likewise.
2218
bea359d6
VS
22192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2222 for local arithmetics.
2223 Break %sp init into 2 instructions.
2224 Add 0 byte at the end.
2225
32eb6ee1
VS
22262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2229 before loops.
2230
e8377389
VS
22312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2234 for context.
2235
8cb17de7
VS
22362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/disk/ldm.c (make_vg): Init part.name.
2239 (grub_ldm_detect): Silence spurious warning.
2240 (grub_util_is_ldm): Likewise.
2241
595717e6
VS
22422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2245 sane value to avoid a spurious warning.
2246
c4b7e588
VS
22472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2250 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2251
59824957
VS
22522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2255 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
2256
70115b99
VS
22572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
2260 hardcoding the relevant info.
2261
56733740
VS
22622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
2265 missing const qualifiers.
2266 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2267
43481481
VS
22682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * util/getroot.c [__APPLE__]: Add missing includes.
2271 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2272
3cb38f01
VS
22732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * util/grub-mkimage.c (generate_image): Silence spurious warning.
2276
d9dbf11e
VS
22772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
2280 avoid conflicts.
2281
0c42a45d
VS
22822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
2285
46c34eb0
VS
22862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
2289 and grub_file_close call.
2290
99ce1597
VS
22912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 Add LZSS Mach-O support (needed for new xnu kernelcache).
2294
2295 * grub-core/Makefile.core.def (xnu): Add file lzss.c
2296 * grub-core/loader/lzss.c: New file.
2297 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
2298 on Mach-O open failure.
2299 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
2300 Don't free cmdsXX in uncompressedXX is set.
2301 (grub_macho_file): Init new fields.
2302 New argument is_64bit. All users updated.
2303 Handle compressed. Error out if no suitable architecture is found.
2304 Don't close file.
2305 (grub_macho_open): New argument is_64bit. All users updated.
2306 * grub-core/loader/macho32.c: Add defines for new fields.
2307 * grub-core/loader/macho64.c: Likewise.
2308 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
2309 (grub_macho_parse): Handle compressed.
2310 Defer actual processing if compressed.
2311 (grub_macho_cmds_iterate): Decompress if compressed. New argument
2312 "filename". All users updated.
2313 (grub_macho_size): New argument "filename". All users updated.
2314 (grub_macho_get_entry_point): Likewise.
2315 (grub_macho_load): Handle compressed.
2316 * include/grub/macho.h (grub_macho_lzss_header): New struct.
2317 (GRUB_MACHO_LZSS_OFFSET): New define.
2318 (grub_decompress_lzss): New proto.
2319 * include/grub/machoload.h (grub_macho_file): New fields to handle
2320 compressed.
2321 (grub_macho_contains_macho64): Remove proto.
2322 (grub_macho_contains_macho32): Likewise.
2323 * util/grub.d/30_os-prober.in: Use kernel cache if available.
2324
ebd17d6f
VS
23252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
2328
2702b4e4
VS
23292012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 Fix make dist.
2332
2333 * Makefile.am (starfield_theme_files): New var.
2334 (starfield_DATA): Use starfield_theme_files.
2335 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
2336 Add bootcheck-related files.
2337 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
2338 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
2339 and font_char_metrics.txt.
2340 * grub-core/Makefile.core.def (kernel): Update extra_dist.
2341 (setjmp): Add lib/ia64/longjmp.S.
2342 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
2343 * po/POTFILES.in: Regenerate.
2344 * po/Rules-swiss: use DISTFILES.common.extra2 and not
2345 DISTFILES.common.extra1.
2346 * util/devicemap.c: Removed.
2347 * grub-core/lib/i386/relocator_backward.S: Likewise.
2348 * util/import_gcry.py: Remove unused files. Add extra_dist for
2349 ChangeLog.
2350
cf1adfdf
VS
23512012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/gettext/gettext.c (grub_mofile_open): Call
2354 grub_gettext_delete_list before changing grub_gettext_max to avoid
2355 running out of array bounds.
2356
23572012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
2358
2359 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
2360 grub_vga_text_init/grub_vga_text_fini.
2361
cf1adfdf 23622012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
2363
2364 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
2365
541d92e9
VS
23662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * configure.ac: Bump to 2.00~beta0.
2369
7931dddf
VS
23702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
2373 missing initialisation.
2374
f1b16fa3
VS
23752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
2378
83ddae23
VS
23792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Support v2 xnu boot arguments.
2382
2383 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
2384 New argument fsbfreq_out.
2385 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
2386 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
2387 be used.
2388 * grub-core/loader/machoXX.c (grub_macho_load): New argument
2389 darwin_version.
2390 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
2391 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
2392 (grub_xnu_boot_params): Rename to ...
2393 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
2394 (grub_xnu_boot_params_v2): New struct.
2395
dc693fe6
VS
23962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
2399 zeroing of CRC field before computing CRC.
2400
5a6e39c2
VS
24012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
2404 Change order of allocations to decrease fragmentation.
2405
6c21f5d7
VS
24062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
2409
cfe456dc
CW
24102012-02-27 Colin Watson <cjwatson@ubuntu.com>
2411
2412 Use write-combining MTRR to speed up video with buggy BIOSes.
2413
2414 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
2415 (cpuid): New define.
2416 (rdmsr): Likewise.
2417 (wrmsr): Likewise.
2418 (mtrr_base): Likewise.
2419 (mtrr_mask): Likewise.
2420 (grub_vbe_enable_mtrr_entry): New function.
2421 (grub_vbe_enable_mtrr): Likewise.
2422 (grub_vbe_disable_mtrr): Likewise.
2423 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
2424 control off to BIOS.
2425 (grub_video_vbe_init): Fill mtrr.
2426 (grub_video_vbe_fini): Disable mtrr.
2427 (grub_video_vbe_get_info_and_fini): Likewise.
2428 (grub_video_vbe_setup): Enable mtrr.
2429
e3c78337
CW
24302012-02-27 Colin Watson <cjwatson@ubuntu.com>
2431
2432 * include/grub/partition.h (grub_partition_map): Change prototype of
2433 embed to take a maximum value for nsectors.
2434 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
2435 * include/grub/fs.h (grub_fs): Likewise.
2436 * grub-core/partmap/msdos.c (embed_signatures): New array.
2437 (pc_partition_map_embed): Check for and avoid sectors matching any
2438 of the signatures in embed_signatures, up to max_nsectors.
2439 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
2440 returned sector map to max_nsectors.
2441 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
2442 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
2443 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
2444 * util/grub-setup.c (setup): Allow for the embedding area being
2445 split into multiple blocklists. Tell dest_partmap->embed the
2446 maximum number of sectors we care about.
2447
24482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
2451 Specify blocklist_install and reserver_first_sector for all fs.
2452 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
2453 blocklists.
2454
984b973f
VS
24552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * util/grub-install.in: Clarify strings.
2458 Fix source dir check.
2459
f122e0d6
RL
24602012-02-27 Richard Laager <rlaager@wiktel.com>
2461
2462 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
2463 "zfs" and "fuse.zfs" as synonyms.
2464
071114bb
VS
24652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * configure.ac: Put platform and target_cpu substitutions back since
2468 they are used for directories.
2469
817e6abc
RL
24702012-02-27 Richard Laager <rlaager@wiktel.com>
24712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * util/grub.d/10_linux.in: Add ZFS-related arguments.
2474 * util/grub.d/20_linux_xen.in: Likewise.
2475
897b7419
RL
24762012-02-27 Richard Laager <rlaager@wiktel.com>
2477
2478 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
2479 with full paths.
2480
a414bd15
RL
24812012-02-27 Richard Laager <rlaager@wiktel.com>
2482
2483 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
2484 unescape.
2485
30ac48c4
VS
24862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 Don't use insecure popen in getroot.
2489
2490 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
2491 (exec_pipe): ... here.
2492 (find_root_devices_from_poolname): Use exec_pipe.
2493
53f13848
VS
24942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 Remove platform and target_cpu replacement.
2497
2498 * configure.ac: Remove platform and target_cpu substitutions.
2499 * tests/util/grub-shell.in: Use modinfo.
2500 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
2501 explicitly.
2502
90cb2803
VS
25032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Autodetect platform in grub-install but allow override.
2506
2507 * util/grub-install.in: Autodetect platform. Support --target and
2508 --directory. Read platform from modinfo.sh.
2509
b9136427
VS
25102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 Support btrfs multi-volume probe.
2513
2514 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
2515 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
2516 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
2517 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
2518 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
2519 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
2520 grub_find_root_devices_from_btrfs if on btrfs.
2521
c36e5cd1
VS
25222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Remove any awareness of *.c util files about target.
2525
2526 * Makefile.util.def (grub-setup): Split to ...
2527 (grub-bios-setup): ... and this.
2528 (grub-sparc64-setup): ... and this.
2529 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
2530 * docs/man/grub-setup.h2m: Split into ...
2531 * docs/man/grub-sparc64-setup.h2m: ... this.
2532 * docs/man/grub-bios-setup.h2m: ... and this.
2533 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
2534 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
2535 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
2536 (grub_target_addr_t): Remove.
2537 (grub_target_size_t): Remove.
2538 (grub_target_ssize_t): Remove.
2539 * util/grub-install.in: Use new grub-*-setup.
2540 * util/grub-mkimagexx.c (Elf_Word): New define.
2541 (Elf_Half): Likewise.
2542 (Elf_Section): Likewise.
2543 (ELF_ST_TYPE): Likewise.
2544 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
2545 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2546
584b2f8a
VS
25472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Replace grub_target_addr with more appropriate types.
2550
2551 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
2552 grub_target_addr with grub_addr.
2553 * grub-core/commands/iorw.c (grub_cmd_read): Replace
2554 grub_target_addr with grub_port.
2555 (grub_cmd_write): Likewise.
2556 * grub-core/commands/memrw.c (grub_cmd_read): Replace
2557 grub_target_addr with grub_addr.
2558 (grub_cmd_write): Likewise.
2559 * grub-core/video/efi_uga.c (find_line_len): Likewise.
2560
5a0dc6fb
VS
25612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
2564 const qualifier for vendor_guid.
2565
786aff6e
VS
25662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
2569 const qualifier.
2570 (efiemu_memequal): Likewise.
2571 (find_variable): Likewise.
2572
49017b17
VS
25732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 Fix missing console prototype on qemu-mips.
2576
2577 * include/grub/mips/qemu_mips/console.h: New file.
2578
c5988629
MG
25792012-02-27 Matthew Garrett <mjg@redhat.com>
25802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
2583 * include/grub/efi/efi.h: Likewise.
2584 * include/grub/efi/api.h: Add guid for EFI-specified variables.
2585 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
2586 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
2587 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
2588 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
2589 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2590
e33f8d69
MG
25912012-02-27 Matthew Garrett <mjg@redhat.com>
2592
2593 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
2594
fb312cd9
VS
25952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
2598 error.
2599
7134247c
VS
26002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * configure.ac: Remove inappropriate use of program_transform_name
2603 on grubdir and bootdir but allow explicit specification of those
2604 variables.
2605
6a313124
VS
26062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * util/grub-mknetdir.in (grub_prefix): Removed.
2609 (subdir): Use @bootdirname@ and @grubdirname@.
2610
2311c5ca
VS
26112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
2614
7d5d60f7
VS
26152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * po/POTFILES.in: Regenerated.
2618
8151bc82
VS
26192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Remove improper use of program_transform_name on pkglibrootdir.
2622
2623 * configure.ac (pkglibrootdir): Removed.
2624 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2625 * util/grub-mkimage.c: Likewise.
2626
b4a6a533
VS
26272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2630 warning.
2631
668f304f
VS
26322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * util/grub-install.in: Use file identifier if no UUID is available
2635 or user explicitly prompted for it.
2636
665f2341
NP
26372012-02-27 Navdeep Parhar <nparhar@gmail.com>
2638
2639 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2640 (freebsd_get_zfs): New function.
2641 (grub_freebsd_boot): Pass zfs UUID.
2642 (grub_cmd_freebsd): Set zfs UUID.
2643
8151bc82 26442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2645
2646 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2647 pkglibrootdir.
2648
e4c498a1
MG
26492012-02-27 Mike Gilbert <floppym@gentoo.org>
2650
2651 Add configure flag to control libzfs integration.
2652
2653 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2654
1e9a9a3f
VS
26552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2658 device.
2659 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2660 small devices.
2661
036985b8
VS
26622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2665 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2666 be used on non-modules.
2667
2668 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2669 Rename to grub_boot_init.
2670 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2671 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2672 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2673 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2674 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2675 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2676 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2677 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2678 includes.
2679 (grub_machine_init): Remove empty inits.
2680 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2681 includes.
2682 (grub_machine_init): Remove empty inits.
2683 * grub-core/term/arc/console.c: Remove explicit proto.
2684 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2685 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2686 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2687 grub_at_keyboard_fini.
2688 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2689 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2690 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2691 grub_gfxterm_fini.
2692 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2693 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2694 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2695 grub_vgatext_fini.
2696 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2697 * grub-core/term/serial.c (GRUB_MOD_INIT)
2698 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2699 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2700 grub_serial_fini.
2701 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2702 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2703 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2704 grub_terminfo_fini.
2705 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2706 (GRUB_MOD_FINI): Likewise.
2707 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2708 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2709 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2710 grub_video_radeon_fuloong2e_fini.
2711 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2712 [LOONGSON]: Rename to grub_video_sis315pro_init.
2713 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2714 grub_video_sis315pro_fini.
2715 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2716 [LOONGSON]: Rename to grub_video_sm712_init.
2717 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2718 grub_video_sm712_fini.
2719 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2720 (grub_at_keyboard_fini): Likewise.
2721 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2722 Don't declare grub_{modname}_init.
2723 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2724 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2725 New proto.
2726 (grub_keylayouts_fini) [!EMU]: Likewise.
2727 * include/grub/serial.h (grub_serial_init) [!EMU]:
2728 New proto.
2729 (grub_serial_fini) [!EMU]: Likewise.
2730 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2731 New proto.
2732 (grub_terminfo_fini) [!EMU]: Likewise.
2733 * include/grub/video.h (grub_font_init) [!EMU]:
2734 New proto.
2735 (grub_font_fini) [!EMU]: Likewise.
2736 (grub_gfxterm_init) [!EMU]: Likewise.
2737 (grub_gfxterm_fini) [!EMU]: Likewise.
2738 (grub_video_sm712_init) [!EMU]: Likewise.
2739 (grub_video_sm712_fini) [!EMU]: Likewise.
2740 (grub_video_sis315pro_init) [!EMU]: Likewise.
2741 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2742 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2743 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2744
d5534665
VS
27452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 Make nand a prefix for nand devices.
2748
2749 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2750
10133b5f
VS
27512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2754 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2755
8e307a62
VS
27562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * include/grub/env.h (grub_env_find): Remove prototype.
2759 * grub-core/kern/env.c (grub_env_find): Make static.
2760 (grub_env_set): Remove useless set.
2761
a4c65f34
VS
27622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * grub-core/kern/i386/realmode.S: Remove useless align.
2765
d87893d5
VS
27662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * include/grub/dl.h (grub_dl_load_file): Don't export.
2769
50159add
VS
27702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2773 grub_dprintf.
2774
b2582b84
VS
27752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2778 grub_errors.
2779 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2780 not reloading whole superblock but only the part which is really needed.
2781 Remove useless grub_errors.
2782 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2783 grub_errors.
2784
e2a83395
VS
27852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 Don't export grub_get_rtc.
2788
2789 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2790 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2791
e7d2a906
VS
27922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2795
6cf1363b
VS
27962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2799 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2800
eece3349
VS
28012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 Remove prio_list.
2804
2805 * include/grub/list.h (grub_prio_list): Removed.
2806 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2807 GRUB_COMMAND_PRIO_MASK.
2808 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2809 GRUB_COMMAND_FLAG_ACTIVE.
2810 (grub_prio_list_insert): Removed.
2811 (grub_prio_list_remove): Likewise.
2812 (GRUB_AS_PRIO_LIST): Likewise.
2813 (GRUB_AS_PRIO_LIST_P): Likewise.
2814 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2815 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2816 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2817 * grub-core/kern/command.c (grub_register_command_prio): Inline
2818 the prio_list code.
2819 (grub_unregister_command): Likewise.
2820
94f064b4
VS
28212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Fix interrupt mixup from previous commit.
2824
2825 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2826 (grub_realidt): New var.
2827 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2828 Load idt.
2829 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2830 New declaration.
2831 (grub_relocator16_boot): Set grub_relocator16_idt.
2832 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2833 (LOCAL(realidt)): ... this.
2834 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2835 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2836 (grub_realidt): New variable.
2837
27317084
VS
28382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2841 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2842 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2843 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2844 Gettextize.
2845 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2846 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2847 * po/POTFILES.in: Regenerate.
2848
47b40053
VS
28492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2852 errors.
2853
2b343101
VS
28542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2857 \0.
2858 (add_length): Likewise.
2859
ff27c3dd
LK
28602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28612012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2862
2863 GDB serial and backtrace support.
2864
2865 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2866 (prot_to_real): Likewise.
2867 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2868 * grub-core/Makefile.core.def (backtrace): New module.
2869 (gdb): Likewise.
2870 * grub-core/gdb/cstub.c: New file.
2871 * grub-core/gdb/gdb.c: Likewise.
2872 * grub-core/gdb/i386/idt.c: Likewise.
2873 * grub-core/gdb/i386/machdep.S: Likewise.
2874 * grub-core/gdb/i386/signal.c: Likewise.
2875 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2876 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2877 * include/grub/backtrace.h: Likewise.
2878 * include/grub/gdb.h: Likewise.
2879 * include/grub/i386/gdb.h: Likewise.
2880
28812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2882
2883 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2884 New function.
2885 (add_length): Likewise.
2886 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2887 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2888 proto.
2889 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2890 __argp_get_display_len.
2891
ff27c3dd 28922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2893
2894 $"..." support in scripts.
2895
2896 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2897 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2898 * grub-core/script/yylex.l: Likewise.
2899 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2900 value.
2901
ff27c3dd 29022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2903
2904 * gentpl.py: Remove obsolete pkglib_DATA handling.
2905
ff27c3dd 29062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2907
2908 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2909 mailing list.
2910
2911 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2912 * util/grub-kbdcomp.in: Likewise.
2913 * util/grub-mkconfig.in: Likewise.
2914 * util/grub-mkconfig_lib.in: Likewise.
2915 * util/grub-mknetdir.in: Likewise.
2916 * util/grub-mkrescue.in: Likewise.
2917 * util/grub-mkstandalone.in: Likewise.
2918 * util/grub-reboot.in: Likewise.
2919 * util/grub-set-default.in: Likewise.
2920 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2921
ff27c3dd 29222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2923
2924 Remove GRUB_PREFIX.
2925
2926 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2927 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2928 used for backward compatibility.
2929
ff27c3dd 29302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2931
2932 Add new all_video module.
2933
2934 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2935 * grub-core/Makefile.core.def (all_video): New module.
2936 * grub-core/genmoddep.awk: Generate dependency of all_video from
2937 video.lst.
2938 * grub-core/lib/fake_module.c: New file.
2939 * grub-core/normal/main.c (features): Add feature_all_video_module.
2940 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2941 don't do explicit search again.
47454da5 2942 insmod all_video in load_video if available.
22c7ce85 2943
ff27c3dd 29442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2945
2946 Another round of string clarification and adding TRANSLATORS comments.
2947
ff27c3dd 29482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2949
2950 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2951
ff27c3dd 29522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2953
2954 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2955 to grub_ssize_t.
2956 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2957 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2958
ff27c3dd 29592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2960
2961 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2962 trailing newline implicitly. All users updated.
2963
ff27c3dd 29642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2965
2966 Implement serial on IEEE1275 and EFI.
2967
2968 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2969 on emu. Mention arc and emu as the only platforms without serial
2970 support.
2971 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2972 ieee1275 platforms.
2973 * grub-core/term/efi/serial.c: New file.
2974 * grub-core/term/ieee1275/serial.c: Likewise.
2975 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2976 specification if no ns8250 driver is available.
2977 (grub_cmd_serial): Likewise.
2978 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2979 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2980 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2981 (grub_efi_parity_type_t): New type.
2982 (grub_efi_stop_bits_t): Likewise.
2983 (grub_efi_serial_io_interface): New struct.
2984 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2985 available for all interfaces.
2986 Add EFI and IEEE1275 fields.
2987 (grub_ofserial_init): New proto.
2988 (grub_efiserial_init): Likeiwse.
2989 * util/grub.d/00_header.in: Don't check for the presence of serial
2990 module.
2991
ff27c3dd 29922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2993
2994 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2995 name as if it was an alias.
2996
114076ef
VS
29972012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/commands/lsacpi.c (options): Fix typo.
3000
6a656b0e
VS
30012012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 Convert grub-emu to argp.
3004
3005 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3006 emu.
3007 * util/argp_common.c: Rename to ...
3008 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3009 Add missing includes.
3010 * grub-core/kern/emu/main.c: Convert to argp.
3011 * po/POTFILES.in: Regenerate.
3012 * util/grub-install.in (usage): Make first letter lowcase in messages
3013 for uniformity.
3014 * util/grub-setup.c (options): Likewise.
3015
1e3f8ae8
VS
30162012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3019 Put back accidently commented-out code.
3020
ed167a80
VS
30212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3024 loop check using Brent algorithm.
3025 (grub_hfsplus_btree_search): Likewise.
3026
6753c0ec
VS
30272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * util/grub-install.in: Fix usage of wrong device for PreP install.
3030
4e27343f
VS
30312012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * conf/Makefile.common (CFLAGS_GNULIB): Add
3034 -Wno-unsafe-loop-optimizations.
3035 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3036 on tools.
3037 * grub-core/commands/legacycfg.c: Add pragma to skip
3038 -Wunsafe-loop-optimizations.
3039 (check_password_md5_real): Fix loop counter type.
3040 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3041 reading.
3042 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3043 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3044 loop condition.
3045 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3046 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3047 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3048 condition.
3049 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3050 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3051 avoid possible infinite loops.
3052 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3053 and -Wunsafe-loop-optimizations.
3054 * grub-core/script/yylex.l: Likewise.
3055 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3056 (print_glyphs): Avoid infinite loops.
3057 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3058
697f18b0
GS
30592012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3060
3061 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3062 to avoid infinite loop.
3063 (disp_acpi_rsdt_table): Likewise.
3064
274416e8
VS
30652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/font/font.c (grub_font_load): Add support for default
3068 path for fonts ($prefix/fonts).
3069 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3070 for checking if string is a path.
3071 * grub-core/normal/main.c (features): Add feature_default_font_path.
3072 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3073 * util/grub.d/00_header.in: Use default directory if possible.
3074 * util/grub-install.in: Install unicode.pf2.
3075
b3e08622
VS
30762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3079 * po/Rules-swiss: New file.
3080 * po/swiss.sed: Likewise.
3081
fe42ce09
VS
30822012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/fs/btrfs.c (find_device): Fix typos.
3085 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3086 * util/grub-mkrelpath.c (argp_parser): Likewise.
3087 Reported by: Yuri Chornoivan.
3088
72f1d065
DO
30892012-02-23 Dalet Omega <daletomega@gmail.com>
3090
3091 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3092 for usual informative messages.
3093
c5884973
DO
30942012-02-23 Dalet Omega <daletomega@gmail.com>
3095
3096 Starfield theme.
3097
3098 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3099 * conf/Makefile.common: Define starfielddir.
3100 * configure.ac: Configure starfield.
3101 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3102 * themes/starfield/README: Likewise.
3103 * themes/starfield/blob_w.png: Likewise.
3104 * themes/starfield/boot_menu_c.png: Likewise.
3105 * themes/starfield/boot_menu_e.png: Likewise.
3106 * themes/starfield/boot_menu_n.png: Likewise.
3107 * themes/starfield/boot_menu_ne.png: Likewise.
3108 * themes/starfield/boot_menu_nw.png: Likewise.
3109 * themes/starfield/boot_menu_s.png: Likewise.
3110 * themes/starfield/boot_menu_se.png: Likewise.
3111 * themes/starfield/boot_menu_sw.png: Likewise.
3112 * themes/starfield/boot_menu_w.png: Likewise.
3113 * themes/starfield/slider_c.png: Likewise.
3114 * themes/starfield/slider_n.png: Likewise.
3115 * themes/starfield/slider_s.png: Likewise.
3116 * themes/starfield/src/blob_nw.xcf: Likewise.
3117 * themes/starfield/src/bootmenu/: Likewise.
3118 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3119 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3120 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3121 * themes/starfield/src/slider_c.xcf: Likewise.
3122 * themes/starfield/src/slider_n.xcf: Likewise.
3123 * themes/starfield/src/slider_s.xcf: Likewise.
3124 * themes/starfield/src/terminalbox/: Likewise.
3125 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3126 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3127 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3128 * themes/starfield/starfield.png: Likewise.
3129 * themes/starfield/terminal_box_c.png: Likewise.
3130 * themes/starfield/terminal_box_e.png: Likewise.
3131 * themes/starfield/terminal_box_n.png: Likewise.
3132 * themes/starfield/terminal_box_ne.png: Likewise.
3133 * themes/starfield/terminal_box_nw.png: Likewise.
3134 * themes/starfield/terminal_box_s.png: Likewise.
3135 * themes/starfield/terminal_box_se.png: Likewise.
3136 * themes/starfield/terminal_box_sw.png: Likewise.
3137 * themes/starfield/terminal_box_w.png: Likewise.
3138 * themes/starfield/theme.txt: Likewise.
3139
17d73325
VS
31402012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * util/grub.d/00_header.in: Add missing export theme.
3143
dbebaf92
VS
31442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3147 already included.
3148 Reported by: Eren D.
3149
3d68bffb
VS
31502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * conf/Makefile.common (grubdatadir): Removed.
3153 (Makefile.am): Move eveything grubdata to pkgdata.
3154
4b59234d
VS
31552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/commands/acpihalt.c (get_sleep_type):
3158 Remove unused variable.
3159
463dcadc
VS
31602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3163 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3164 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3165 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3166 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3167 i18n with gettext no-op.
3168 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3169 GRUB_ACPI_OPCODE_STRING_CONST.
3170 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3171 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3172
e5b90c82
VS
31732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * po/POTFILES.in: Regenerate.
3176
2a704ca9
VS
31772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3180 -Wno-error=missing-noreturn.
3181
84f9d341
VS
31822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3185 condition to avoid possibly infinite loops.
3186 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3187 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3188
d46683f9
VS
31892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3192 condition to avoid possibly infinite loops.
3193
c44866b2
VS
31942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3197 on show_error.
3198
96790539
VS
31992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3202
1ba7e295
VS
32032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3206
21ffe8f1
VS
32072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * util/bin2h.c (usage): Add missing attribute noreturn.
3210
0ccb6b3c
VS
32112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3214 if the size isn't divisible by 512.
3215
b00d7fb6
VS
32162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 Make list_push and list_remove functions rather than inline functions
3219 to decrease size and avoid aliasing violations.
3220
3221 * include/grub/list.h (grub_list_push): Move to ...
3222 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3223 * include/grub/list.h (grub_list_remove): Move to ...
3224 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3225
9d369087
VS
32262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3229 and -Wunused-result.
3230
af0250d9
VS
32312012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3234 Reported by: Seth Goldberg
3235
aad32b14
VS
32362012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3239
ac96441c
ST
32402012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3241
3242 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3243 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3244 command line.
3245 * docs/grub.texi (Simple configuration): Document
3246 GRUB_CMDLINE_GNUMACH.
3247
32482012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
3249
3250 * conf/Makefile.common (platform_SCRIPTS): New variable.
3251 (platform_PROGRAMS): Likewise.
3252 * gentpl.py: Mark *,module and *.image for install.
3253 * grub-core/gdb_grub.in: Add a notice of expected environment.
3254 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3255 (gmodule.pl): Likewise.
3256
ac96441c 32572012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
3258
3259 Replace grub_checkkey with grub_getkey_noblock.
3260
3261 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
3262 (grub_getkey_noblock): ... this. All users updated.
3263
ac96441c 32642012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
3265
3266 * grub-core/kern/emu/console.c: Move to ...
3267 * grub-core/term/emu/console.c: ...here.
3268 (grub_ncurses_getkey): Fix return value if no key is detected.
3269
e51b5666
VS
32702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
3273 (grub_unit_test_fini): Likewise.
3274 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
3275
32762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * include/grub/test.h (GRUB_UNIT_TEST)
3279
d9a62292
VS
32802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/script/execute.c (grub_script_break): Clarify logic.
3283 Better error handling.
3284 (grub_script_return): Likewise.
3285 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3286
77c9182f
VS
32872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
3290 rimplicit redifinition.
3291
edb13cf9
VS
32922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
3295 GRUB.
3296
a9e9dc7c
VS
32972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
3300 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
3301 prompt here.
3302
b4ba8e02
VS
33032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
3306 as GRUB_ERR_BUG. Don't malloc if no device is available.
3307
dded5540
VS
33082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
3311 Mark calling with invalid term as GRUB_ERR_BUG.
3312
0cf69874
VS
33132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
3316 packets rather than raising an error.
3317
59bfe502
VS
33182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
3321 in if.
3322
db5fc596
VS
33232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
3326 diagnostic to dprintf.
3327 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3328
e4b7f404
VS
33292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
3332 device name.
3333
e7b02f9e
VS
33342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
3337 (grub_ntfs_iterate_dir): Likewise.
3338
0331e102
VS
33392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 Efiemu stylistic fixes and gettext.
3342
3343 * grub-core/efiemu/i386/loadcore32.c
3344 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
3345 * grub-core/efiemu/i386/loadcore64.c
3346 (grub_arch_efiemu_relocate_symbols64): Likewise.
3347 * grub-core/efiemu/i386/pc/cfgtables.c
3348 (grub_machine_efiemu_init_tables): Likewise.
3349 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
3350 (grub_efiemu_loadcore_initXX): Add a filename argument.
3351 All users updated.
3352 Improved error message.
3353 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
3354 Add a filename argument.
3355 All users updated.
3356 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
3357 Reclassify double relocation as GRUB_ERR_BUG.
3358
306fc074
VS
33592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
3362 handling.
3363
794d8ef2
VS
33642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
3367 on partition.
3368
33692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
3370
3371 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
3372
794d8ef2 33732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
3374
3375 Improve string. Gettextize.
3376
78dde88e
VS
33772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
3380 utils.
3381 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
3382
4786a90f
VS
33832012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
3386 [GRUB_UTIL]: New function.
3387 (insert_array) [GRUB_UTIL]: Store partmaps.
3388 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
3389 partmaps.
3390 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
3391 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
3392 (probe_abstraction): Print diskfilter and not raid.
3393 Reported by: Lennart Sorensen
3394
0b6225bd
VS
33952012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
3398 * util/grub-mkimagexx.c (MASK3): New define.
3399 (add_value_to_slot_20b): Use MASK3.
3400 (add_value_to_slot_21): Likewise.
3401 (relocate_addresses): Fix format specification.
3402 (load_image): Explicitly init symtab_section.
3403
b055f8f6
VS
34042012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
3407 (grub_util_biosdisk_get_grub_dev): Fix format specification.
3408
b77c2fb7
VS
34092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
3412 on powerpc.
3413 Reported by: Lennart Sorensen
3414
e3ec28ab
VS
34152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * gentpl.py: Add missing license header.
3418 * docs/grub.texi: Update copyright year.
3419
c8d9ead6
GS
34202012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3421
3422 Source grub-mkconfig_lib from the build directory at build time.
3423 Suggested by: Vladimir Serbinenko.
3424
3425 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
3426 * util/grub-install.in: Define pkgdatadir if not already set, and source
3427 grub-mkconfig_lib from there.
3428 * util/grub-kbdcomp.in: Likewise.
3429 * util/grub-mkconfig.in: Likewise.
3430 * util/grub-mknetdir.in: Likewise.
3431 * util/grub-mkrescue.in: Likewise.
3432 * util/grub-mkstandalone.in: Likewise.
3433 * util/grub-reboot.in: Likewise.
3434 * util/grub-set-default.in: Likewise.
3435 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3436
ebcecdf1
VS
34372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 Increase warning level.
3440
3441 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
3442 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
3443 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
3444 (TARGET_CFLAGS): Likewise.
3445 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
3446 * grub-core/Makefile.core.def (decompressor_xz): Add
3447 -Wno-unreachable-code.
3448 (normal): Add -Wno-redundant-decls.
3449 (xzio): Add -Wno-unreachable-code.
3450 (lzopio): Add -Wno-redundant-decls -Wno-error.
3451 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
3452 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
3453 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
3454 * grub-core/kern/dl.c: Add exception to -Wcast-align.
3455 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
3456 * grub-core/kern/i386/coreboot/init.c: Add exception to
3457 -Wsuggest-attribute=noreturn.
3458 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
3459 * grub-core/kern/ia64/dl_helper.c: Likewise.
3460 * grub-core/kern/mips/dl.c: Likewise.
3461 * grub-core/kern/sparc64/dl.c: Likewise.
3462 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
3463 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
3464 (memcmp): Likewise.
3465 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
3466 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
3467 * grub-core/loader/mips/linux.c: Likewise.
3468 * grub-core/loader/multiboot_elfxx.c: Likewise.
3469 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
3470 * grub-core/video/sm712.c: Add exception to -Wcast-align.
3471 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
3472 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
3473 fixme.
3474 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3475 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
3476 Fix prototype.
3477
37bb97fe
VS
34782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
3481 address.
3482
29a3550b
VS
34832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3486 Avoid improper use of strings.
3487 (grub_cmd_legacy_initrdnounzip): Likewise.
3488
dfdffd0d
VS
34892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * include/grub/emu/misc.h (grub_util_warn): Add missing format
3492 attribute.
3493 (grub_util_info): Likewise.
3494 (grub_util_error): Likewise.
3495
102fae4a
VS
34962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
3499 * util/grub-fstest.c (fstest): Likewise.
3500
7e94d044
VS
35012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
3504 (grub_md_sha512_real): Likewise.
3505 (grub_util_get_geli_uuid): Likewise.
3506 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
3507 (grub_util_biosdisk_open): Fix format specification.
3508 Respect format security.
3509 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
3510 (xrealloc): Likewise.
3511 (xasprintf): Likewise.
3512
5ebd9769
VS
35132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * util/import_gcry.py: Include grub/crypto.h in init.c.
3516
495fc8c1
VS
35172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
3520 (generate_image): Make prefix a const char *.
3521 Fix format specifications. Respect format security.
3522 Avoid void * arithmetics.
3523 Avoid shadowing.
3524 (argp_parser): Remove unused variable. Respect format security.
3525 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
3526 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
3527 (count_funcs): Remove unused variable.
3528 (relocate_addresses): Fix format specification.
3529 Disable x86-64 with elf32. Remove unused variables.
3530 (add_fixup_entry): Avoid shadowing.
3531 (make_reloc_section): Fix format specification.
3532 Use assert.
3533 (locate_sections): Fix format specifications.
3534 (load_image): Avoid shadowing.
3535
043c2ea3
VS
35362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
3539 Fix format specifications. Respect format security.
3540 Don't translate already translated grub_errmsg.
3541 (argp_parser): Remove unused variable
3542
3ec65a81
VS
35432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
3546
a4d9fe4a
VS
35472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
3550 (main): Likewise. Use xmalloc. Respect format security.
3551
15b81d49
VS
35522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
3555 a const char *.
3556 (argp_parser): Remove unused variable.
3557
31731fc0
VS
35582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
3561 (add_pixel): Make static.
3562 (add_font): Likewise.
3563 (write_string_section): Make name and str a const char *.
3564 (write_be16_section): Make name a const char *.
3565 (print_glyphs): Make static.
3566 (write_font_ascii_bitmap): Likewise.
3567 (write_font_width_spec): Likewise.
3568 (write_font_pf2): Likewise.
3569 (argp_parser): Remove unused variable.
3570 Respect format security.
3571 (main): Avoid shadowing. Respect format security.
3572
0809527b
VS
35732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * util/grub-editenv.c (argp_parser): Make static.
3576 (create_envblk_file): Use xmalloc.
3577 (open_envblk_file): Likewise.
3578 Resepect format security.
3579 (set_variables): Respect format security.
3580
45b0c8b7
VS
35812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * util/getroot.c (grub_find_device): Respect format security.
3584 (get_mdadm_uuid): Remove unused variable.
3585 (grub_util_pull_device): Dont call gettext on already translated
3586 grub_errmsg.
3587 (find_system_device): Remove unused variable.
3588 (grub_util_get_grub_dev): Likewise.
3589 (grub_make_system_path_relative_to_its_root): Respect format security.
3590
1b024b4e
VS
35912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * util/grub-fstest.c (execute_command): Make first argument
3594 a const char *.
3595 (read_file): Avoid shadowing.
3596 Reuse underlying error message if device open fails.
3597 (cmd_cmp): Respect format security.
3598 (root): Make const char *.
3599 (fstest): Remove args argument and use global copy.
3600 Respect format security.
3601 (argp_parser): Make static.
3602 (main): Make default_root const char *.
3603
5d1d4e28
VS
36042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * util/grub-mount.c (root): Make const char *.
3607 (execute_command): Make first argument a const char *.
3608 (fuse_init): Respect format security.
3609 (argp_parser): Make static. Remove unused variable.
3610 (main): Make default_root a const char *.
3611 Respect format security.
3612
36eb7379
VS
36132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * util/grub-probe.c (probe): Don't call gettext on already translated
3616 grub_errmsg.
3617 Remove unused variables.
3618 (argp_parser): Remove unused variable.
3619
76fb2ea9
VS
36202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * util/grub-script-check.c (argp_parser): Remove unused variable.
3623 (main): Rename read to curread to avoid shadowing.
3624
56c98584
VS
36252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * util/misc.c (grub_util_write_image_at): Fix format specification.
3628 (grub_util_write_image): Likewise.
3629 (grub_script_execute_argument_to_string): Removed (unused).
3630 (grub_script_execute_menuentry): Likewise.
3631 (grub_putchar): Likewise.
3632
164ebb48
VS
36332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3636 (FUNCTION) [GRUB_UTIL]: Likewise.
3637 (VARIABLE) [GRUB_UTIL]: Likewise.
3638
44318d61
VS
36392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3642 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3643
31a26002
VS
36442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3647 buffer.
3648
36492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3652 (LzmaEnc_SaveState): Removed (unused).
3653 (LzmaEnc_RestoreState): Likewise.
3654 (LzmaEnc_InitPriceTables): Made static.
3655 (LzmaEnc_Construct): Likewise.
3656 (LzmaEnc_FreeLits): Likewise.
3657 (LzmaEnc_Destruct): Likewise.
3658 (LzmaEnc_Init): Likewise.
3659 (LzmaEnc_InitPrices): Likewise.
3660 (LzmaEnc_Finish): Likewise.
3661 (LzmaEnc_PrepareForLzma2): Removed (unused).
3662 (LzmaEnc_MemPrepare): Likewise.
3663 (LzmaEnc_GetNumAvailableBytes): Likewise.
3664 (LzmaEnc_GetCurBuf): Likewise.
3665 (LzmaEnc_CodeOneMemBlock): Likewise.
3666
6fa67967
VS
36672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3670 (grub_util_ldm_embed): Likewise.
3671
9a7428e6
VS
36722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * util/grub-editenv.c (print_var): Rename name to varname to
3675 avoid shadowing.
3676 (main): Rename index to curindex to avoid shadowing.
31a26002 3677 Make filename a const char *.
9a7428e6 3678
4f96abd1
VS
36792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3682 to arg_getline to avoid shadowing.
3683
44d10dad
VS
36842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3687 disk_ to avoid shadowing.
3688
340ba63e
VS
36892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3692 curindex to avoid shadowing.
3693 Make static.
3694 (MatchFinder_GetNumAvailableBytes): Make static.
3695
22965bce
VS
36962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3699 avoid shadowing.
3700
7b5784d4
VS
37012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3704 argument from encrypt to do_encrypt to avoid shadowing.
3705
6f48ca01
VS
37062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3709 incorrect nesting of #if's.
3710
a4ea2dff
VS
37112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3714 checks which are always false on some platforms.
3715 (grub_cmd_lsacpi): Likewise.
3716 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3717 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3718 Likewise.
3719
def9fc1b
VS
37202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3723 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3724
a67b2a04
VS
37252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3728 re_dfa_t to avoid breaking alignment invariants.
3729 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3730 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3731
44c6828d
VS
37322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3735 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3736
bebe0dd0
VS
37372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3740 Fix declaration.
3741
a9cdb3cf
VS
37422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3745 conserve alignment invariants.
3746 (grub_ehci_ehcc_read16): Likewise.
3747 (grub_ehci_oper_read32): Likewise.
3748 (grub_ehci_oper_write32): Likewise.
3749 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3750 Conserve alignment invariants.
3751
ccc3b1b8
VS
37522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3755 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3756 declarations.
3757
987fbd95
VS
37582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3761 Remove unused variable.
3762
0df363f3
VS
37632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3766 Remove set in if.
3767
b2c0c4a6
VS
37682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * include/grub/net.h: Remove double declarations.
3771
690c531f
VS
37722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 Remove "payload" command in ia64 Linux loader since I couldn't
3775 find any evidence of it being used for anything.
3776 Replace "relocate" command with an environment variable
3777
3778 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3779 fields.
3780 (ia64_boot_payload): Removed.
3781 (last_payload): Likewise.
3782 (RELOCATE_OFF): Likewise.
3783 (RELOCATE_ON): Likewise.
3784 (RELOCATE_FORCE): Likewise.
3785 (relocate): Likewise.
3786 (free_pages): Don't free payloads.
3787 (grub_load_elf64): Use common error messages.
3788 Use "linux_relocate" variable.
3789 Increase the space after boot_params.
3790 (grub_cmd_payload): Removed.
3791 (grub_cmd_relocate): Likewise.
3792 (grub_cmd_fpswa): Improve messages.
3793 (cmd_payload): Removed.
3794 (cmd_relocate): Likewise.
3795 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3796 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3797
01783768
VS
37982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Convert UHCI to DMA framework.
3801
3802 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3803 (grub_uhci_pci_iter): Fill new members
3804 (grub_alloc_td): Use P2V and V2P functions.
3805 (grub_free_queue): Likewise.
3806 (grub_alloc_qh): Likewise.
3807 (grub_uhci_setup_transfer): Likewise.
3808 (grub_uhci_check_transfer): Likewise.
3809
43206939
VS
38102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3813 Remove assignment in if while on it.
3814
571e140e
VS
38152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * util/grub-mkstandalone.in: Fix modules directory.
3818
a9d96eeb
VS
38192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3822 on i386-pc target.
3823 (argp_parser): Accept "auto" as compression specification.
3824
e4e37e8d
VS
38252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Fix `help' with unloaded modules.
3828
3829 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3830 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3831 (grub_dyncmd_dispatcher): Small stylistic fix.
3832 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3833 explicit help is requested.
3834
e1ea3ade
VS
38352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3838 Explicitly init restart while on it.
3839
27556881
VS
38402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3843 uninited variable.
3844
d65f6b36
VS
38452012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * util/grub-mknetdir.in: Use . rather than source for POSIX
3848 compatibility.
3849
0a1e473c
VS
38502012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3853
ce6647c8
VS
38542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3857 variable.
3858
66747894
VS
38592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3862 without quotes.
3863
71645f6e
VS
38642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3867
0e1c1f61
VS
38682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3871 iteration of partitions.
3872
9c4b5c13
VS
38732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Improve gettext support. Stylistic fixes and error handling fixes while
3876 on it.
3877
215c90cb
VS
38782012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3881 part. Instead setup the correct stack in RM.
3882 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3883 for stack.
3884 * include/grub/i386/relocator_private.h: New file.
3885
b5c1f9bf
VS
38862012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3889 argument.
3890 * util/grub-fstest.c (options): Add missing DEVICE part.
3891
b525fd83
VS
38922012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 Clarify and unify messages.
3895
3896 * grub-core/commands/hashsum.c (options): Unify messages.
3897 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3898 literal-only message as translatable.
3899 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3900 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3901 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3902 commands.
3903 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3904 key, not the key used to unlock. Clarify what it's used for.
3905 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3906 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3907 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3908 * util/grub-editenv.c (options): Unify "verbose" message.
3909 * util/grub-fstest.c (read_file): Unify error message.
3910 (fstest): Add quotes around commands.
3911 (options): Unify "verbose" message.
3912 * util/grub-install.in: Add quotes around variable name.
3913 * util/grub-kbdcomp.in: Unify error message.
3914 * util/grub-mkfont.c (main): Likewise.
3915 * util/grub-mkrescue.in: Likewise.
3916 * util/grub-mklayout.c (options): Unify "verbose" message.
3917 * util/grub-mkstandalone.in: Unify help and verbose messages.
3918 * util/grub-mount.c (options): Unify "verbose" message.
3919 * util/grub-probe.c (options): Likewise.
3920 * util/grub-script-check.c (options): Likewise.
3921 * util/grub-setup.c (setup): Unify no-terminator message.
3922 (options): Use DEVICE and not DEV.
3923 Unify "verbose" message.
3924 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3925
0ae70393
VS
39262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Improve and unify messages.
3929
3930 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3931 name. All users updated.
3932 Print filename in error.
3933 (read_device_map): Print filename in error.
3934 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3935 (grub_util_get_os_disk): Likewise.
3936 (grub_util_biosdisk_get_grub_dev): Likewise.
3937 (grub_util_check_block_device): Likewise.
3938 (grub_util_check_char_device): Likewise.
3939 (grub_make_system_path_relative_to_its_root): Likewise.
3940 * util/grub-editenv.c (create_envblk_file): Likewise.
3941 (open_envblk_file): Likewise.
3942 (write_envblk): Likewise.
3943 * util/grub-fstest.c (cmd_cp): Likewise.
3944 (cmd_cat): Likewise.
3945 (cmd_cmp): Likewise.
3946 * util/grub-menulst2cfg.c (main): Likewise.
3947 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3948 (write_font_width_spec): Likewise.
3949 (write_font_pf2): Likewise.
3950 * util/grub-mkimage.c (generate_image): New argument outname.
3951 All users updated.
3952 Remove unreacheable message.
3953 (options): Unify messages.
3954 (help_filter): Likewise.
3955 * util/grub-mklayout.c (usage): Removed (unused).
3956 (main): Print filename in error.
3957 * util/grub-mkrescue.in: Fix wrong quoting.
3958 * util/grub-setup.c (setup): Print filename in error.
3959 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3960 (check_sas): Likewise.
3961 * util/misc.c (grub_util_get_fp_size): Removed.
3962 (grub_util_get_image_size): Print filename in error.
3963 (grub_util_read_at): Removed.
3964 (grub_util_read_image): Print filename in error.
3965 (grub_util_load_image): Likewise.
3966 (grub_util_write_image_at): New argument filename. All users updated.
3967 Print filename in error.
3968 (grub_util_write_image): New argument filename. All users updated.
3969 Print filename in error.
3970 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3971 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3972
0a96117d
VS
39732012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/Makefile.core.def (pxechain): New module.
3976 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3977 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3978 function.
3979 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3980 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3981
aca002f7
VS
39822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3985 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3986 * include/grub/err.h (grub_error_saved): New struct.
3987 (grub_errmsg): Make array size explicit.
3988 * include/grub/misc.h (grub_error_save): New function.
3989 (grub_error_load): Likewise.
3990 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3991 (grub_error_push): Update `errno' member name.
3992 (grub_error_pop): Likewise
3993 * grub-core/net/tftp.c (tftp_data): New member save_err.
3994 (tftp_receive): Save error.
3995 (tftp_open): Restore error.
3996
a51dab13
VS
39972012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4000 to real mode down to execute A20-related code in protected mode as
4001 intended.
4002
eb6e6649
GS
40032012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4004
4005 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4006 NULL when the argument `level' has an unexpected value.
4007
92cd0f6e
VS
40082012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 Move platform-dependent files from $prefix to $prefix/$platform.
4011
4012 * config.h.in (GRUB_TARGET_CPU): New definition.
4013 (GRUB_PLATFORM): Likewise.
4014 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4015 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4016 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4017 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4018 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4019 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4020 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4021 * grub-core/normal/term.c (read_terminal_list): Likewise.
4022 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4023 $prefix/locale.
4024 (grub_gettext_init_ext): Likewise.
4025 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4026 grub_platform.
4027 * util/grub-install.in: Update directories.
4028 * util/grub-mknetdir.in: Likewise.
4029 * util/grub-mkrescue.in: Likewise.
4030
db606889
VS
40312012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4034 grub_error framework. All users updated.
4035
c39992a4
VS
40362012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4039 lists (by always binsearching), improve caching (cache strings
4040 used for binsearch, not only results), improve
4041 maintainability (by using more structured binary search) and correct
4042 error handling.
4043
1e5ec32f
VS
40442012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/script/execute.c (grub_script_return): Fix warning.
4047
ac576cde
VS
40482012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/script/execute.c (grub_script_return): Fix potential
4051 NULL-dereference.
4052 Reported by: Jim Meyering.
4053
498453f6
VS
40542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * po/POTFILES.in: Regenerate.
4057 * util/grub-install.in: Gettextize the strings missed in first pass.
4058
8be63f2e
VS
40592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * Makefile.util.def (grub-mkdevicemap): Removed.
4062 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4063 * include/grub/util/deviceiter.h: Removed.
4064 * util/deviceiter.c: Likewise.
4065 * util/getroot.c (grub_util_get_os_disk): New function.
4066 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4067 replacement for EFI.
4068 * util/grub-mkdevicemap.c: Removed.
4069 * util/grub-probe.c (probe): Handle PRINT_DISK.
4070 (argp_parser): Handle -t disk.
4071
8e1e4e39
VS
40722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * util/grub-mkfont.c: Migrate to argp.
4075 * util/grub-mklayout.c: Likewise.
4076 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4077 * util/grub-mkrelpath.c: Likewise.
4078 * util/grub-probe.c: Likewise.
4079 * util/grub-script-check.c: Likewise.
4080
4459819a
VS
40812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * util/grub-reboot.in: Add missing datarootdir.
4084 Add missing newline.
4085 * util/grub-set-default.in: Add missing datarootdir.
4086 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4087 * util/grub-mkrescue.in: Likewise.
4088
f65741c7
VS
40892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4092
c1a33466
VS
40932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * util/grub-kbdcomp.in: Add decent help and gettextize.
4096 * docs/man/grub-kbdcomp.h2m: New file.
4097
c76899a0
VS
40982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 Migrate grub-mkimage.c to argp.
4101
4102 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4103 (grub-setup): Likewise.
4104 * util/grub-setup.c (print_version): Move to ...
4105 * util/argp_common.c (print_version): ... here.
4106 * util/grub-setup.c (argp_program_version_hook): Move to ...
4107 * util/argp_common.c (argp_program_version_hook): ... here.
4108 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4109 safety.
4110 * util/grub-mkimage.c (main): Migrate to argp.
4111
57db0757
VS
41122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * util/grub-mkrescue.in: Use same message as
4115 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4116 for better translations.
4117
18534ad9
VS
41182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4121 options with generic grub-mkrescue.in with the goal of future
4122 merge.
4123
c84ba308
VS
41242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/kern/mm.c: Add missing include of i18n.h
4127 * grub-core/lib/relocator.c: Likewise.
4128
347998c2
VS
41292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4132 error.
4133 (allocate_pages): Check return value.
4134 Replace fatal with error.
4135 (grub_linux_boot): Replace printf with dprintf.
4136 Check find_mmap_size return value.
4137 Replace fatal with error.
4138 Don't call grub_machine_fini.
4139 (grub_load_elf64): Replace printf with dprintf.
4140 (grub_cmd_linux): Likewise.
4141 (grub_cmd_initrd): Likewise.
4142 (grub_cmd_payload): Likewise.
4143
c779226e
VS
41442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4147 message.
4148 * grub-core/video/radeon_fuloong2e.c
4149 (grub_video_radeon_fuloong2e_setup): Likewise.
4150 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4151 * grub-core/video/video.c (grub_video_set_mode): Don't override
4152 standard out of memory message.
4153
dc87d45a
GS
41542012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4155
4156 NetBSD disk wedge support.
4157
4158 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4159 [__NetBSD__]: Handle NetBSD disk wedges.
4160 * util/getroot.c (convert_system_partition_to_system_disk)
4161 [__NetBSD__]: Likewise.
4162
055f856f
MW
41632012-02-03 Mark Wooding <mdw@distorted.org.uk>
4164
4165 * util/grub-mkconfig.in: Use umask rather than chmod to create
4166 grub.cfg.new to avoid insecure grub.cfg.
4167
4a9f8346
VS
41682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/commands/ls.c: Gettextize.
4171 * grub-core/commands/setpci.c: Likewise.
4172 * grub-core/commands/videotest.c: Likewise.
4173 * grub-core/disk/geli.c: Likewise.
4174 * grub-core/kern/mm.c: Likewise.
4175 * grub-core/lib/relocator.c: Likewise.
4176 * grub-core/loader/efi/appleloader.c: Likewise.
4177 * grub-core/loader/i386/xnu.c: Likewise.
4178 * grub-core/loader/ia64/efi/linux.c: Likewise.
4179 * grub-core/loader/xnu.c: Likewise.
4180 * grub-core/net/dns.c: Likewise.
4181 * grub-core/net/net.c: Likewise.
4182 * grub-core/script/lexer.c: Likewise.
4183 * grub-core/script/parser.y: Likewise.
4184 * grub-core/script/yylex.l: Likewise.
4185 * util/getroot.c: Likewise.
4186 * util/grub-setup.c: Likewise.
4187
a646a366
VS
41882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4191 number.
4192
54e2be26
VS
41932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4196
f7c71e68
VS
41972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4200 macro.
4201 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4202 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4203
a32d5c71
VS
42042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4207 * util/grub-install.in: Gettextize.
4208 * util/grub-mkconfig.in: Likewise.
4209 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4210 if not available.
4211 (grub_warn): Gettextize.
4212 * util/grub-mknetdir.in: Gettextize.
4213 * util/grub-mkrescue.in: Likewise.
4214 * util/grub-mkstandalone.in: Likewise.
4215 * util/grub-reboot.in: Likewise.
4216 * util/grub-set-default.in: Likewise.
4217 * util/grub.d/00_header.in: Likewise.
4218 * util/grub.d/10_hurd.in: Likewise.
4219 * util/grub.d/10_kfreebsd.in: Likewise.
4220 * util/grub.d/10_linux.in: Likewise.
4221 * util/grub.d/10_netbsd.in: Likewise.
4222 * util/grub.d/10_windows.in: Likewise.
4223 * util/grub.d/20_linux_xen.in: Likewise.
4224 * util/grub.d/30_os-prober.in: Likewise.
4225 * po/POTFILES-shell.in: Regenerate.
4226
69edd81a
RL
42272012-02-03 Richard Laager <rlaager@wiktel.com>
4228
4229 * util/grub-mkimage.c (main): Fix format-security warning.
4230 * util/grub-mkrelpath.c (main): Likewise.
4231 * util/grub-probe.c (main): Likewise.
4232
65f08dbf
RL
42332012-02-03 Richard Laager <rlaager@wiktel.com>
4234
4235 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4236 failure.
4237 Put back lost PRINT_DRIVE.
4238
e9084abe
RL
42392012-02-03 Richard Laager <rlaager@wiktel.com>
4240
4241 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4242 (grub_guess_root_devices): Replace strlen with sizeof.
4243 Avoid crash.
4244 (find_root_devices_from_poolname): Remove unused variable.
4245 Handle raidzN.
4246
cf5f7ee7
VS
42472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Support install on multi-device filesystems.
4250
4251 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4252 (grub_guess_root_devices): ...this. Return char **. All users updated.
4253 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4254 Removed.
4255 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
4256 (find_root_devices_from_poolname): ... here.
4257 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
4258 Support zfs-fuse.
4259 (grub_guess_root_device): Rename to ...
4260 (grub_guess_root_devices): ... this. Return char **. All users updated.
4261 * util/grub-install.in: Handle multi-device filesystems.
4262 * util/grub-probe.c (probe). Make device_names a char **. Add delim
4263 argument. All users updated.
4264 Handle multi-device filesystems.
4265 Use 'delim' as separator.
4266 Remove device check to allow filesystems on file.
4267 (main): Support -0 argument. Handle multi-device.
4268 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
4269 Fix a cross-device check while on it.
4270 (arguments): Remove root_dev.
4271 (argp_parser): Remove -r.
4272 (main): Remove root_dev.
4273
2f53a9ed
VS
42742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
4277
17e1d934
VS
42782012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
4281 symbol.
4282 Reported by: NODA, Kai <nodakai>.
4283
d3e3fab5
VS
42842012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 Fix ehci on amd64.
4287
4288 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
4289 pointers.
4290 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
4291 (grub_ehci_setup_qh): Likewise.
4292 (grub_ehci_find_qh): Likewise.
4293 (grub_ehci_transaction): Likewise.
4294 (grub_ehci_setup_transfer): Likewise.
4295 (grub_ehci_check_transfer): Likewise.
4296 (grub_ehci_portstatus): Likewise.
4297 (grub_ehci_detect_dev): Likewise.
4298 (grub_ehci_transfer_controller_data): New field td_last_phys.
4299 (grub_ehci_setup_transfer): Fill td_last_phys.
4300 (grub_ehci_check_transfer): Use td_last_phys.
4301
3008675b
SG
43022012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
4303
4304 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
4305 if no submenu is present.
4306
fc9b5652
AN
43072012-02-01 Aleš Nesrsta <starous@volny.cz>
4308
4309 CBI support.
4310
4311 * include/grub/usb.h (grub_usbms_protocol_t): New values
4312 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
4313 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
4314 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
4315 (grub_usbms_dev): Add subclass, protocol and intrpt.
4316 Remove in_maxsz and out_maxsz.
4317 (grub_usbms_reset): Rename to ...
4318 (grub_usbms_bo_reset): .. this.
4319 (grub_usbms_cbi_cmd): New function.
4320 (grub_usbms_cbi_reset): Likewise.
4321 (grub_usbms_reset): Likewise.
4322 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
4323 (grub_usbms_transfer): Rename to ...
4324 (grub_usbms_transfer_bo): ... this.
4325 (grub_usbms_transfer_cbi): Likewise.
4326 (grub_usbms_transfer): Likewise.
4327
a2b81d53
AN
43282012-02-01 Aleš Nesrsta <starous@volny.cz>
43292012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
4332 the support for the CS5536 modification thereos and few bugfixes.
4333
4334 * grub-core/Makefile.core.def (ehci): New module.
4335 * grub-core/bus/usb/ehci.c: New file.
4336 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
4337 port and hubaddr. All users updated.
4338 Save port and hubaddr into dev structure.
4339 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
4340 define.
4341 * include/grub/pci.h (grub_dma_phys2virt): New function.
4342 (grub_dma_virt2phys): Likewise.
4343 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
4344
b1d51f02
VS
43452012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
4348 check as some mkfs implementations omit it.
4349
fc694106
VS
43502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * docs/grub.texi (Unicode): Mention identifier and space limitations.
4353
6c0920e3
VS
43542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
4357 Add new member volname2.
4358 (grub_jfs_label): Use volname2 if available.
4359
d1a46f9a
VS
43602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
4363 over last_mounted as seen in image generated by mkfs.nilfs2.
4364 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
4365
dec8ed14
VS
43662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
4369 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
4370 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
4371
7397c69b
VS
43722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
4375 over the sector.
4376
b3fe42ad
VS
43772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
4380 subvolume name (by removing a bogus and useless check).
4381
10476bb0
VS
43822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
4385 sizeof while on it.
4386
9c08ad87
VS
43872012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
4390 (grub_scsi_read_capacity10): ... this.
4391 (grub_scsi_read_capacity16): New function.
4392 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
4393 0xffffffff.
4394 Fix off-by-one error.
4395 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
4396 64-bit unsigned.
4397 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
4398 (grub_scsi_read_capacity10): ... this.
4399 (grub_scsi_read_capacity_data): Rename to ...
4400 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
4401 (grub_scsi_read_capacity16): New struct.
4402 (grub_scsi_read_capacity16_data): Likewise.
4403 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
4404 grub_scsi_cmd_read_capacity10.
4405 New command grub_scsi_cmd_read_capacity16.
4406
bc8d0f45
VS
44072012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 SCSI >2TiB support.
4410
4411 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
4412 (grub_scsi_write16): Likewise.
4413 (grub_scsi_read): Use read16 when necessary.
4414 (grub_scsi_write): Likewise.
4415 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
4416 (grub_scsi_write16): Likewise.
4417 (grub_scsi_cmd_t): Add READ16 and WRITE16.
4418
cc774926
VS
44192012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 SCSI write support (for usbms mainly).
4422
4423 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
4424 a const pointer.
4425 (grub_scsi_write): Implement.
4426 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
4427
67639fd7
VS
44282012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4431 variable.
4432
9079d3ed
VS
44332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/lib/posix_wrap/string.h (memchr): New function.
4436
c6a6f204
VS
44372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * po/POTFILES.in: Regenerate.
4440
ecbf8cd1
VS
44412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
4444 with grub_printf to avoid unnecessary fatal failure.
4445
0b3b3b38
VS
44462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
4449 (INT_MAX): Likewise.
4450 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
4451 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
4452 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
4453 (strcpy): Likewise.
4454 (strstr): Likewise.
4455 (strchr): Likewise.
4456 (strncpy): Likewise.
4457 (strcat): Likewise.
4458 (strncat): Likewise.
4459 (strcoll): Likewise.
4460 * include/grub/types.h (GRUB_SHRT_MAX): New define.
4461 (GRUB_INT_MAX): Likewise.
4462
db7337a3
VS
44632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4466 unexpected error.
4467 (optimize_utf8): Likewise.
4468 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
4469
f37c87e1
VS
44702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/boot/i386/pc/lnxboot.S: Use
4473 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
4474 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
4475 location.
4476 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
4477 definition.
4478 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
4479
63fe43f3
VS
44802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
4483 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
4484 now to avoid double free.
4485 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
4486 hostdisk.
4487 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
4488 * util/grub-probe.c (escape_of_path): Always return a new copy.
4489 (print_full_name): Escape path.
4490 (probe): Don't call grub_util_devname_to_ofpath on NULL.
4491 Fix hints on abstractions.
4492
ebe2c961
VS
44932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
4496 Don't add "root" line if no compatibility hont is available.
4497 Suggested by: Seth Goldberg.
4498
2b5336a2
VS
44992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
4502 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
4503 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
4504 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
4505
74310bd8
VS
45062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
4509
c30582ba
VS
45102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * util/grub-pe2elf.c (ehdr): Make static.
4513 (shdr): Likewise.
4514 (num_sections): Likewise.
4515 (offset): Likewise.
4516
5f47782c
VS
45172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 Eliminate ofpath limits and possible overflows.
4520
4521 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
4522 (OF_PATH_MAX): Removed.
4523 (MAX_DISK_CAT): New const.
4524 (find_obppath): Use allocated rather than preallocated buffer.
4525 Return result. Argument of_path removed. All users updated.
4526 Add missing fdstat.
4527 (xrealpath): New function.
4528 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
4529 Allocate rather than use preallocated buffer. All users updated.
4530 (__of_path_common): Use allocated rather than preallocatecd buffer.
4531 Return result. Argument of_path removed. All users updated.
4532 (vendor_is_ATA): Read only needed part form the file.
4533 (check_sas): Allocate depending on contents rather than fixed.
4534 (main) [STANDALONE]: Handle NULL result.
4535
f990cbf9
VS
45362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/normal/completion.c (iterate_dev): Close the disk.
4539
9c6e84b8
VS
45402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 Cryptodisk write support.
4543
4544 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
4545 (grub_cryptodisk_decrypt): Moved logic to ...
4546 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
4547 (grub_cryptodisk_write): Implement.
4548 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
4549 (grub_util_fd_write): ... this. Make global.
4550 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
4551
87cf9744
VS
45522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * include/grub/list.h (grub_list_remove): Don't crash if element is
4555 removed twice.
4556
ca8c0baf
VS
45572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 Rename ofconsole to console.
4560
4561 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
4562 as sysnonym to console.
4563 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
4564 * grub-core/term/ieee1275/console.c: ... this. All users updated.
4565 Rename grub_ofconsole_ to grub_console_. All users updated
4566 (grub_console_term_output): Rename "ofconsole" to "console".
4567 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
4568 as "console".
4569
64c8b8f6
VS
45702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
4573 handling.
4574 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
4575 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
4576 GRUB_DISK_DEVICE_FILE_ID.
4577
f6c434d5
VS
45782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
4581 and improve performance.
4582
5858b42d
VS
45832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
4586 missing ieee1275/ prefix on whole disk.
4587
4ed3c26b
VS
45882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
4591 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
4592
df71143e
VS
45932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4596
076e7c0f
VS
45972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 Merge common RAID and LVM logic to an abstract diskfilter.
4600 Add LDM support using the same framework.
4601
4602 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
4603 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
4604 (libgrubmods): Remove grub-core/disk/raid.c and
4605 grub-core/partmap/gpt.c.
4606 * grub-core/Makefile.core.def (ldm): New module.
4607 (raid): Renamed to diskfilter. All users updated.
4608 * grub-core/disk/raid.c: Moved to ...
4609 * grub-core/disk/diskfilter.c: ... here.
4610 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
4611 (lv_num): New var.
4612 (find_array): Renamed to ...
4613 (find_lv): ... this. Support multi-LV. Skip nameless LVs
4614 (grub_is_array_readable): Renamed to ...
4615 (grub_is_lv_readable): ... this. Support multinode hierarchy.
4616 (insert_array): New argument id.
4617 (is_node_readable): New function.
4618 (scan_device): Rename to ...
4619 (scan_disk): .. this. Restrict to one disk.
4620 (scan_devices): New function.
4621 (grub_diskfilter_iterate): Support multi-LV.
4622 Skip invisible and nameless LVs.
4623 (grub_diskfilter_memberlist): Support multi-LV.
4624 (grub_diskfilter_read_node): New function.
4625 (grub_raid_read): Most of logic moved to ...
4626 (read_segment): ... here
4627 (read_lv): New function.
4628 (grub_diskfilter_get_vg_by_uuid): New function.
4629 (grub_diskfilter_make_raid): Likewise.
4630 * grub-core/disk/ldm.c: New file.
4631 * grub-core/disk/lvm.c (vg_list): Removed.
4632 (lv_count): Likewise.
4633 (scan_depth): Likewise.
4634 (is_lv_readable): Likewise.
4635 (grub_lvm_getvalue): Advance pointer past the number.
4636 (find_lv): Removed.
4637 (do_lvm_scan): Refactored into ...
4638 (grub_lvm_detect): ... this. Support raid.
4639 (grub_lvm_iterate): Removed.
4640 (grub_lvm_memberlist): Likewise.
4641 (grub_lvm_open): Likewise.
4642 (grub_lvm_close): Likewise.
4643 (read_lv): Likewise.
4644 (read_node): Likewise.
4645 (is_node_readable): Likewise.
4646 (is_lv_readable): Likewise.
4647 (grub_lvm_read): Likewise.
4648 (grub_lvm_write): Likewise.
4649 (grub_lvm_dev): Use diskfilter
4650 (GRUB_MOD_INIT): Likewise.
4651 (GRUB_MOD_FINI): Likewise.
4652 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4653 new interface.
4654 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4655 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4656 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4657 grub_diskfilter_read_node.
4658 Fix a bug with xor.
4659 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4660 grub_diskfilter_read_node.
4661 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4662 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4663 (grub_disk_dev_iterate): Move from here...
4664 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4665 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4666 Make global.
4667 (grub_hostdisk_find_partition_start): Likewise.
4668 (grub_hostdisk_os_dev_to_grub_drive): New function.
4669 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4670 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4671 * util/getroot.c (make_device_name): ... here.
4672 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4673 Move to ...
4674 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4675 * grub-core/kern/emu/hostdisk.c
4676 (convert_system_partition_to_system_disk): Move to ...
4677 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4678 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4679 * util/getroot.c (device_is_wholedisk): ... here.
4680 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4681 * util/getroot.c (find_system_device): ... here.
4682 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4683 Move to ...
4684 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4685 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4686 Move to ...
4687 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4688 Handle LDM.
4689 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4690 Move to ...
4691 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4692 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4693 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4694 DISKFILTER.
4695 * include/grub/raid.h: Renamed to ...
4696 * include/grub/diskfilter.h: ... this.
4697 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4698 (GRUB_RAID_LAYOUT_*): Make into array.
4699 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4700 (grub_diskfilter_vg): New struct.
4701 (grub_diskfilter_pv_id): Likewise.
4702 (grub_raid_member): Removed.
4703 (grub_raid_array): Likewise.
4704 (grub_diskfilter_pv): New struct.
4705 (grub_diskfilter_lv): Likewise.
4706 (grub_diskfilter_segment): Likewise.
4707 (grub_diskfilter_node): Likewise.
4708 (grub_diskfilter_get_vg_by_uuid): New proto.
4709 (grub_raid_register): Inline.
4710 (grub_diskfilter_unregister): Likewise.
4711 (grub_diskfilter_make_raid): New proto.
4712 (grub_diskfilter_vg_register): Likewise.
4713 (grub_diskfilter_read_node): Likewise.
4714 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4715 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4716 (grub_util_is_ldm): Likewise.
4717 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4718 (grub_hostdisk_find_partition_start): Likewise.
4719 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4720 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4721 New definition.
4722 (grub_gpt_partition_map_iterate): New proto.
4723 * include/grub/lvm.h (grub_lvm_vg): Removed.
4724 (grub_lvm_pv): Likewise.
4725 (grub_lvm_lv): Likewise.
4726 (grub_lvm_segment): Likewise.
4727 (grub_lvm_node): Likewise.
4728 * util/getroot.c [...]
4729 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4730 (probe_abstraction): Likewise.
4731 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4732 (main): Remove dead logic.
4733
8a7f9b9c
VS
47342012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 Simplify root device discover and don't fail when trying to open
4737 incorrect devices.
4738
4739 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4740 function.
4741 (get_diskname_from_path): Likewise.
4742 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4743 of iterating.
4744
30545b85
VS
47452012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4748
28ea58cf
VS
47492012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4752 pastthe end.
4753
692dabca
VS
47542012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * util/grub-install.in: Add missing \.
4757 Reported by: gentoofan
4758
f6e4ea70
VS
47592012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4762 (direct_read): Use correct compressed size.
4763 (grub_squash_read_data): Likewise.
4764
47652012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4766
4767 * docs/grub.texi (Platform limitations): New section.
4768 (Platform-specific operations): Likewise.
4769 * docs/grub-dev.texi (Porting): Likewise.
4770
76261110
VS
47712012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 IEEE1275 disk write support.
4774
4775 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4776 const void *.
4777 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4778 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4779 and seek loginc to ...
4780 (grub_ofdisk_prepare): ... here.
4781 (grub_ofdisk_write): Implement.
4782
fc36d603
VS
47832012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 ARC disk write support.
4786
4787 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4788 (reopen): New argument writable. All users updated.
4789 Handle required access mode.
4790 (grub_arcdisk_write): Implement.
4791 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4792 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4793
e06c2e7a
VS
47942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4797 (read_sblock): Don't attempt to read superblocks outside the disk size.
4798
ff447958
VS
47992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4802 first superblock to find the second one when possible.
4803
9e88df39
VS
48042012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * util/grub-install.in: Fix an ARC bug.
4807 Print a warning if no platform-specific setup is available.
4808
bb26e4ff
VS
48092012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 Use static allocation rather than scratch pointer in reed_solomon.
4812 It decreases its size significantly and avoids a variable in .text.
4813
4814 * grub-core/lib/reed_solomon.c (scratch): Removed.
4815 (chosenstat): New const or static array.
4816 (sigma): Likewise.
4817 (errpot): Likewise.
4818 (errpos): Likewise.
4819 (sy): Likewise.
4820 (mstat): Likewise.
4821 (errvals): Likewise.
4822 (eqstat): Likewise.
4823 (pol_evaluate): Replace x with log_x argument. All users updated.
4824 (syndroms): Removed.
4825 (gauss_solve): Use statically allocated arrays.
4826 (rs_recover): Likewise.
4827 Calculate syndroms directly.
4828 (decode_block): Use statically allocated arrays.
4829 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4830 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4831
2e13ede5
VS
48322012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 Eliminate fixed limit on reed solomon decoder length.
4835
4836 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4837 rather than hardcoding the address.
4838 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4839 no_reed_solomon_length.
4840 Move gate_a20 to no-reed-solomon part.
4841 Don't force a particular size of no reed-solomon part.
4842 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4843 Removed.
4844 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4845 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4846
f8a9ab12
VS
48472012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/commands/wildcard.c (match_files): Handle filenames
4850 without explicit device.
4851 (wildcard_expand): Don't add explicit device if not already present.
4852 * tests/grub_script_echo1.in: Add a new expansion test.
4853
87edb894
VS
48542012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 Replace single-linked with double-linked lists. It results in more
4857 compact and more efficient code.
4858
4859 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4860 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4861 (grub_list_remove): Moved from here ...
4862 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4863 (grub_prio_list_insert): Set prev.
4864 * include/grub/list.h (grub_list): Add prev. All users updated.
4865
48b391e9
VS
48662012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 Handle newer autotools. Add some missing quotes while on it.
4869
4870 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4871 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4872 (pkgdata_DATA): ... here.
4873 * Makefile.util.def (update-grub_lib): Removed.
4874 * conf/Makefile.common (pkglib_DATA): Removed.
4875 (pkglib_SCRIPTS): Likewise.
4876 (pkgdata_DATA): New variable.
4877 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4878 needed.
4879 Add missing quotes.
4880 Remove unused variable while on it.
4881 * tests/util/grub-shell.in: Likewise.
4882 * util/grub-install.in: Likewise.
4883 * util/grub-mkconfig.in: Likewise.
4884 * util/grub-mknetdir.in: Likewise.
4885 * util/grub-mkrescue.in: Likewise.
4886 * util/grub-mkstandalone.in: Likewise.
4887 * util/grub.d/00_header.in: Likewise.
4888 * util/grub.d/10_hurd.in: Likewise.
4889 * util/grub.d/10_illumos.in: Likewise.
4890 * util/grub.d/10_kfreebsd.in: Likewise.
4891 * util/grub.d/10_linux.in: Likewise.
4892 * util/grub.d/10_netbsd.in: Likewise.
4893 * util/grub.d/10_windows.in: Likewise.
4894 * util/grub.d/20_linux_xen.in: Likewise.
4895 * util/grub.d/30_os-prober.in: Likewise.
4896 * util/update-grub_lib.in: Removed.
4897
48982012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4899
4900 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4901 a workaround for intel problem.
4902
66832792
PRP
49032012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
49042012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
49052012-01-23 pfsmorigo
4906
4907 * util/grub-install.in: Support dd'in into PreP partition.
4908 * util/grub-probe.c (probe): Support discovering partition type.
4909 (main): Support -t msdos_parttype.
4910
7816a17e
VS
49112012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4914 infinite recursion using counter.
4915 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4916 init to skip it if the magic check fails.
4917 (dec_stream_header): Init s->crc32.
4918
8f9d3a8c
ZB
49192012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
49202012-01-22 Zachary Bedell <pendorbound@gmail.com>
49212012-01-22 Richard Laager <rlaager@wiktel.com>
4922
4923 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4924 All users updated.
4925 (find_bestub): Determine correct size.
4926 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4927 (scan_disk): Align the size down.
4928 Call check pool before find_bestub to have ashift.
4929
b055dd32
VS
49302012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4933 dprintf in no-malloc zone.
4934
d779e9bd
ML
49352012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4936
4937 * configure.ac: Add back in test for limits.h.
4938
b508af69
VS
49392012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 Support 4K-sector NTFS.
4942
4943 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4944 (grub_ntfs_data): Remove blocksize.
4945 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4946 Remove data argument. All users updated.
4947
dad9c8b5
VS
49482012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4951 being in .text to avoid dprel references.
4952 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4953 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4954 (grub_arch_highmemsize): Likewise.
4955 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4956 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4957 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4958
d43a777e
VS
49592012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4962
4963 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4964 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4965
34e4208f
VS
49662012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4969 GRUB_UTIL.
4970 (grub_set_datetime_cmos): Likewise.
4971
3ec0fc1c
VS
49722012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 Make XZ compression parameters dependent on target and not host CPU.
4975
4976 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4977 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4978
22489834
VS
49792012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4982 set but not used variable.
4983
8502fbca
VS
49842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4987 created when no uuid support is compiled into mkfs.reiser.
4988
76df2068
VS
49892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4992 (utf8_to_macroman): Do the opposite.
4993 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4994
64e3f8f6
VS
49952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * configure.ac: Refise build qemu_mips w/o unifont.
4998
9c271078
VS
49992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Eliminate grub_min/grub_max prone to overflow usage.
5002
5003 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5004 (poll_nonroot_hub): Likewise.
5005 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5006 (grub_affs_label): Likewise.
5007 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5008 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5009 (grub_hfs_label): Likewise.
5010 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5011 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5012 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5013 (zap_leaf_array_get): Likewise.
5014 (dnode_get_path): Likewise.
5015 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5016 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5017 * grub-core/script/execute.c (grub_script_break): Likewise.
5018 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5019 grub_max.
5020 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5021 * include/grub/misc.h (grub_min): Removed.
5022 (grub_max): Likewise.
5023
80662dbc
VS
50242012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5025
5026 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5027 direct.inode = 0.
5028
e6da1467
VS
50292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5032
b1ac4cb1
VS
50332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5036
b4bf7c3b
VS
50372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5040 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5041
8ee1101a
VS
50422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5045 rather than a hack for grub_strncasemap.
5046
50472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 Support multiple initrds
5050 Note: part of this was accidently committed in r3739.
5051
5052 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5053 initrd.
5054 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5055 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5056 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5057 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5058 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5059
4d1e2bc9
VS
50602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5063 disks with unknown size.
5064 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5065
75b49ebe
VS
50662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 Remove defines pertaining to arbitrary limits not affecting GRUB
5069 anymore.
5070
5071 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5072 (EXT2_MAX_SYMLINKCNT): Likewise.
5073 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5074 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5075 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5076 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5077 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5078 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5079 (DN_MAX_OBJECT_SHIFT): Likewise.
5080 (DN_MAX_OFFSET_SHIFT): Likewise.
5081 (DN_MAX_OBJECT): Likewise.
5082 (DNODES_PER_LEVEL_SHIFT): Likewise.
5083 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5084 (SPA_MAXBLOCKSIZE): Likewise.
5085 (SPA_BLOCKSIZES): Likewise.
5086 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5087 (MZAP_MAX_BLKSZ): Likewise.
5088
74a1dce7
VS
50892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5092 handle NULL appropriately.
5093 Remove MIN.
5094
30c7d3ce
VS
50952012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 Fix efiemu.
5098
5099 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5100 cpu/types.h.
5101 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5102 * configure.ac: Fix efiemu check.
5103
3c76ea0c
VS
51042012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5107 grub_probe.
5108 Reported by: adamwill
5109
7e532280
SG
51102012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5111
5112 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5113
30492374
VS
51142012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Fix handling of wide characters in gfxterm.
5117
5118 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5119 (clear_char): Likewise.
5120 (paint_char): Skip code == NULL chars.
5121 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5122
e70cb72f
VS
51232012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/normal/charset.c: Move comment to right place.
5126
5c827cf9
VS
51272012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5130 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5131 (grub_affs_mount): Revert the correct version checking.
5132
53603892
VS
51332012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * docs/grub.texi (Unicode): Mention several other unsupported features.
5136
ff094b9b
VS
51372011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5140 case statements as compile-time one.
5141 (direct_read): Prevent spurious warnings.
5142 (grub_squash_read_data): Likewise.
5143
c029da8a
VS
51442011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 Various squash4 fixes and LZO and XZ support.
5147
5148 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5149 Add xzembed source files.
5150 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5151 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5152 (grub_squash_inode): New subtype long_dir.
5153 (SQUASH_TYPE_LONG_DIR): New inode type.
5154 (COMPRESSION): New enum.
5155 (XZBUFSIZ): New const.
5156 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5157 (read_chunk): Use data->decompress.
5158 (zlib_decompress): New function.
5159 (lzo_decompress): Likewise.
5160 (xz_decompress): Likewise.
5161 (squash_mount): Set new data fields.
5162 (grub_squash_iterate_dir): Handle long dir.
5163 (squash_unmount): Free xzdec and xzbuf.
5164 (grub_squash_open): Check ino type.
5165 (direct_read): Stylistic fixes. Use data->decompress.
5166 (grub_squash_read_data): Likewise.
5167 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5168 (get_byte): Likewise.
5169 (grub_zlib_disk_read): Removed.
5170 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5171 (GRUB_POSIX_BOOL_DEFINED): New define.
5172 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5173 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5174 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5175 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5176
7a45a539
VS
51772011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 Don't override more informative errors.
5180
5181 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5182 * grub-core/font/font.c (open_section): Likewise.
5183 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5184 filename. Don't override errors.
5185 (grub_cmd_openbsd_ramdisk): Don't override errors.
5186 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5187 (grub_cmd_initrd): Likewise.
5188 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5189 (grub_cmd_initrd): Likewise.
5190 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5191 (grub_cmd_linux): Likewise.
5192 (grub_cmd_initrd): Likewise.
5193 (grub_cmd_payload): Likewise.
5194 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5195 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5196 (grub_cmd_module): Likewise.
5197 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5198 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5199 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5200 (grub_cmd_xnu_mkext): Likewise.
5201 (grub_cmd_xnu_ramdisk): Likewise.
5202 (grub_xnu_check_os_bundle_required): Likewise.
5203 (grub_xnu_load_kext_from_dir): Likewise.
5204 (grub_cmd_xnu_kextdir): Likewise.
5205 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5206
b2d004db
VS
52072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5210 as 1024 in block size field. Found on one of my test images.
5211 Small optimisation while on it.
5212
ec000eac
VS
52132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5216 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5217 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5218 performance fixes while on it.
5219 (grub_sfs_close): Fix memory leak while on it.
5220 (grub_sfs_label): Convert Latin1 to UTF-8.
5221
f50e1165
VS
52222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5225 space to avoid overflows.
5226 (grub_hfs_label): Convert from macroman to UTF-8.
5227
2ae254de
VS
52282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5231
0108f491
VS
52322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5235
f45f5f89
VS
52362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * unicode: Import Unicode 6.0 data.
5239
4d8c4765
VS
52402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5241
63fa8ef9
VS
5242 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5243 outside of range.
5244
52452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
5248
5249 * include/grub/charset.h (grub_getend): New function.
5250 * grub-core/script/function.c (grub_script_function_find): Use
5251 grub_getend.
5252 * grub-core/normal/completion.c (add_completion): Likewise.
5253
f3cb4a4e
VS
52542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
5257 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
5258 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
5259 (GRUB_UNICODE_TAG_END): Likewise.
5260 (GRUB_UNICODE_LAST_VALID): Likewise.
5261
5da8dbc5
VS
52622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
5265 len and make it smaller. All users updated.
5266 * util/import_unicode.py: Put length and not end character.
5267 Check length.
5268
8569f13d
VS
52692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 Make better Unicode-compliant and unify some UTF-8 code pathes.
5272
5273 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
5274 valid character.
5275 (grub_is_valid_utf8): Use grub_utf8_process.
5276 Check resulting code range.
5277 (grub_utf8_to_ucs4): Use grub_utf8_process.
5278 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
5279 valid character.
5280
cc4fddf5
VS
52812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
5284
bbc47747
VS
52852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * docs/grub.texi (Filesystems): Mention AFS.
5288
f63d6bf4
VS
52892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * docs/grub.texi (Filesystems): Clarify restrictions.
5292 (Regexp): Mention non-Unicode regexp behaviour.
5293 (Other): Mention non-Unicode matching behaviour.
5294
74bbf0db
VS
52952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5296
f63d6bf4 5297 Make HFS implementation use MacRoman.
74bbf0db
VS
5298
5299 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
5300 (macroman): New const array.
5301 (macroman_to_utf8): New function.
5302 (utf8_to_macroman): Likewise.
5303 (grub_hfs_find_dir): Use utf8_to_macroman.
5304 (grub_hfs_dir): Use macroman_to_utf8.
5305 Set case_insensitive.
5306
4ea0316e
VS
53072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
5310
d3c13cbd
VS
53112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 Integrate hints into autogeneration scripts.
5314
5315 * docs/grub.texi (Filesystems): Add a hostdisk example.
5316 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
5317 (grub-probe): Add ofpath.
5318 * gentpl.py: Remove group nosparc64.
5319 * grub-core/commands/search.c (cache_entry): New struct.
5320 (cache): New var.
5321 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
5322 * grub-core/commands/search_wrap.c (options): Add platform-specific
5323 hint options.
5324 (grub_cmd_search): Handle platform-specific hints.
5325 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
5326 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
5327 (grub_util_biosdisk_data): Likewise.
5328 (grub_util_biosdisk_open): Set device_map.
5329 (read_device_map): Handle "" as indication of no map.
5330 Set device_map.
5331 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
5332 (grub_util_biosdisk_get_compatibility_hint): New function.
5333 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
5334 * include/grub/emu/hostdisk.h
5335 (grub_util_biosdisk_get_compatibility_hint): New proto.
5336 * util/grub-install.in: Don't call grub-mkdevicemap.
5337 Add platform-specific hint to load.cfg.
5338 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
5339 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5340 hints. Set root preliminary to compatibility hint, not to OS name.
5341 * util/grub-probe.c (PRINT_*): Add hints.
5342 (print): Make static.
5343 (escape_of_path): New function.
5344 (guess_bios_drive): Likewise.
5345 (guess_efi_drive): Likewise.
5346 (guess_baremetal_drive): Likewise.
5347 (print_full_name): Likewise.
5348 (probe): Handle hints.
5349 (main): Likewise.
5350 * util/ieee1275/devicemap.c: Removed.
5351 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
5352 updated.
5353 (grub_util_devname_to_ofpath): Return NULL on failure.
5354
5355 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
5356 resource leak.
5357 * util/getroot.c (grub_util_pull_device): Fix memory leak.
5358
5359 * po/POTFILES.in: Regenerated.
5360
5361 Allow purely long options
5362
5363 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
5364 (SHORT_ARG_USAGE): Likewise.
5365 (grub_arg_show_help): Compare opt with help_options.
5366 (parse_option): Receive opt as argument. If makes big simplificatons.
5367 All users updated
5368
00ce2df3
VS
53692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
5372 Restructure to avoid warning.
5373
e77e325f
VS
53742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * util/grub-install.in: Account for possible escaped comma in device
5377 name.
5378
165099ea
VS
53792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
5382 channel.
5383
ce4a999d
VS
53842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
5387 allocation and zero-setting.
5388 (grub_ieee1275_get_devname): Check that alias is complete.
5389
379586ad
VS
53902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
5393 unaligned segments.
5394
9197b0ad
VS
53952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
5398 prefix.
5399 (grub_ofdisk_open): Check and discard ieee1275 prefix.
5400 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5401 Add ieee1275 prefix.
5402
edddb7f9
VS
54032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * docs/grub.texi (Filesystems): Update.
5406
a1a8b1b9
VS
54072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 Support odc, newc and bigendian cpio formats.
5410
5411 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
5412 * grub-core/Makefile.core.def (newc): New module.
5413 (odc): Likewise.
5414 (cpio_be): Likewise.
5415 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
5416 (MAGIC): Likewise.
5417 (MAGIC2): Likewise.
5418 (head) [MODE_ODC]: Adapt for the format.
5419 (head) [MODE_NEWC]: Likewise.
5420 (head) [!MODE_*]: Write fields of interest as arrays.
5421 (MAGIC_USTAR): Removed.
5422 (read_number) [MODE_NEWC]: Change to hex.
5423 (read_number) [!MODE_*]: Parse binary arrays.
5424 (grub_cpio_find_file): Factor out the code for better structure and
5425 always use read_number.
5426 (grub_cpio_mount): Use MAGIC and MAGIC2.
5427 (grub_cpio_dir): Exit on first hook non-0 return.
5428 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
5429 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
5430 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
5431 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
5432 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
5433 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
5434 * grub-core/fs/newc.c: New file.
5435 * grub-core/fs/odc.c: Likewise.
5436 * grub-core/fs/cpio_be.c: Likewise.
5437
58eba9ee
VS
54382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 Fix handling of tar numbers occupying the whole field.
5441
5442 * grub-core/fs/cpio.c (read_number): New function.
5443 (grub_cpio_find_file): Use read_number instead of strtoull.
5444
a54a0e12
VS
54452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
5448 occupying the whole field size.
5449
a6120aca
LA
54502011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
5451
5452 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
5453
a93964ce
VS
54542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
5457
3ea1ca46
SG
54582011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
5459
5460 * grub-core/Makefile.core.def (lzma_decompress): Add missing
5461 TARGET_IMG_LDFLAGS.
5462
b87f7ef2
VS
54632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * util/getroot.c (ESCAPED_PATH_MAX): New define.
5466 (mountinfo_entry): Increase the field size to take escaping into
5467 account.
5468 (find_root_device_from_libzfs): Add one byte to size of strings for
5469 security.
5470
62092395
VS
54712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
5474 an assert.
5475 * util/grub-setup.c (setup): Likewise.
5476
1f0b1a77
VS
54772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
5480 _LzmaDecodeA.
5481
8eba9997
VS
54822011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * docs/grub.texi (Internationalisation): New section.
5485
dd0c91e9
VS
54862011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * docs/grub.texi (Loopback booting): New section.
5489
54902011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
5491
5492 * util/grub-mkstandalone.in: Fix minor typo errors.
5493
198e150a
VS
54942011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
5497
5498 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
5499 net/icmp.c and net/icmp6.c.
5500 (http): New module.
5501 (priority_queue): Likewise.
5502 * grub-core/io/bufio.c: Rewritten.
5503 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
5504 TYPE_WITH_CONFIGFILE_OPTION.
5505 (legacy_commands): Add bootp and dhcp.
5506 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
5507 (grub_legacy_parse): Likewise.
5508 * grub-core/lib/priority_queue.c: New file.
5509 * grub-core/net/arp.c: Add missing license header.
5510 (arp_find_entry): Removed.
5511 (arp_find_entry): Likewise.
5512 (grub_net_arp_resolve): Rename to ...
5513 (grub_net_arp_send_request): ...this.
5514 (grub_net_arp_receive): New card argument.
5515 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
5516 Set router and DNS server.
5517 (grub_net_configure_by_dhcp_ack): Handle routing information.
5518 (grub_cmd_bootp): Set checksum.
5519 (grub_bootp_init): Remove net_dhcp.
5520 * grub-core/net/dns.c: New file.
5521 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
5522 completion.
5523 (get_card_packet): Handle allocation.
5524 (grub_efinet_findcards): Set mtu.
5525 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
5526 (get_card_packet): Handle allocation.
5527 (emucard): Set mtu.
5528 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
5529 (GRUB_MOD_INIT): Set mtu.
5530 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
5531 mtu.
5532 (get_card_packet): Handle allocation.
5533 (grub_ofnet_findcards): Set mtu.
5534 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
5535 assert.
5536 (grub_net_recv_ethernet_packet): Handle IPv6.
5537 * grub-core/net/http.c: New file.
5538 * grub-core/net/icmp.c: Likewise.
5539 * grub-core/net/icmp6.c: Likewise.
5540 * grub-core/net/ip.c (ip6addr): New type.
5541 (ip6hdr): Likewise.
5542 (reassemble): Likewise.
5543 (cmp): New function.
5544 (reassembles): New variable.
5545 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
5546 (id): New variable.
5547 (send_fragmented): New function.
5548 (grub_net_send_ip_packet): Rename to ...
5549 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
5550 Handle non-UDP.
5551 (grub_net_recv_ip_packets): Rename to ...
5552 (handle_dgram): ... this. Check checksum. Handle non-UDP.
5553 (free_rsm): New function.
5554 (free_old_fragments): Likewise.
5555 (grub_net_recv_ip4_packets): New function.
5556 (grub_net_send_ip6_packet): Likewise.
5557 (grub_net_send_ip_packet): Likewise.
5558 (grub_net_recv_ip6_packets): Likewise.
5559 (grub_net_recv_ip_packets): Likewise.
5560 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
5561 (LINK_LAYER_CACHE_SIZE): New const.
5562 (link_layer_find_entry): New function.
5563 (grub_net_link_layer_add_address): Likewise.
5564 (grub_net_link_layer_resolve_check): Likewise.
5565 (grub_net_link_layer_resolve): Likewise.
5566 (grub_net_ipv6_get_slaac): Likewise.
5567 (grub_net_ipv6_get_link_local): Likewise.
5568 (grub_cmd_ipv6_autoconf): Likewise.
5569 (parse_ip): Handle one number representation.
5570 (parse_ip6): New functoion.
5571 (match_net): Handle IPv6.
5572 (grub_net_resolve_address): Handle IPv6 and DNS.
5573 (grub_net_resolve_net_address): Handle IPv6.
5574 (route_cmp): New function.
5575 (grub_net_route_address): Find best route.
5576 (grub_net_addr_to_str): Handle IPv6.
5577 (grub_net_addr_cmp): New function.
5578 (grub_net_add_addr): Register local route.
5579 (print_net_address): Handle net address.
5580 (grub_net_poll_cards): Retransmit TCP.
5581 (grub_net_poll_cards_idle_real): Likewise.
5582 (have_ahead): New function.
5583 (grub_net_seek_real): Use underlying seek.
5584 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
5585 * grub-core/net/tcp.c: New file.
5586 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
5587 (cmp): New function.
5588 (ack): Likewise.
5589 (tftp_receive): Handle unordered input.
5590 (destroy_pq): New function.
5591 (tftp_close): Close pq.
5592 * grub-core/net/udp.c: Put missing license header.
5593 (grub_net_udp_socket): New function.
5594 (udp_socket_register): Likewise.
5595 (grub_net_udp_close): Likewise.
5596 (grub_net_recv_udp_packet): Check checksum.
5597 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
5598 * include/grub/misc.h (grub_memchr): New function.
5599 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
5600 (grub_net_card_driver): Return buf in recv.
5601 (grub_net_slaac_mac_list): New struct.
5602 (grub_network_level_protocol_id): Add ipv6.
5603 (grub_net_network_level_addr): Likewise.
5604 (grub_net_network_level_net_addr): Likewise.
5605 (grub_net_app_protocol): Add seek.
5606 (grub_net_socket): Removed.
5607 (grub_net_sockets): Likewise.
5608 (grub_net_socket_register): Likewise.
5609 (grub_net_socket_unregister): Likewise.
5610 (FOR_NET_SOCKETS): Likewise.
5611 (grub_net_add_addr): Add const.
5612 (GRUB_NET_BOOTP_*): New enum.
5613 (grub_net_addr_cmp): New proto.
5614 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
5615 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
5616 (grub_net_hwaddr_to_str): NEw proto.
5617 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
5618 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
5619 (grub_dns_init): New proto.
5620 (grub_dns_fini): Likewise.
5621 (grub_net_tcp_retransmit): Likewise.
5622 (grub_net_link_layer_add_address): Likewise.
5623 (grub_net_link_layer_resolve_check): Likewise.
5624 (grub_net_link_layer_resolve): Likewise.
5625 (grub_net_dns_lookup): Likewise.
5626 (grub_net_add_dns_server): Likewise.
5627 (grub_net_remove_dns_server): Likewise.
5628 (GRUB_NET_TRIES): New const.
5629 (GRUB_NET_INTERVAL): Likewise.
5630 * include/grub/net/arp.h: Mostly rewritten.
5631 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5632 * include/grub/net/ip.h: Mostly rewritten.
5633 * include/grub/net/netbuff.h: Indent.
5634 * include/grub/net/tcp.h: New file.
5635 * include/grub/net/udp.h: Mostly rewritten.
5636 * include/grub/priority_queue.h: New file.
5637 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5638 (grub_swap_bytes64_compile_time): Likewise.
5639 (grub_cpu_to_be16_compile_time): Likewise.
5640 (grub_cpu_to_be32_compile_time): Likewise.
5641 (grub_cpu_to_be64_compile_time): Likewise.
5642 (grub_be_to_cpu64_compile_time): Likewise.
5643
215c1800
VS
56442011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5647 UINT_TO_PTR with cast.
5648
c17e546c
VS
56492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5652 don't use them.
5653
ff6b18b6
VS
56542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5657 already there.
5658
70ffcc93
VS
56592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5662 confusing ipxe.
5663
e5f4d260
VS
56642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5667 Add missing const attribute.
5668 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5669 Likewise.
5670 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5671 Likewise.
5672
8e54b4b7
VS
56732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5676 misaligned access.
5677 (serpent_setkey): Likewise.
5678 (serpent_encrypt_internal): Likewise.
5679 (serpent_decrypt_internal): Likewise.
5680 (serpent_encrypt): Don't put an alignment-increasing cast.
5681 (serpent_decrypt): Likewise.
5682 (serpent_test): Likewise.
5683
813c0a2b
VS
56842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5687
f2b60fbd
VS
56882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5691
5692 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5693 grub_addr_t casts.
5694 (PTR_TO_UINT64): Likewise.
5695 (PTR_TO_UINT32): Likewise.
5696
5ef5c511
VS
56972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5700 because of stack.
5701 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5702 limit.
5703
c476e6df
VS
57042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5707 text_width > available width a bit more gracefully.
5708
384ad7cc
VS
57092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5712 current address calculation.
5713
96f8caf8
VS
57142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5717 stack.
5718 (encode_block): Likewise.
5719
276b7a8b
VS
57202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5723 certainety.
5724
e3fd394a
VS
57252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5728 non-RS part to avoid RS messing with GDT.
5729 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5730 Increase to suit in realmode routines.
5731
57322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/kern/i386/realmode.S: Increase alignment.
5735 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5736
ee9c2e7a
VS
57372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5740 be deterministic.
5741 (syndroms): Compute 0 syndrom.
5742 (rs_recover): Use 0 syndrom.
5743
7a7f7cc9
VS
57442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5747
a14b16d1
VS
57482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5751 brackets.
5752
9f59e9fc
VS
57532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5754
ca1b552c
VS
5755 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5756 account.
5757 (get_top_pad): Likewise.
5758 (get_right_pad): Likewise.
5759 (get_bottom_pad): Likewise.
5760
57612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5764
e739d698
VS
57652011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5768 attribute as the structure isn't guaranteed to be properly aligned.
5769 (grub_efi_pci_device_path): Likewise.
5770 (grub_efi_pccard_device_path): Likewise.
5771 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5772 specify the size of `memory_type'.
5773 (grub_efi_vendor_device_path): Likewise.
5774 (grub_efi_controller_device_path): Likewise.
5775 (grub_efi_acpi_device_path): Likewise.
5776 (grub_efi_expanded_acpi_device_path): Likewise.
5777 (grub_efi_atapi_device_path): Likewise.
5778 (grub_efi_scsi_device_path): Likewise.
5779 (grub_efi_fibre_channel_device_path): Likewise.
5780 (grub_efi_1394_device_path): Likewise.
5781 (grub_efi_usb_device_path): Likewise.
5782 (grub_efi_usb_class_device_path): Likewise.
5783 (grub_efi_i2o_device_path): Likewise.
5784 (grub_efi_mac_address_device_path): Likewise.
5785 (grub_efi_ipv4_device_path): Likewise.
5786 (grub_efi_ipv6_device_path): Likewise.
5787 (grub_efi_infiniband_device_path): Likewise.
5788 (grub_efi_uart_device_path): Likewise.
5789 (grub_efi_vendor_messaging_device_path): Likewise.
5790 (grub_efi_hard_drive_device_path): Likewise.
5791 (grub_efi_cdrom_device_path): Likewise.
5792 (grub_efi_vendor_media_device_path): Likewise.
5793 (grub_efi_file_path_device_path): Likewise.
5794 (grub_efi_protocol_device_path): Likewise.
5795 (grub_efi_piwg_device_path): Likewise.
5796 (grub_efi_bios_device_path): Likewise.
5797
cb8f88ea
VS
57982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5801 (grub_ucs4_to_utf8_alloc): Likewise.
5802 (grub_ucs4_to_utf8): Likewise.
5803 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5804 (grub_ucs4_to_utf8_alloc): Likewise.
5805
309e5352
VS
58062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 AFFS never uses unicode.
5809
5810 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5811 (grub_latin1_to_utf8): New inline function.
5812 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5813
e7987e1b
VS
58142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5817 overflow.
5818
efc2616e
VS
58192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5822 (grub_squash_dirent_header): Likewise.
5823 (read_chunk): Don't double swap.
5824 (grub_squash_iterate_dir): Fix swap sizes.
5825
3c349f5a
VS
58262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5829
b453412d
VS
58302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5833 (grub_hfs_iterate_dir): Likewise.
5834
12e9d4d1
VS
58352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Fix video on platforms where unaligned access is forbidden.
5838 Make several optimisations while on it.
5839
5840 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5841 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5842 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5843 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5844 Disable.
5845 (grub_video_fbblit_replace_16bit_1bit):
5846 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5847 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5848 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5849 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5850 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5851 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5852 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5853 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5854 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5855 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5856 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5857 (grub_video_fbblit_replace_index_RGB888): Likewise.
5858 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5859 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5860 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5861 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5862 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5863 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5864 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5865 Disable.
5866 (grub_video_fbblit_blend_XXX565_1bit):
5867 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5868 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5869 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5870 void *.
5871 * grub-core/video/fb/video_fb.c (common_blitter)
5872 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5873 (grub_video_fb_create_render_target_from_pointer)
5874 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5875 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5876 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5877 definition.
5878 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5879
ace96609
VS
58802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5883 HH22 and HM10 relocations.
5884
fd261d73
VS
58852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5888
e59b7857
VS
58892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5892 allocation succeeded.
5893
9b4baaa4
VS
58942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5897 argument a u8 pointer. All users updated.
5898 Handle unaligned buffers.
5899
dc713193
VS
59002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5903 add_part to workaround compiler bug.
5904
30dd48c2
VS
59052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5908
0c6087a8
VS
59092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5912 Reserve alignment invariants.
5913 (grub_multiboot_load): Likewise.
5914 (retrieve_video_parameters): Likewise.
5915 (grub_multiboot_make_mbi): Likewise.
5916
c2e77777
VS
59172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5920 incorrect pointer.
5921
b70b6d11
VS
59222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5925 (grub_pata_pio_write): Likewise.
5926
02a2bf83
VS
59272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 Add noreturn attributes and remove unreachable code.
5930
5931 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5932 code.
5933 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5934 code. Mark as noreturn.
5935 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5936 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5937 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5938 unreachable code.
5939 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5940 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5941 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5942 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5943 * include/grub/kernel.h (grub_main): Mark as noreturn.
5944 * include/grub/reader.h (grub_rescue_run): Likewise.
5945
2019d09e
VS
59462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5949 redundant declaration.
5950
d1c501ee
VS
59512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5954 redundant declaration.
5955 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5956
61664420
VS
59572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5960 to ensure alignment.
5961 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5962 alignment. Ensure tmp alignment.
5963 (grub_cmd_hdparm): Ensure buf alignment.
5964 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5965 to ensure alignment.
5966 (grub_ata_dumpinfo): Ensure text alignment.
5967 (grub_atapi_identify): Preserve alignment invariant.
5968 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5969
0d51ee20
VS
59702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5973 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5974 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5975 * include/grub/misc.h (grub_reboot)
5976 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5977 (grub_halt) [__mips__]: Likewise.
5978
753ef8c1
VS
59792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5982 Remove redundant declaration.
5983 (grub_mmap_get_post64): Likewise.
5984 (grub_mmap_get_upper): Likewise.
5985 (grub_mmap_get_lower): Likewise.
5986
85c85365
VS
59872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5990 uint32_t * to ensure alignment.
5991 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5992
a23f2cc4
VS
59932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5994
93018f64
VS
5995 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5996 uint16_t * to ensure alignment.
5997 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5998 alignment.
5999
60002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6003 to ensure alignment.
6004 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6005
58acccd6
VS
60062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6009 Handle unaligned pointers.
6010 (u32at): Likewise.
6011 (u64at): Likewise.
6012 (fixup): Use byte access instead of v16at.
6013 (find_attr): Fix imporper usage of v32at.
6014 (read_data): Likewise.
6015 (list_file): Handle byte-swapping and unaligned strings.
6016 (grub_ntfs_label): Likewise.
6017
9b05cad7
VS
60182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6021 as it's not necessarily aligned.
6022
b3950b84
VS
60232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6026 redundant declaration.
6027 (grub_serial_init): Likewise.
6028 (grub_terminfo_init): Likewise.
6029
fcd232b7
VS
60302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6033 function.
6034 (ZAP_HASH_IDX): Likewise.
6035 (ZAP_LEAF_HASH_SHIFT): Likewise.
6036 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6037 (LEAF_HASH): Likewise.
6038 (ZAP_LEAF_NUMCHUNKS): Likewise.
6039 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6040 alignment invariants. Return pointer. All users updated.
6041 (ZAP_LEAF_ENTRY): Make into inline function.
6042 (NBBY): Removed.
6043 (xor): LIkewise.
6044 (xor_out): Use grub_crypto_xor.
6045 (dnode_get_path): Use grub_get_unaligned.
6046 (nvlist_find_value): Likewise.
6047 (grub_zfs_nvlist_lookup_uint64): Likewise.
6048 (grub_zfs_nvlist_lookup_string): Likewise.
6049 (get_nvlist_size): Likewise.
6050 (grub_zfs_open): Likewise.
6051 (fill_fs_info): Likewise.
6052 (grub_zfs_dir): Likewise.
6053 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6054 alignment invariants.
6055 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6056 necessarily aligned.
6057
f138623a
VS
60582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6061
564840dc
VS
60622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6065 arithmetic to conserve alignment invariants.
6066
9b40df20
VS
60672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6070 redundant declaration.
6071 (grub_efiemu_mm_obtain_request): Likewise.
6072 (grub_efiemu_prepare): Likewise.
6073
d1c930f9
VS
60742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6077 to match types.
6078
4c5f3056
VS
60792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6082 case of aunaligned recptr.
6083 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6084 alignment.
6085 (grub_hfsplus_btree_search): Handle unaligned index.
6086
728cba91
VS
60872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6090 to get freetag and skip.
6091
eb561f31
VS
60922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6095 array.
6096 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6097 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6098
20993fbb
VS
60992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6102 name for checksum and fix allocation algorithm.
6103
1f313b94
VS
61042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * include/grub/types.h (grub_properly_aligned_t): New type.
6107 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6108 (grub_get_unaligned16): Add explicit casts.
6109 (grub_get_unaligned32): Likewise.
6110 (grub_get_unaligned64): Likewise.
6111 (grub_set_unaligned16): New function.
6112 (grub_set_unaligned32): Likewise.
6113
47ae27ec
VS
61142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6117
78c2cd1c
VS
61182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6121 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6122 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6123
53072f9b
VS
61242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6127 conditionals.
6128
055dc239
VS
61292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6132 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6133
496bd074
VS
61342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 Unify and improve RAID and crypto xor.
6137
6138 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6139 changed to grub_crypto_xor
6140 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6141 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6142 Use bigger types when possible.
6143
ef6e4335
VS
61442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/disk/raid.c (scan_devices): Fix condition.
6147
5d048bf2
VS
61482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6151 Make name a const ptr.
6152
ee533335
VS
61532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6156 first argument a const pointer.
6157 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6158 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6159 proto.
6160 (grub_children_iterate): Likewise.
6161 (grub_machine_mmap_iterate): Remove redundant declaration.
6162
cc8f3668
VS
61632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6166 (grub_cmd_acpi) [!x86]: Disable EBDA.
6167
c5fc563a
VS
61682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 Enable UTF8 in gnulib regexp.
6171
6172 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6173 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6174 (isupper): Use grub_isupper.
6175 (isascii): New inline function.
6176 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
6177 * grub-core/lib/posix_wrap/wctype.h: Likewise.
6178 * grub-core/normal/charset.c (grub_utf8_process): New function.
6179 (grub_utf8_to_utf16): Use grub_utf8_process.
6180 (grub_encode_utf8_character): New function.
6181 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6182 * include/grub/charset.h (grub_utf8_process): New declaration.
6183 (grub_encode_utf8_character): Likewise.
6184 * include/grub/misc.h (grub_islower): New inline function.
6185 (grub_isupper): Likewise.
6186 (grub_strchrsub): Moved down to fix the definitions.
6187
0af2346f
VS
61882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6191 specification.
6192
74dbd244
VS
61932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * include/grub/loader.h (grub_loader_register_preboot_hook):
6196 Use struct preboot * and not void * for handle. All users updated.
6197 (grub_loader_unregister_preboot_hook): Likewise.
6198
1bc8f60d
VS
61992011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6202 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6203 UTF-16-BE. All users updated.
6204 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6205 (grub_hfsplus_iterate_dir): Likewise.
6206 (grub_hfsplus_label): Likewise.
6207
48d6e456
VS
62082011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6211
bf3a3857
VS
62122011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 Add missing const qualifiers.
6215
6216 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6217 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6218 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6219 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6220 (grub_lvm_check_flag): Likewise.
6221 * grub-core/efiemu/i386/coredetect.c
6222 (grub_efiemu_get_default_core_name): Likewise
6223 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6224 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6225 * grub-core/fs/ntfs.c (fixup): Likewise.
6226 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6227 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6228 (fzap_lookup): Likewise.
6229 (zap_lookup): Likewise.
6230 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6231 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6232 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6233 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6234 (grub_freebsd_add_meta_module): Likewise.
6235 (grub_cmd_freebsd_module): Likewise.
6236 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6237 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6238 (grub_xnu_writetree_get_size): Likewise.
6239 (grub_xnu_writetree_toheap_real): Likewise.
6240 (grub_xnu_find_key): Likewise.
6241 (grub_xnu_create_key): Likewise.
6242 (grub_xnu_create_value): Likewise.
6243 (grub_xnu_register_memory): Likewise.
6244 (grub_xnu_check_os_bundle_required): Likewise.
6245 (grub_xnu_scan_dir_for_kexts): Likewise.
6246 (grub_xnu_load_kext_from_dir): Likewise.
6247 * grub-core/normal/color.c (color_list): Likewise.
6248 * grub-core/normal/completion.c (current_word): Likewise.
6249 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6250 * grub-core/term/serial.c (grub_serial_find): Likewise.
6251 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6252 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6253 Likewise.
6254 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6255 (grub_freebsd_add_meta_module): Likewise.
6256 * include/grub/lib/arg.h (grub_arg_option): Likewise.
6257 * include/grub/net.h (grub_net_card_driver): Likewise.
6258 (grub_net_card): Likewise.
6259 (grub_net_app_protocol): Likewise.
6260 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
6261 * include/grub/serial.h (grub_serial_find): Likewise.
6262 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
6263 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
6264 (grub_xnu_create_value): Likewise.
6265 (grub_xnu_find_key): Likewise.
6266 (grub_xnu_scan_dir_for_kexts): Likewise.
6267 (grub_xnu_load_kext_from_dir): Likewise.
6268
6269 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
6270 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
6271 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
6272 Moved from here ...
6273 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
6274
112b4837
CW
62752011-11-28 Colin Watson <cjwatson@ubuntu.com>
6276
6277 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
6278
49e891ac
VS
62792011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
6282 (read_device): Fix size calculation.
6283
fd258e5c
RM
62842011-11-25 Robert Millan <rmh@gnu.org>
6285
6286 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
6287 (find_root_device_from_libzfs): Add zpool output parser to be used
6288 as fallback when libzfs isn't available.
6289
78845dc2
SG
62902011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
6291
6292 * po/Makefile.in.in: Add missing escape-continuation.
6293
adac5211
VS
62942011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
6297
10b64f1c
VS
62982011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
6301
bb416954
VS
63022011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
6305
bdfe9eeb
VS
63062011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
6309
581ffa8a
VS
63102011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/lib/adler32.c: Add missing license specification.
6313 * grub-core/lib/crc64.c: Likewise.
6314 * grub-core/loader/i386/pc/plan9.c: Likewise.
6315 * grub-core/partmap/plan.c: Likewise.
6316
2536cf64
LK
63172011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
6318
6319 Add facility to debug GRUB with gdb under qemu.
6320
6321 * grub-core/gdb_grub.in: New file.
6322 * grub-core/gmodule.pl.in: Likewise.
6323 * grub-core/Makefile.core.def (gmodule.pl): New script.
6324 (gdb_grub): Likewise.
6325
bc108a4a
VS
63262011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * util/grub-mount.c (argp_parser): Accept relative pathes.
6329 * util/grub-fstest.c (argp_parser): Likewise.
6330
111c1778
VS
63312011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 Plan9 support.
6334
6335 * Makefile.util.def (libgrubmods): Add
6336 grub-core/partmap/plan.c.
6337 * docs/grub.texi: Notice Plan9 support.
6338 * grub-core/Makefile.core.def (plan9): New module.
6339 (part_plan): Likewise.
6340 * grub-core/loader/i386/pc/plan9.c: New file.
6341 * grub-core/partmap/plan.c: Likewise.
6342 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
6343 define.
6344 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
6345 * include/grub/mm.h (grub_extend_alloc): New inline function.
6346
c30be3b6
VS
63472011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 Make Reed-Solomon faster by using power of generator representation of
6350 GF(256)*.
6351
6352 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
6353 (gf_double_t): Likewise.
6354 (gf_invert): Removed.
6355 (gf_powx): New array.
6356 (gf_powx_inv): Likewise.
6357 (scratch): Move higher.
6358 (gf_reduce): Removed.
6359 (gf_mul): Use powx.
6360 (gf_invert): Likewise.
6361 (init_inverts): Replaced with ...
6362 (init_powx): ...this. All users updated.
6363 (pol_evaluate): Replace multiplications with additions.
6364 (rs_encode): Likewise.
6365 (gauss_eliminate): Call gf_invert.
6366 (grub_reed_solomon_add_redundancy): Call init_powx.
6367 (grub_reed_solomon_recover): Call init_powx unconditionally.
6368
fa5aeffc
VS
63692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
6372
a346b81c
VS
63732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
6376 disk->partiton for safety.
6377
d89ee414
VS
63782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6381 Fix a memory leak.
6382 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
6383
91ee7b6d
VS
63842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
6387
91e5a33d
VS
63882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
6391
9edd7be2
VS
63922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 Fix spaces handling in proc/self/mountinfo.
6395
6396 * util/getroot.c (unescape): New function.
6397 (grub_find_root_device_from_mountinfo): Use unescape.
6398
ba102053
VS
63992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 Support ZFS embedding.
6402
6403 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
6404 (grub_zfs_fs): Register grub_zfs_embed.
6405
aa94b870
VS
64062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 Fix MIPS compilation.
6409
6410 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
6411 * include/grub/offsets.h: Rename decompressor fields from
6412 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
6413 * util/grub-mkimage.c (image_targets): Use new names.
6414
5fbdac14
VS
64152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Defer multiboot device parsing until we're in compressed part.
6418
6419 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
6420 bsd_part. setdevice has fallen into disuse.
6421 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
6422 (bsd_part): Likewise.
6423 (boot_dev): New variable.
6424 (multiboot_trampoline): Don't parse multiboot device.
6425 Pass multiboot device in %edx.
6426 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
6427 grub_boot_device.
6428 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
6429 Likewise.
6430 * grub-core/kern/i386/pc/startup.S: Save edx.
6431 (grub_boot_drive): Removed.
6432 (grub_install_dos_part): Likewise.
6433 (grub_install_bsd_part): Likewise.
6434 (grub_boot_device): New variable.
6435 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
6436 (grub_install_bsd_part): Likewise.
6437 (grub_boot_drive): Likewise.
6438 (grub_boot_device): New variable.
6439 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
6440 Removed.
6441 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6442 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
6443 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
6444 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
6445 * util/grub-install.in: Remove redundant condition.
6446
691cbb58
VS
64472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 Fix bug introduced by previous commit.
6450
6451 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
6452
60240b8b
VS
64532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 Use decompressors framework on i386-pc. It increases core size
6456 by 46 bytes but improves compatibility and maintainability.
6457
6458 * grub-core/Makefile.core.def (lzma_decompress): New image.
6459 (kernel): Add i386_pc_ldflags.
6460 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
6461 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
6462 to real_to_prot, prot_to_real and device info.
6463 * include/grub/offsets.h: Renamed decompressor offsets.
6464 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
6465 (image_target_desc): Remove raw_size and rename decompressor fields.
6466 (compress_kernel): Handle lzma.
6467 (generate_image): Handle decompressors on i386-pc.
6468
e9d3421c
VS
64692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * configure.ac: Add -fno-asynchronous-unwind-tables.
6472
2b23074a
VS
64732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Move assembly code to C by using intwrap. It increases core size
6476 by 88 bytes but improves compatibility and maintainability.
6477
6478 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
6479 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
6480 ... here. Translated to C.
6481 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
6482 * grub-core/term/i386/pc/console.c (grub_console_getkey):
6483 ... here. Translated to C.
6484 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
6485 * grub-core/term/i386/pc/console.c (grub_console_getxy):
6486 ... here. Translated to C.
6487 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
6488 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
6489 ... here. Translated to C.
6490 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
6491 * grub-core/term/i386/pc/console.c (grub_console_cls):
6492 ... here. Translated to C.
6493 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
6494 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
6495 ... here. Translated to C.
6496 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
6497 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
6498 Translated to C.
6499 * grub-core/term/i386/pc/console.c (int10_9): New function.
6500 (grub_console_putchar): Likewise.
6501 * include/grub/i386/pc/console.h: Removed the not anymore shared
6502 functions.
6503
678f4b67
VS
65042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 Move grub_chainloader_real_boot out of the kernel.
6507
6508 * grub-core/Makefile.am: Remove machine/loader.h.
6509 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6510 Removed.
6511 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
6512 variable.
6513 (grub_relocator16_keep_a20_enabled): Likewise.
6514 (grub_relocator16_boot): Fill new variables.
6515 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
6516 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
6517 relocator.
6518 (grub_chainloader_unload): Likewise.
6519 (grub_chainloader_cmd): Likewise.
6520 * include/grub/i386/pc/loader.h: Removed.
6521 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
6522 and esi. All initialisers updated.
6523
4626edf6
VS
65242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
65252011-11-12 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * Makefile.util.def (grub-mount): New util.
6528 * .bzrignore: Add grub-mount.
6529 * configure.ac: Check for fuse and enable grub-mount if available.
6530 * docs/man/grub-mount.h2m: New file.
6531 * util/grub-mount.c: Likewise.
6532
10f0117b
VS
65332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * grub-core/commands/efi/fixvideo.c: Gettextize.
6536 * grub-core/commands/hashsum.c: Likewise.
6537 * grub-core/commands/i386/cmostest.c: Likewise.
6538 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6539 * grub-core/commands/i386/pc/lsapm.c: Likewise.
6540 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6541 * grub-core/commands/lsmmap.c: Likewise.
6542 * grub-core/commands/menuentry.c: Likewise.
6543 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6544 * grub-core/commands/setpci.c: Likewise.
6545 * grub-core/loader/i386/bsd.c: Likewise.
6546 * grub-core/loader/i386/linux.c: Likewise.
6547 * util/getroot.c: Likewise.
6548 * util/grub-editenv.c: Likewise.
6549 * util/grub-fstest.c: Likewise.
6550 * util/grub-mkfont.c: Likewise.
6551 * util/grub-mkimage.c: Likewise.
6552 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6553 * util/grub-pe2elf.c: Likewise.
6554 * util/grub-probe.c: Likewise.
6555 * util/grub-setup.c: Likewise.
6556 * util/ieee1275/ofpath.c: Likewise.
6557 * util/misc.c: Likewise.
6558 * util/raid.c: Likewise.
6559
566f779b
RM
65602011-11-11 Robert Millan <rmh@gnu.org>
6561
6562 * util/getroot.c (grub_util_get_geom_abstraction): Remove
6563 __attribute__((unused)) from `os_dev', which *is* being used.
6564
b50787de
VS
65652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
6568 forgotten define.
6569 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
6570 GRUB_IA64_DL_GOT_ALIGN.
6571 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
6572 GRUB_IA64_DL_TRAMP_ALIGN.
6573
119d11c8
VS
65742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 Replace grub_fatal with normal errors in i386 linux loader.
6577
6578 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
6579 (allocate_pages): Check find_efi_mmap_size return value.
6580 (grub_e820_add_region): Return error.
6581 (grub_linux_boot): Check mmap return value.
6582
6e0632e2
VS
65832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/commands/acpihalt.c: Gettextized.
6586 * grub-core/commands/cacheinfo.c: Likewise.
6587 * grub-core/commands/cmp.c: Likewise.
6588 * grub-core/commands/efi/loadbios.c: Likewise.
6589 * grub-core/commands/gptsync.c: Likewise.
6590 * grub-core/commands/ieee1275/suspend.c: Likewise.
6591 * grub-core/commands/legacycfg.c: Likewise.
6592 * grub-core/commands/memrw.c: Likewise.
6593 * grub-core/commands/minicmd.c: Likewise.
6594 * grub-core/commands/parttool.c: Likewise.
6595 * grub-core/commands/time.c: Likewise.
6596 * grub-core/commands/videoinfo.c: Likewise.
6597 * grub-core/disk/geli.c: Likewise.
6598 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
6599 * grub-core/disk/luks.c: Likewise.
6600 * grub-core/disk/lvm.c: Likewise.
6601 * grub-core/font/font_cmd.c: Likewise.
6602 * grub-core/fs/zfs/zfscrypt.c: Likewise.
6603 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6604 * grub-core/gfxmenu/view.c: Likewise.
6605 * grub-core/kern/emu/hostdisk.c: Likewise.
6606 * grub-core/kern/emu/main.c: Likewise.
6607 * grub-core/kern/emu/misc.c: Likewise.
6608 * grub-core/kern/emu/mm.c: Likewise.
6609 * grub-core/kern/mips/arc/init.c: Likewise.
6610 * grub-core/kern/mips/loongson/init.c: Likewise.
6611 * grub-core/kern/partition.c: Likewise.
6612 * grub-core/lib/i386/halt.c: Likewise.
6613 * grub-core/lib/mips/arc/reboot.c: Likewise.
6614 * grub-core/lib/mips/loongson/reboot.c: Likewise.
6615 * grub-core/loader/i386/pc/chainloader.c: Likewise.
6616 * grub-core/loader/i386/xnu.c: Likewise.
6617 * grub-core/loader/multiboot.c: Likewise.
6618 * grub-core/net/bootp.c: Likewise.
6619 * grub-core/net/net.c: Likewise.
6620 * grub-core/normal/term.c: Likewise.
6621 * grub-core/partmap/bsdlabel.c: Likewise.
6622 * grub-core/parttool/msdospart.c: Likewise.
6623 * grub-core/term/gfxterm.c: Likewise.
6624 * grub-core/term/terminfo.c: Likewise.
6625 * grub-core/video/i386/pc/vbe.c: Likewise.
6626 * util/grub-menulst2cfg.c: Likewise.
6627 * util/grub-mkdevicemap.c: Likewise.
6628 * util/grub-mklayout.c: Likewise.
6629 * util/grub-mkrelpath.c: Likewise.
6630 * util/grub-script-check.c: Likewise.
6631 * util/ieee1275/grub-ofpathname.c: Likewise.
6632 * util/resolve.c: Likewise.
6633
073aa7a9
VS
66342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 Support %1$d syntax.
6637
6638 * tests/printf_unit_test.c: New file.
6639 * Makefile.util.def (printf_test): New test.
6640 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6641
c76b5417
VS
66422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6645 fix.
6646
df067ad1
VS
66472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6650 dprintf.
6651 * grub-core/font/font.c (grub_font_load): Likewise.
6652
5b289bc5
VS
66532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * util/grub-macho2img.c: Add comment concerning gettext.
6656 * grub-core/lib/legacy_parse.c: Likewise.
6657
c1860f87
VS
66582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6661 (grub_xvasprintf): Likewise.
6662
d35d0d37
VS
66632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 Add const keyword to grub_env_get and gettextize week days.
6666
6667 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6668 (grub_read_hook_datetime): Return const char *.
6669 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6670 updated.
6671 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6672 Mark for gettext.
6673 (grub_get_weekday_name): Return const char *. Call gettext.
6674 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6675 char * and len as the argument. All users updated.
6676 (grub_script_argv_split_append): Receive const char *.
6677 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6678 * include/grub/env.h (grub_env_get): Likewise.
6679 (grub_env_read_hook_t): Return const char *.
6680 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6681 (grub_script_argv_split_append): Likewise.
6682
9aed8a71
VS
66832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6686
067fdf00
VS
66872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6690 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6691
a8bd9d39
VS
66922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6695 Fix prototype.
6696
f7ce5baf
VS
66972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 Fix mips compilation.
6700
6701 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6702 normal decoder.
6703 (hashes): Use in embed decoder as well (for sizes).
6704 (dec_stream_header): Fix embed decompressor logic.
6705 (dec_stream_footer): Likewise.
6706
9bb182f3
VS
67072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6710 an error and not a fatal on unrecognised relocation types.
6711
63a9e6f6
VS
67122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6715 Issue error rather than printf on unknown arguments.
6716
4c458569
VS
67172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6720 Make buf a const.
6721
e2d22baf
VS
67222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6725 Fix module name.
6726
53dc8590
VS
67272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6730 leftover debug printf.
6731
6c189294
VS
67322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6735
f7688369
VS
67362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6739 A stylistic fix.
6740
11a775a3
VS
67412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6744
33f784e8
SL
67452011-11-10 Shea Levy <slevy@tieronedesign.com>
6746
6747 Allow all modules to perform serial IO
6748
6749 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6750 * include/grub/serial.h (grub_serial_port_configure): New inline
6751 function.
6752 (grub_serial_port_fetch): Likewise.
6753 (grub_serial_port_put): Likewise.
6754 (grub_serial_port_fini): Likewise.
6755 (grub_serial_find): New proto.
6756
f6276525
VS
67572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 Put symlink at the end of the node and fix a potential
6760 memory corruption.
6761
6762 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6763 Make symlink into an array.
6764 (set_rockridge): Set have_symlink and alloc_dirents.
6765 (grub_iso9660_read_symlink): Use new layout.
6766 (grub_iso9660_iterate_dir): Fix memory corruption.
6767 Use new layout.
6768 (grub_iso9660_dir): Set have_symlink.
6769 (grub_iso9660_open): Likewise.
6770
c3591189
VS
67712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 Remove local keyword.
6774
6775 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6776 (version_test_gt): Likewise.
6777 (version_find_latest): Likewise.
6778 (gettext_printf): Likewise.
6779 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6780
cb544caa
VS
67812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6784
45bd824d
VS
67852011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 Fix ZFS memory and resource leaks.
6788
6789 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6790 All users updated.
6791 Free type on exit.
6792 (fill_vdev_info): New parameter inserted. All users updated.
6793 (check_pool_label): Likewise.
6794 (scan_disk): Likewise.
6795 (scan_devices): Close non-inserted disks.
6796 (fzap_iterate): Free l.
6797 (unmount_device): Free children descripto memory.
6798
ad9a2f44
VS
67992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6802 argument (access out of bounds).
6803
6b68db81
VS
68042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6807 >= 6 drives.
6808
28840fda
VS
68092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6812 Fix declaration.
6813
8a5a3a5b
VS
68142011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Fix several memory leaks.
6817
6818 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6819 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6820 (grub_cpio_dir): Likewise.
6821 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6822 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6823 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6824 (grub_romfs_label): Likewise.
6825 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6826 (squash_unmount): New function.
6827 (grub_squash_dir): Fix memory leak.
6828 (grub_squash_open): Likewise.
6829 (grub_squash_read): Likewise.
6830 (grub_squash_mtime): Likewise.
6831 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6832 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6833 * util/grub-fstest.c (fstest): Likewise.
6834
57b01250
VS
68352011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6838 avoid accessing beyond the array.
6839
19e81ba7
VS
68402011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6843
52b656c0
VS
68442011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 Several AFFS fixes.
6847
6848 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6849 (GRUB_AFFS_FLAG_FFS): Removed.
6850 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6851 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6852 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6853 (grub_fshelp_node): Make block 32-bit.
6854 Add block_cache and last_block_cache.
6855 (grub_affs_read_block): Fill and use block cache.
6856 (grub_affs_read_file): Removed.
6857 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6858 boot block.
6859 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6860 safety.
6861 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6862 space.
6863 (grub_affs_close): Free block cache.
6864 (grub_affs_read): Use grub_fshelp_read_file directly.
6865
438a746a
VS
68662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6869 with no error set.
6870
49a45021
VS
68712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6874 used variable.
6875 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6876 Likewise.
6877
3ae17eb8
VS
68782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6881
6882 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6883 byteswap when needed.
6884
27610c38
VS
68852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 Fix FreeBSD compilation.
6888
6889 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6890 to avoid circular dependency.
6891 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6892 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6893 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6894
4a19b601
VS
68952011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 Fix ZFS crypto error types.
6898
6899 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6900 (grub_gcm_decrypt): Likewise.
6901 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6902 from PBKDF2.
6903
958ee221
VS
69042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 Illumos support.
6907
6908 * Makefile.util.def (10_illumos): New script.
6909 * configure.ac: Set COND_HOST_ILLUMOS.
6910 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6911 Support Illumos calls.
6912 (find_partition_start) [__sun__]: Likewise.
6913 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6914 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6915 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6916 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6917 device.
6918 * util/grub-probe.c (probe) [__sun__]: Do character check.
6919 * util/grub.d/10_illumos.in: New file.
6920
cac14fb6
VS
69212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 Support escaped commas in hostdisk.
6924
6925 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6926 (find_grub_drive): Use unescape_cmp.
6927 (make_device_name): Escape commas.
6928
78e08dc3
VS
69292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6932
9f421dd1
VS
69332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6936 variable.
6937
ed64e9e2
VS
69382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 Support trampoline jumps on powerpc.
6941
6942 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6943 __ia64__ path.
6944 (grub_dl_load_segments): Set mod->sz.
6945 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6946 segments.
6947 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6948 (jump): Likewise.
6949 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6950 function.
6951 (trampoline): New struct.
6952 (trampoline_template): New const.
6953 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6954 * include/grub/dl.h (grub_dl): Add sz element.
6955 [__powerpc__]: Follow __ia64__.
6956 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6957 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6958 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6959 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6960
3084ede4
VS
69612011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 ZFS crypto support.
6964
6965 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6966 * grub-core/Makefile.core.def (zfscrypt): New module.
6967 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6968 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6969 it. All users updated.
6970 (grub_zfs_decrypt): New var.
6971 (grub_zfs_load_key): Likewise.
6972 (zio_checksum_functions): Add SHA256+MAC.
6973 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6974 (zio_read): Handle encrypted blocks.
6975 (zap_verify): Remove incorrect check.
6976 (fzap_iterate): Handle non-standard fzap.
6977 (zap_iterate): Likewise.
6978 (zap_iterate_u64): New function.
6979 (dnode_get_fullpath): Load keys.
6980 * grub-core/fs/zfs/zfscrypt.c: New file.
6981 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6982 (grub_crypto_ecb_encrypt): Make input const.
6983 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6984 (grub_crypto_ecb_encrypt): Make input const.
6985 (GRUB_CIPHER_AES): New macro.
6986 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6987 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6988 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6989 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6990 prefix. All users updated.
6991 (grub_zfs_add_key): New proto.
6992 (grub_zfs_decrypt): Likewise.
6993 (grub_zfs_load_key): Likewise.
6994 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6995 * util/grub-fstest.c (options): Add -K option.
6996 (argp_parser): Likewise.
6997
b632b404
VS
69982011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 Support zle compression on ZFS.
7001
7002 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7003 (decomp_table): Add zle.
7004 * include/grub/zfs/zio.h (zio_compress): Add zle.
7005
c7ba4f69
VS
70062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 Support BtrFS embedding.
7009
7010 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7011 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7012 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7013 * util/grub-setup.c (setup): Use fs embedding if available.
7014 Add additional sanity check.
7015
455377d9
VS
70162011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * util/grub-install.in: Fix condition for config_opt.
7019
c2fd16ca
VS
70202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 Support third redundancy strip on raidz3.
7023
7024 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7025 Return error on singularity. All users updated.
7026 (read_device): Don't stop on 3rd failure on raidz3.
7027
8622923b
VS
70282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 Support case-insensitive ZFS subvolumes.
7031
7032 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7033 All users updated.
7034 (zap_hash): Likewise.
7035 (name_cmp): New function.
7036 (zap_leaf_array_equal): New parameter case_insensitive.
7037 All users updated.
7038 (zap_leaf_lookup): Likewise.
7039 (fzap_lookup): Likewise.
7040 (zap_lookup): Likewise.
7041 (dnode_get_path): New parameter case_insensitive. Retrieve case
7042 sensitiviness of a volume. All users updated.
7043 (dnode_get_fullpath): New parameter case_insensitive.
7044 All users updated.
7045 (grub_zfs_dir): Set info.case_insensitiveness.
7046
95f2e860
VS
70472011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 Support second redundancy strip on raidz(2,3).
7050
7051 * grub-core/fs/zfs/zfs.c (powx): New array.
7052 (powx_inv): Likewise.
7053 (poly): New const.
7054 (xor_out): New function.
7055 (gf_mul): Likewise.
7056 (recovery): Likewise.
7057 (read_device): Use second redundancy strip.
7058
11ee4389
VS
70592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 Use a power of generator representation of GF(256) multiplication group
7062 to save space time and complexity.
7063
7064 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7065 (raid6_table2): Likewise.
7066 (powx): New array.
7067 (powx_inv): Likewise.
7068 (poly): New const.
7069 (grub_raid_block_mul): Replace with ...
7070 (grub_raid_block_mulx): ...this.
7071 (grub_raid6_init_table): Rewritten.
7072 (grub_raid6_recover): Use power of generator representation.
7073
09e2763f
VS
70742011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7077 for the right device.
7078
8bec9a28
VS
70792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7082 expected by grub-mkimage and it's more clear since there is no implicit
7083 padding.
7084
dbd3a32e
VS
70852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7088 disk.
7089 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7090
182c872a
PMH
70912011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7092
7093 * util/grub-mkrescue.in: Fix handling xorriso option.
7094
1e51cabd
VS
70952011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7098 NULL.
7099
9cc3581d 71002011-11-03 crocket <crockabiscuit@gmail.com>
7101
7102 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7103
158dc1ea
VS
71042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 XZ CRC64 and SHA256 support.
7107
7108 * Makefile.util.def (libgrubmods): Add crc64.c.
7109 * grub-core/Makefile.core.def (crc64): New module.
7110 * grub-core/lib/crc64.c: New file.
7111 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7112 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7113 Fix the type.
7114 (MAX_HASH_SIZE): New define.
7115 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7116 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7117 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7118 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7119 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7120 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7121 Handle non-crc32 hashes.
7122 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7123 (dec_stream_header): Handle non-crc32 hashes.
7124 (dec_stream_footer): Likewise.
7125 (dec_block_header): Likewise.
7126 (dec_main): Likewise.
7127 (xz_dec_init): Likewise.
7128 (xz_dec_reset): Likewise.
7129 (xz_dec_end): Likewise.
7130 * util/import_gcry.py: Add CRC64 line.
7131
9d9b3d2f
VS
71322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7135 as well.
7136
7d0ac931
VS
71372011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 Make reiserfs label retrieval similar to other *_label functions.
7140
7141 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7142 (REISERFS_MAX_LABEL_LENGTH): Removed.
7143 (REISERFS_LABEL_OFFSET): Likewise.
7144 (grub_reiserfs_label): Rewritten.
7145
71462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7149 field.
7150
cf5ba824
VS
71512011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7154
17744004
VS
71552011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7158 drive failure on both raidz and raidz2.
7159
aca5aefc
VS
71602011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 Fix RAIDZ(2) for >= 5 devices.
7163
7164 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7165 asize argument. All users updated.
7166
ce8ca56e
VS
71672011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 Fix RAIDZ(2).
7170
7171 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7172 (fill_vdev_info_real): Set ashift.
7173 (read_device): Rewrite RAIDZ part based on reverse engineering.
7174
7c01e783
VS
71752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
7178 don't report potentially unavialiable fields in debug output.
7179 (find_path): Fix double-free and memory leak.
7180
ce109e84
VS
71812011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 Read label on UFS1.
7184
7185 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7186 (grub_ufs_fs): Always set .label.
7187
87661123
VS
71882011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 Use shifts in UFS.
7191
7192 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7193 (grub_ufs_data): New field log2_blksz.
7194 (grub_ufs_read_file): Use shifts.
7195 (grub_ufs_mount): Check block size and logarithm it.
7196
46bc1dc2
VS
71972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7200 long symlinks.
7201
19ee2987
VS
72022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Handle symlinks and long names on tar and cpio.
7205
7206 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7207 (ATTR_FILE): Likewise.
7208 (ATTR_DIR): Likewise.
7209 (ATTR_LNK): Likewise.
7210 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7211 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7212 L and K entries.
7213 (grub_cpio_mount): Zero-fill data.
7214 (handle_symlink): New function.
46bc1dc2
VS
7215 (grub_cpio_dir): Handle symlinks.
7216 (grub_cpio_open): Likewise.
7217 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 7218
c83a08d8
VS
72192011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 Fix iso9660 filename limitations and fix memory leaks.
7222
7223 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7224 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7225
45cdd3ea
VS
72262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 Fix JFS file name length limitations.
7229
7230 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7231 (grub_jfs_diropen): Fix maximum filename length.
7232 (grub_jfs_getent): Fix filename length.
7233 (grub_jfs_lookup_symlink): Fix size checks.
7234
94ef05c2
VS
72352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7238 string.
7239
785ab8c7
VS
72402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7241
eb0b6b45
VS
7242 Leverage BFS implementation to read AFS.
7243
7244 * Makefile.util.def (libgrubmods): Add afs.c.
7245 * grub-core/Makefile.core.def (afs): New module
7246 * grub-core/fs/afs.c: New file.
7247 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7248
72492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 7252
c4a1628f
VS
72532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 * grub-core/fs/bfs.c: Run indent.
7256
5825b379
VS
72572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 BFS implementation based on the specification.
7260
7261 * grub-core/fs/bfs.c: New file.
7262 * Makefile.util.def (libgrubmods): Add bfs.c.
7263 * grub-core/Makefile.core.def (bfs): New module.
7264
42b2a706
VS
72652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * util/grub-fstest.c (cmd_cp): Clarify error message.
7268 (cmd_cmp): Likewise.
7269
61b99bfc
YB
72702011-10-30 Yves Blusseau <blusseau@zetam.org>
7271
7272 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
7273 and befs_be.
7274
faba3d16
VS
72752011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 Remove afs and befs because of copyright problem.
7278
7279 * grub-core/fs/afs.c: Removed.
7280 * grub-core/fs/afs_be.c: Removed.
7281 * grub-core/fs/befs.c: Removed.
7282 * grub-core/fs/befs_be.c: Removed.
7283 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
7284 * grub-core/Makefile.core.def (afs): Removed.
7285 (afs_be): Likewise.
7286 (befs): Likewise.
7287 (befs_be): Likewise.
7288
c39224b0
VS
72892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 Prefer rockridge over Joliet.
7292
7293 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
7294 to ...
7295 (set_rockridge): ... here.
7296 (grub_iso9660_mount): Check rockridge on the primary label when
7297 discovering. Ignore Joliet if Rockridge is present.
7298
e551115a
VS
72992011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 Use shifts in nilfs2.
7302
7303 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
7304 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
7305 (grub_nilfs2_palloc_entries_per_group): Replace with ...
7306 (grub_nilfs2_log_palloc_entries_per_group): ... this.
7307 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
7308 (grub_nilfs2_entries_per_block): Replaced with ...
7309 (grub_nilfs2_log_entries_per_block_log): ... this.
7310 (grub_nilfs2_blocks_per_group): Replaced with ...
7311 (grub_nilfs2_blocks_per_group_log): ... this.
7312 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
7313 (grub_nilfs2_blocks_per_desc_block_log): ... this.
7314 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
7315 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
7316 (grub_nilfs2_palloc_entry_offset): Replaced ...
7317 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
7318 (grub_nilfs2_dat_translate): Use shifts.
7319 (grub_nilfs2_read_inode): Likewise.
7320 (GRUB_MOD_INIT): Ensure that logs are correct.
7321
564dd58c
VS
73222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 Use shifts in minix filesystem.
7325
7326 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
7327 (GRUB_MINIX_ZONE2SECT): Likewise.
7328 (grub_minix_data): Replace block_size with log_block_size.
7329 (grub_minix_read_file): Use shifts.
7330 (grub_minix_mount): Check block size and take a logarithm.
7331
ed9ba06d
VS
73322011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 Use shifts in squash4.
7335
7336 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
7337 (squash_mount): Check block size and take logarithm.
7338 (direct_read): Use shifts.
7339
ad03fe76
VS
73402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 Correct befs block counting logic.
7343
7344 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
7345 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
7346 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
7347 (grub_afs_read_inode): Use block_shift.
7348 (RANGE_SHIFT): New definition.
7349 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
7350 unexpected conditions, use shifts and appropriate types.
7351 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
7352
6563f63d
VS
73532011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/disk/raid.c (scan_devices): Check partition.
7356 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7357
5b1ae25f
VS
73582011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 Support BFS (befs) UUID.
7361
7362 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
7363 (grub_afs_small_data_element_header): New struct.
7364 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
7365 (grub_afs_read_attribute) [MODE_BFS]: New function.
7366 (grub_afs_iterate_dir): Allocate for complete inode.
7367 (grub_afs_mount): Likewise.
7368 (grub_afs_uuid) [MODE_BFS]: New function.
7369 (grub_afs_fs) [MODE_BFS]: Add .uuid.
7370
f8d82408
VS
73712011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
7374 (zfs_unmount): Fix memory leak.
7375
5773fb64
VS
73762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 Support NTFS reparse points.
7379
7380 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
7381 (symlink_descriptor): New struct.
7382 (grub_ntfs_read_symlink): New function.
7383 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
7384 (grub_ntfs_open): Likewise.
7385
91c3fdde
VS
73862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
7389
3be82e10
VS
73902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 fstest xnu_uuid subcommand.
7393
7394 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
7395 grub-core/commands/xnu_uuid.c.
7396 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
7397 (fstest): Handle xnu_uuid.
7398 (options): Document xnu_uuid.
7399 (argp_parser): Parse xnu_uuid.
7400
8e32442e
VS
74012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
7404 -l argument. Add newline at the end if printing.
7405 (GRUB_MOD_INIT): Document -l.
7406
52a05075
VS
74072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
7410
1869edb5
VS
74112011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 ZFS multi-device and version 33 support.
7414
7415 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
7416 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
7417 (grub_zfs_data): Add multidev-ice-related fields.
7418 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
7419 (dva_get_offset): Make dva const.
7420 (zfs_fetch_nvlist): New function.
7421 (fill_vdev_info_real): Likewise.
7422 (fill_vdev_info): Likewise.
7423 (check_pool_label): Likewise.
7424 (scan_disk): Likewise.
7425 (scan_devices): Likewise.
7426 (read_device): Likewise.
7427 (read_dva): Likewise.
7428 (zio_read_gang): Use read_dva.
7429 (zio_read_data): Likewise.
7430 (zap_leaf_lookup): Add missing endian conversion.
7431 (zap_verify): Add missing endian conversion. All users updated.
7432 (fzap_lookup): Likewise.
7433 (fzap_iterate): Likewise.
7434 (dnode_get_path): Handle SA bonus.
7435 (nvlist_find_value): Make input const. All users updated.
7436 (unmount_device): New function.
7437 (zfs_unmount): Use unmount_device.
7438 (zfs_mount): Use scan_disk.
7439 (zfs_mtime): New function.
7440 (grub_zfs_open): Handle system attributes.
7441 (fill_fs_info): Likewise.
7442 (grub_zfs_dir): Likewise.
7443 (grub_zfs_fs): Add mtime.
7444 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
7445 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
7446 (SA_MTIME_OFFSET): Likewise.
7447 (SA_SYMLINK_OFFSET): Likewise.
7448 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
7449 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
7450 (fstest): Support zfsinfo.
7451 (argp_parser): Likewise.
7452
186b4028
VS
74532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
7456 error.
7457
74582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
7459
7460 ZFS fixes.
7461
7462 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
7463 sharing the same block. Iterate over correct number of indices.
7464 (dnode_get_path): Handle symlinks correctly.
7465
c0584900
VS
74662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
7469
67e2bd71
VS
74702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 Read label on HFS+.
7473
7474 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
7475 (grub_hfsplus_btree_search): Fix types.
7476 (grub_hfsplus_label): Implement.
7477
e9cc6b7b
VS
74782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
7481
19832ddb
VS
74822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
7485
66b40850
VS
74862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 Fix symlink handling on iso9660.
7489
7490 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
7491 All users updated.
7492 (grub_iso9660_susp_iterate): Accept zero-size iterate.
7493 (grub_iso9660_read_symlink): Moved most of code ...
7494 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
7495
db821363
VS
74962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7499 Use union to avoid breaking strict-aliasing rules.
7500
e1211949
VS
75012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 Support multi-extent iso files.
7504
7505 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
7506 Add node.
7507 (grub_fshelp_node): Revamp. All users updated.
7508 (FLAG_*): New enum.
7509 (read_node): New function.
7510 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
7511 All users updated.
7512 (grub_iso9660_mount): Don't attempt to read sua when there is none.
7513 (get_node_size): New function.
7514 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
7515 entries.
7516 Fix memory leak on . and ..
7517 (grub_iso9660_read): Use read_node.
7518 (grub_iso9660_close): Free node.
7519
d4888031
VS
75202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 Fix tar 4G limit and handle paths containing dot.
7523
7524 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
7525 (canonicalize): New function.
7526 (grub_cpio_find_file): Use canonicalize. Store offs in
7527 grub_disk_addr_t.
7528 (grub_cpio_dir): Use grub_disk_addr_t.
7529 (grub_cpio_open): Likewise.
7530
9f12e664
VS
75312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 Fix handling of uncompressed blocks on squashfs and break 4G limit.
7534
7535 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
7536 unused flags.
7537 (grub_squash_inode): Add long_file and block_size.
7538 (grub_squash_cache_inode): New struct.
7539 (grub_squash_dirent): Make types into enum.
7540 (SQUASH_TYPE_LONG_REGULAR): New type.
7541 (grub_squash_frag_desc): Add field size.
7542 (SQUASH_BLOCK_FLAGS): New enum.
7543 (grub_squash_data): Use grub_squash_cache_inode.
7544 (grub_fshelp_node): Make ino_chunk 64-bit.
7545 (read_chunk): Minor argument change. All users updated.
7546 (squash_mount): Use correct le_to_cpu.
7547 (grub_squash_open): Handle LONG_REGULAR.
7548 (direct_read): New function.
7549 (grub_squash_read_data): Handle blocks correctly.
7550
9f326fba
VS
75512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
7554
f4d9b64b
VS
75552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
7558
5bbd28b8
VS
75592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 Fix 2G limit on ZFS.
7562
7563 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
7564 types.
7565 (uberblock_verify): Likewise.
7566 (dmu_read): Likewise.
7567 (grub_zfs_read): Likewise. Remove invalid cast.
7568
68c72069
VS
75692011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
7572 (grub_jfs_blkno): Fix incorrect shift.
7573 (grub_jfs_read_file): Use more appropriate types.
7574
6e536dc8
VS
75752011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 Support triple indirect on minix2 and minix3.
7578
7579 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
7580 Declare triple_indir_zone.
7581 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
7582 indirect.
7583
e0864e7a
VS
75842011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 Minix FS fixes.
7587
7588 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
7589 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
7590 Rename ctime to mtime. All users updated.
7591 (grub_minix_get_file_block): Fix types and double indirect computations.
7592
89481cab
VS
75932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
7596 if no label is found.
7597 (grub_fat_iterate_dir): Fix file size type.
7598 (grub_fat_iterate_dir): Likewise.
7599
f646e143
VS
76002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
7603 save some space.
7604 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7605 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7606
534d769e
VS
76072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
7610
e084ba18
VS
76112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * util/import_gcry.py: Accept space between # and include.
7614
3471ecdf
VS
76152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
7618
124df5f6
VS
76192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 Fine grainely disable warnings on lexer. Remove Wno-error on it.
7622
7623 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7624 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7625 yylex_strncpy.
7626 * grub-core/script/yylex.l: Add fine-grained #pragma.
7627
4defb8d5
VS
76282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7631 New inline function.
7632 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7633 Likewise.
7634 (memset) [GRUB_UTIL]: Likewise.
7635 (memcmp) [GRUB_UTIL]: Likewise.
7636
4e94ae65
VS
76372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7640 inline function rather than a define.
7641
18c575e5
VS
76422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * util/grub-setup.c: Add missing include.
7645
f8bc22a8
VS
76462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * util/ieee1275/grub-ofpathname.c: Add missing include.
7649
3ce69fc9
VS
76502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7653 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7654 Likewise.
7655
d1e293bb
VS
76562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7659 grub_memcmp usage.
7660
7a5c54a4
VS
76612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * util/grub-install.in: Add datarootdir as per automake manual
7664 suggestion.
7665 * util/grub-mknetdir.in: Likewise.
7666
76672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7668
7669 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7670 suggestion.
7671 * util/grub.d/10_kfreebsd.in: Likewise.
7672 * util/grub.d/10_linux.in: Likewise.
7673 * util/grub.d/10_netbsd.in: Likewise.
7674 * util/grub.d/10_windows.in: Likewise.
7675 * util/grub.d/20_linux_xen.in: Likewise.
7676
766f7d08
VS
76772011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 Remove redundant grub_kernel_image_size.
7680
7681 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7682 _edata and _start.
7683 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7684 the small code. It moves it only by few bytes but simplifies the code.
7685 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7686 _start.
7687 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7688 (grub_kernel_image_size): Removed.
7689 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7690 (grub_kernel_image_size): Removed.
7691 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7692 compiled with Apple toolchain.
7693 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7694 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7695 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7696 (grub_total_module_size): Likewise.
7697 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7698 Removed.
7699 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7700 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7701 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7702 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7703 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7704 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7705 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7706 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7707 Removed.
7708 (grub_total_module_size): Removed.
7709 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7710 (image_targets): Likewise.
7711 Set .compressed_size to no field on sparc.
7712 (generate_image): Remove kernel_image_size handling.
7713
fcf1d672
SJ
77142011-10-19 Szymon Janc <szymon@janc.net.pl>
7715
7716 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7717 NULL pointer dereference.
7718
de9c615e
VS
77192011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7722 done with a dedicated section.
7723
7724 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7725 Ensure the correct position of boot_path.
7726 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7727 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7728 other fields.
7729 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7730 * include/grub/boot.h: Removed. All references removed.
7731 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7732 Removed.
7733 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7734
e55599dc
VS
77352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7738 name.
7739
36dd20ad
VS
77402011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7743
f8f72eb8
VS
77442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7747 Don't add the bogus brackets.
7748
a374751b
VS
77492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 ExFAT support.
7752
7753 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7754 * grub-core/Makefile.core.def (exfat): New module.
7755 * grub-core/fs/exfat.c: New file.
7756 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7757 (GRUB_FAT_ATTR_*): Make into an enum.
7758 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7759 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7760 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7761 (GRUB_FAT_MAXFILE): Removed.
7762 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7763 (grub_current_fat_bpb_t): New type.
7764 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7765 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7766 (grub_fat_dir_node_t): New type.
7767 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7768 (fat_log2) [MODE_EXFAT]: Removed.
7769 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7770 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7771 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7772 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7773 (grub_fat_label) [MODE_EXFAT]: New function.
7774 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7775 reserved_first_sector to 0.
7776
544c2487
VS
77772011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 Move grub_reboot out of the kernel.
7780
7781 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7782 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7783 * grub-core/lib/efi/reboot.c: ... here.
7784 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7785 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7786 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7787 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7788 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7789 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7790 * grub-core/lib/ieee1275/reboot.c: ... here.
7791 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7792 * grub-core/lib/mips/arc/reboot.c: ... here.
7793 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7794 * grub-core/lib/mips/loongson/reboot.c: ...here.
7795 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7796 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7797 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7798 * include/grub/i386/reboot.h: New file.
7799 * include/grub/mips/loongson/ec.h: Fix includes.
7800 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7801 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7802 * grub-core/lib/i386/reboot.c: New file.
7803
a97501d2
VS
78042011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 Make grub_prefix into module to fix the arbitrary limit and save
7807 some space.
7808
7809 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7810 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7811 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7812 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7813 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7814 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7815 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7816 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7817 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7818 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7819 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7820 * include/grub/ia64/efi/kernel.h: Removed.
7821 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7822 (grub_prefix): Removed.
7823 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7824 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7825 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7826 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7827 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7828 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7829 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7830 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7831 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7832 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7833 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7834 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7835 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7836 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7837 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7838 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7839 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7840 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7841 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7842 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7843 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7844 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7845 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7846 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7847 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7848 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7849 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7850 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7851 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7852 from module.
7853 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7854 prefix_end.
7855 (image_targets): Likewise.
7856 (generate_image): Put prefix as a module.
7857
39705fad
VS
78582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 Replace grub_module_iterate with FOR_MODULES.
7861
7862 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7863 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7864 (grub_efi_modules_addr): ...this.
7865 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7866 (grub_efi_init): Set grub_modbase.
7867 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7868 (grub_modbase): New variable.
7869 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7870 (grub_modbase): New variable.
7871 (grub_machine_init): Set grub_modbase.
7872 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7873 (grub_modbase): New variable.
7874 (grub_machine_init): Set grub_modbase.
7875 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7876 (grub_modbase): New variable.
7877 (grub_machine_init): Set grub_modbase.
7878 * grub-core/kern/main.c (grub_module_iterate): Remove.
7879 (grub_modules_get_end): Use grub_modbase.
7880 (grub_load_modules): Use FOR_MODULES.
7881 (grub_load_config): Likewise.
7882 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7883 (grub_modbase): New variable.
7884 (grub_machine_init): Set grub_modbase.
7885 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7886 (grub_modbase): New variable.
7887 (grub_machine_init): Set grub_modbase.
7888 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7889 Removed.
7890 (grub_modbase): New variable.
7891 (grub_machine_init): Set grub_modbase.
7892 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7893 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7894 (grub_module_iterate): Likewise.
7895 (grub_modbase): New variable declaration.
7896 (FOR_MODULES): New macro.
7897
2afb7f6c
VS
78982011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7901 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7902
366e34fa
VS
79032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 Fix few obvious type discrepancies.
7906
7907 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7908 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7909 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7910 variable.
7911 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7912 and connected types.
7913 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7914 offset.
7915 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7916 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7917 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7918 and connected types.
7919
177b960e
VS
79202011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 Fix python 3.x incompatibilities.
7923
7924 * gentpl.py: Put brackets around print strings.
7925 * util/import_gcry.py: Open explicitly as utf-8.
7926 Use in instead of has_key.
7927
3b619ae1
VS
79282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7931 (GRUB_XFS_INO_AGBITS): Make into inline function.
7932 (GRUB_XFS_INO_INOINAG): Likewise.
7933 (GRUB_XFS_INO_AG): Likewise.
7934 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7935 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7936 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7937 (GRUB_XFS_EXTENT_SIZE): Likewise.
7938 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7939 (GRUB_XFS_NEXT_DIRENT): Likewise.
7940 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7941 (grub_xfs_read_file): Fix offset type.
7942
8bcebcb8
RM
79432011-10-15 Robert Millan <rmh@gnu.org>
7944
7945 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7946
0017e5ef
RM
79472011-10-15 Robert Millan <rmh@gnu.org>
7948
7949 Fix build problem on FreeBSD and GNU/kFreeBSD.
7950
7951 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7952
d8919552
VS
79532011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7956
7957 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7958 types.
7959 (grub_hfsplus_btree_recoffset): Likewise.
7960 (grub_hfsplus_btree_recptr): Likewise.
7961 (grub_hfsplus_find_block): Likewise.
7962 (grub_hfsplus_btree_search): Likewise.
7963 (grub_hfsplus_read_block): Likewise.
7964 (grub_hfsplus_read_file): Likewise.
7965 (grub_hfsplus_mount): Likewise.
7966 (grub_hfsplus_btree_iterate_node): Likewise.
7967 (grub_hfsplus_btree_search): Likewise.
7968 (grub_hfsplus_iterate_dir): Likewise.
7969 (grub_hfsplus_read): A small code simplification.
7970
c81296b6
VS
79712011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/kern/emu/hostdisk.c
7974 (convert_system_partition_to_system_disk): Don't assume that children
7975 of mapper nodes are mapper nodes.
7976
0eb8ffb1
VS
79772011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7980 * include/grub/misc.h (grub_isxdigit): New function.
7981 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7982 switched to grub_isxdigit.
7983 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7984 number starting with a letter.
7985
a98f4a08
RM
79862011-10-09 Robert Millan <rmh@gnu.org>
7987
7988 LVM support for FreeBSD and GNU/kFreeBSD.
7989
7990 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7991 GNU/kFreeBSD.
7992 (LVM_DEV_MAPPER_STRING): Move from here ...
7993 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7994 * util/getroot.c: Include `<grub/util/lvm.h>'.
7995 (grub_util_get_dev_abstraction): Enable
7996 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7997 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7998 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7999 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8000 support it.
8001 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8002 GNU/kFreeBSD.
8003 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8004 when LVM abstraction is required for ${GRUB_DEVICE}.
8005
050e8e90
SJ
80062011-10-06 Szymon Janc <szymon@janc.net.pl>
8007
8008 Add support for LZO compression in GRUB:
8009 - import of minilzo library,
8010 - LZO decompression for btrfs,
8011 - lzop files decompression.
8012
8013 * grub-core/io/lzopio.c: New file.
8014 * grub-core/lib/adler32.c: Likewise.
8015 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8016 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8017 * grub-core/lib/minilzo/minilzo.c: Likewise.
8018 * grub-core/lib/minilzo/minilzo.h: Likewise.
8019 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8020 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8021 grub-core/lib/minilzo/minilzo.c to common.
8022 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8023 cflags in cppflags.
8024 * grub-core/Makefile.core.def (btrfs): Likewise.
8025 * grub-core/Makefile.core.def (lzopio): New module.
8026 (adler32): Likewise.
8027 * grub-core/fs/btrfs.c: Include minilzo.h.
8028 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8029 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8030 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8031 (grub_btrfs_lzo_decompress): New function.
8032 (grub_btrfs_extent_read): Add support for LZO compression type.
8033 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8034 (GRUB_USHRT_MAX): Likewise.
8035 (GRUB_UINT_MAX): Likewise.
8036 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8037 (UINT_MAX): Likewise.
8038 (CHAR_BIT): Likewise.
8039 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8040 grub-core/lib/posix_wrap/limits.h
8041 (UCHAR_MAX): Likewise.
8042 * include/grub/file.h (grub_file_filter_id): New compression filter
8043 GRUB_FILE_FILTER_LZOPIO.
8044 * include/grub/file.h (grub_file_filter_id): Set
8045 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8046 * include/grub/types.h (grub_get_unaligned16): New function.
8047 (grub_get_unaligned32): Likewise.
8048 (grub_get_unaligned64): Likewise.
8049 * util/import_gcry.py (cryptolist): Add adler32.
8050
0eb8ffb1
VS
80512011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8054 in perspective decreases the complexity of build system and fixes
8055 compilation right now.
8056
ce79cc99 80572011-10-01 Ales Nesrsta <starous@volny.cz>
8058
8059 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8060 (fixed problem related to using UHCI with coreboot).
8061
8667a314
BC
80622011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8063
8064 * gentpl.py: Use Autogen macros so that the output template file
8065 (Makefile.tpl) size is reduced.
8066
fc5efcc0
MK
80672011-09-29 Mads Kiilerich <mads@kiilerich.com>
8068
8069 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8070 extra_dist.
8071
d1ab689d
ML
80722011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8073
8074 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8075 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8076
c05de032
ML
80772011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8078
8079 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8080 _fullpath.
8081
cca7ccd8
ML
80822011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8083
8084 Remove extra declaration of sleep for mingw32.
8085
8086 * util/misc.c (sleep) [__MINGW32__]: Removed.
8087 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8088
e0b0dc83
GS
80892011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8090
8091 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8092 type and packname.
8093 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8094 Resurrected.
8095 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8096 (grub_netbsd_btinfo_bootwedge): New struct.
8097 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8098 New function.
8099 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8100
91a1a164
TH
81012011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8102
8103 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8104 loader.
8105
2ded951e
AB
81062011-09-28 Andreas Born <futur.andy@googlemail.com>
8107
8108 Fix incorrect identifiers in bash-completion.
8109
8110 * util/bash-completion.d/grub-completion.bash.in
8111 (_grub_mkpasswd-pbkdf2): Rename to ...
8112 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8113 (_grub_script-check): Rename to ...
8114 (_grub_script_check): ... this. All users updated.
8115
69915030
VS
81162011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8119 Return 0 if disk isn't biosdisk.
8120
20fd15f9
GS
81212011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8122
8123 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8124 on NetBSD.
8125 * Makefile.util.def (grub-fstest): Likewise.
8126
1a7d7db9
GS
81272011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8128
8129 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8130 Get sector size from disk label.
8131
2221ab6c
CW
81322011-09-05 Colin Watson <cjwatson@ubuntu.com>
8133
8134 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8135 */README* as well as README*.
8136 Reported by: Axel Beckert.
8137
ca51c4a0
VS
81382011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8141 case of less than 256 MiB of RAM.
8142
ab80f326
VS
81432011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/commands/wildcard.c (make_regex): Handle @.
8146
4155e697
VS
81472011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8150
ab178c08
SJ
81512011-08-21 Szymon Janc <szymon@janc.net.pl>
8152
8153 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8154 AC_LANG_CONFTEST macros.
8155
7dc3c686
SJ
81562011-08-20 Szymon Janc <szymon@janc.net.pl>
8157
8158 Add grub-fstest option to uncompress data for commands.
8159
8160 * util/grub-fstest.c (uncompress): New var.
8161 (options): New option -u.
8162
fe8d4a7b
SJ
81632011-08-20 Szymon Janc <szymon@janc.net.pl>
8164
8165 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8166 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8167
a5219af1
SJ
81682011-08-20 Szymon Janc <szymon@janc.net.pl>
8169
8170 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8171 file type was not recognized correctly (not gzip or corrupted).
8172
f87abff5
VS
81732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8176 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
8177
d94497ea
VS
81782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8181 loongson.
8182 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8183 video_radeon_fuloong2e.
8184 * grub-core/video/radeon_fuloong2e.c: New file.
8185 * include/grub/video.h (grub_video_id_t): Add new ID
8186 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8187
0d1fd011
VS
81882011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8191 define.
8192 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8193 that PRID matches the detected subplatform and reset the subplatform
8194 if it doesn't.
8195
84beb0ee
VS
81962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8199
1227c133
VS
82002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 Fix PCI iterating on functions >= 4.
8203
8204 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8205 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8206 Removed.
8207 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8208 (grub_pci_read): Fix bitmask.
8209 (grub_pci_read_word): Likewise.
8210 (grub_pci_read_byte): Likewise.
8211 (grub_pci_write): Likewise.
8212 (grub_pci_write_word): Likewise.
8213 (grub_pci_write_byte): Likewise.
8214
9594c689
VS
82152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8218 can still be specified in TARGET_CFLAGS)
8219
14a2562c
VS
82202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8223
8224 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8225 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8226 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8227 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8228 (FULOONG): Rename to ...
8229 (FULOONG2F): ... this. All users updated.
8230 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8231 (machtype_fuloong2f_str): ... this.
8232 (machtype_fuloong2e_str): New string.
8233 Check for machtype_fuloong2e_str.
8234 * grub-core/loader/mips/linux.c (loongson_machtypes)
8235 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8236 * grub-core/term/serial.c (loongson_defserial)
8237 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8238 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8239 loongson_defserial.
8240 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8241 Rename to ...
8242 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8243 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8244 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8245 to IMAGE_FULOONG2F_FLASH. All users updated.
8246 (image_targets): Rename images.
8247 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8248
b526cbb6
SJ
82492011-08-19 Szymon Janc <szymon@janc.net.pl>
8250
8251 Make enable of disk cache statistics code configurable.
8252
8253 * configure.ac: --enable-cache-stats added.
8254 * config.h.in (DISK_CACHE_STATS): New define.
8255 * grub-core/Makefile.core.def (cacheinfo): New command.
8256 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
8257 * grub-core/commands/cacheinfo.c: New file.
8258 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
8259 moved to cacheinfo.c.
8260 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
8261 debug code.
8262 * include/grub/disk.h: Likewise.
8263
fb739ccd
SJ
82642011-08-19 Szymon Janc <szymon@janc.net.pl>
8265
8266 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
8267 * grub-core/Makefile.am: Likewise.
8268
2bba8cfd
VS
82692011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
8272 non-zero pull.
8273
43526629
VS
82742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
8277 All users updated.
8278 (grub_jfs_lookup_symlink): Use correct starting inode.
8279
5c144cc8
VS
82802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * util/grub-setup.c (main): Add missing gcry initialisation.
8283
b1257f65
VS
82842011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Don't accept text modes on EFI when booting Linux.
8287
8288 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
8289 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
8290
828bc390
ML
82912011-08-15 Mario Limonciello <mario_limonciello@dell.com>
82922011-08-15 Colin Watson <cjwatson@ubuntu.com>
8293
8294 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
8295 use of "/path/.." as in grub-install for EFI as well as handling
8296 symlinks correctly.
8297 Fixes Debian bug #637768.
8298
5f60ccac
CW
82992011-08-15 Colin Watson <cjwatson@ubuntu.com>
8300
8301 * util/grub-probe.c: Remove duplicate #include.
8302
6dc212f9
RM
83032011-08-10 Robert Millan <rmh@gnu.org>
8304
8305 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
8306
8307 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
8308 function.
8309 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
8310 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
8311
66816d85
RM
83122011-08-03 Robert Millan <rmh@gnu.org>
8313
8314 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
8315 la_array as packed.
8316 Reported by: Zachary Bedell
8317
20168fca
CW
83182011-07-26 Colin Watson <cjwatson@ubuntu.com>
8319
8320 * configure.ac: The Loongson port requires grub-mkfont due to its
8321 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
8322 be built.
8323
303b6246
CW
83242011-07-26 Colin Watson <cjwatson@ubuntu.com>
8325
8326 * util/grub-install.in: Don't source grub-mkconfig_lib until after
8327 processing arguments (otherwise help2man fails when GRUB has not yet
8328 been installed).
8329
6795300e
VS
83302011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8331
41aa28ea
VS
8332 New script grub-mkstandalone.
8333
8334 * Makefile.util.def (grub-mkstandalone): New script.
8335 * docs/man/grub-mkstandalone.h2m: New file.
8336 * util/grub-mkstandalone.in: Likewise.
8337
83382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 Support ATA disks with 4K sectors.
6795300e
VS
8341
8342 * include/grub/ata.h (grub_ata): New member log_sector_size.
8343 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
8344 (grub_ata_identify): Read sector size.
8345 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
8346
92227597
VS
83472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * util/grub-install.in: Don't use uhci outside of x86.
8350
c77069f5
VS
83512011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * util/grub-mkrescue.in: Add missing quotes.
8354
83552011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
8356
8357 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
8358 dereference.
8359
583168a2
VS
83602011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
8363
6be1c01f
VS
83642011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * include/grub/video.h: add missing EXPORT_FUND on
8367 grub_video_edid_checksum and grub_video_edid_preferred_mode.
8368
a1167439
VS
83692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * include/grub/mips/kernel.h: Fix define conflict.
8372
bf66054f
VS
83732011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
8376 all four ways.
8377
8fc4fa45
CW
83782011-07-21 Colin Watson <cjwatson@ubuntu.com>
8379
8380 Preferred resolution detection for VBE.
8381
8382 * grub-core/video/video.c (grub_video_edid_checksum): New function.
8383 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
8384 the Flat Panel extension, in line with the X.org VESA driver.
8385 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
8386 New function.
8387 (grub_vbe_bios_get_ddc_capabilities): Likewise.
8388 (grub_vbe_bios_read_edid): Likewise.
8389 (grub_vbe_get_preferred_mode): Likewise.
8390 (grub_video_vbe_setup): When the mode is "auto", try to get the
8391 preferred mode from VBE, and use the largest mode that is no larger
8392 than the preferred mode (some BIOSes expose a preferred mode that is
8393 not in their mode list!). If this fails, fall back to 640x480 as a
8394 safe conservative choice.
8395 (grub_video_vbe_get_edid): New function.
8396 (grub_video_vbe_adapter): Add get_edid.
8397 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
8398 (struct grub_video_adapter): Add get_edid.
8399 (grub_video_edid_checksum): Add prototype.
8400 (grub_video_edid_preferred_mode): Likewise.
8401 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
8402 structure.
8403
8404 * grub-core/commands/videoinfo.c (print_edid): New function.
8405 (grub_cmd_videoinfo): Print EDID if available.
8406
8407 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
8408 is more appropriate on a wider range of platforms than 640x480.
8409 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
8410 documentation.
8411
ca5572a9
VS
84122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
8415
e4bcf625
VS
84162011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * po/POTFILES.in: Regenerate.
8419
c4edd548
VS
84202011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
8423 incorrect memory usage.
8424
16a2bab0
VS
84252011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * util/grub-install.in: Source grub-mkconfig_lib.
8428
2e418de6
VS
84292011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 Remove getroot.c from core on emu platform.
8432
8433 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
8434 kern/emu/raid.c.
8435 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
8436 useless.
8437 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
8438 * util/getroot.c (get_win32_path): ... here.
8439 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
8440 * util/getroot.c (fini_libzfs): ... here.
8441 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
8442 * util/getroot.c (grub_get_libzfs_handle): ... here.
8443 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
8444 Moved from here...
8445 * util/getroot.c (grub_find_zpool_from_dir): ... here.
8446 * grub-core/kern/emu/misc.c
8447 (grub_make_system_path_relative_to_its_root): Moved from here...
8448 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
8449 * grub-core/kern/emu/getroot.c: Moved from here ...
8450 * util/getroot.c: ... here. All users updated.
8451 * grub-core/kern/emu/raid.c: Moved from here ...
8452 * util/raid.c: ... here. All users updated.
8453
def9832a
VS
84542011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * po/POTFILES.in: Regenerate.
8457
cd8fe79a
VS
84582011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 Fix compilation on GNU/Linux.
8461
8462 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
8463 Disable geli.
8464 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
8465 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
8466 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
8467
a251b719
VS
84682011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
84692011-07-07 Michael Gorven <michael@gorven.za.net>
84702011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
8471
8472 LUKS and GELI support.
8473
8474 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
8475 grub-core/disk/luks.c, grub-core/disk/geli.c,
8476 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
8477 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
8478 grub-core/lib/arg.c.
8479 (libgrubmods.a): Remove gcrypts cflags and cppflags.
8480 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
8481 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
8482 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
8483 (grub-bin2h): Add libgcry.a.
8484 (grub-mkimage): Likewise.
8485 (grub-mkrelpath): Likewise.
8486 (grub-script-check): Likewise.
8487 (grub-editenv): Likewise.
8488 (grub-mkpasswd-pbkdf2): Likewise.
8489 (grub-pe2elf): Likewise.
8490 (grub-fstest): Likewise.
8491 (grub-mkfont): Likewise.
8492 (grub-mkdevicemap): Likewise.
8493 (grub-probe): Likewise.
8494 (grub-ofpath): Likewise.
8495 (grub-mklayout): Likewise.
8496 (example_unit_test): Likewise.
8497 (grub-menulst2cfg): Likewise.
8498 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
8499 * grub-core/Makefile.core.def (cryptodisk): New module.
8500 (luks): Likewise.
8501 (geli): Likewise.
8502 * grub-core/disk/AFSplitter.c: New file.
8503 * grub-core/disk/cryptodisk.c: Likewise.
8504 * grub-core/disk/geli.c: Likewise.
8505 * grub-core/disk/luks.c: Likewise.
8506 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
8507 grub_util_is_lvm.
8508 (grub_util_get_dm_abstraction): New function.
8509 (grub_util_follow_gpart_up): Likewise.
8510 (grub_util_get_geom_abstraction): Likewise.
8511 (grub_util_get_dev_abstraction): Use new functions.
8512 (grub_util_pull_device): Pull GELI and LUKS.
8513 (grub_util_get_grub_dev): Handle LUKS and GELI.
8514 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
8515 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
8516 (follow_geom_up): Removed.
8517 (grub_util_fd_seek): New function.
8518 (open_device): Use grub_util_fd_seek.
8519 (nread): Rename to ..
8520 (grub_util_fd_read): ... this. All users updated.
8521 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
8522 (grub_crypto_cbc_decrypt): Likewise.
8523 (grub_crypto_hmac_write): Likewise.
8524 (grub_crypto_hmac_buffer): Likewise.
8525 (grub_password_get): Extend to util.
8526 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
8527 New member modname.
8528 (gcry_md_spec) [GRUB_UTIL]: Likewise.
8529 * include/grub/cryptodisk.h: New file.
8530 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
8531 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
8532 LUKS and GELI.
8533 (grub_util_follow_gpart_up): New proto.
8534 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
8535 (grub_util_fd_read): Likewise.
8536 (grub_cryptodisk_cheat_mount): Likewise.
8537 (grub_util_cryptodisk_print_uuid): Likewise.
8538 (grub_util_get_fd_sectors): Likewise.
8539 * util/grub-fstest.c (mount_crypt): New var.
8540 (fstest): Mount crypto if requested.
8541 (options): New option -C.
8542 (argp_parser): Parse -C.
8543 (main): Init and fini gcry.
8544 * util/grub-install.in: Support cryptodisk install.
8545 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
8546 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
8547 cryptodisk.
8548 (prepare_grub_to_access_device): Likewise.
8549 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
8550 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
8551 (probe_cryptodisk_uuid): New function.
8552 (probe_abstraction): Likewise.
8553 (probe): Use new functions.
8554 * util/import_gcry.py: Create Makefile.utilgcry.def.
8555 Add modname member.
8556
9bfdcbbc
VS
85572011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 Lazy device scanning.
8560
8561 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
8562 (grub-setup): Remove util/raid.c.
8563 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
8564 * grub-core/disk/lvm.c (scan_depth): New variable.
8565 (grub_lvm_iterate): Rescan if necessary.
8566 (find_lv): New function based on grub_lvm_open.
8567 (grub_lvm_open): Use find_lv. Rescan on error.
8568 (is_node_readable): New function.
8569 (is_lv_readable): Likewise.
8570 (grub_lvm_scan_device): Skip already found disks.
8571 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
8572 Stop if searched device is found and readable.
8573 * grub-core/disk/raid.c (inscnt): New variable.
8574 (scan_depth): Likewise.
8575 (scan_devices): New function based on grub_raid_register. Abort if
8576 looked for device is found.
8577 (grub_raid_iterate): Rescan if needed.
8578 (find_array): NEw function based on -grub_raid_open.
8579 (grub_raid_open): Use find_array and rescan.
8580 (insert_array): Set became_readable_at.
8581 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
8582 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
8583 New function.
8584 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
8585 (grub_util_pull_device): New function.
8586 (grub_util_get_grub_dev): Call grub_util_pull_device.
8587 * util/raid.c: Moved to ..
8588 * grub-core/kern/emu/raid.c: ... here.
8589 (grub_util_raid_getmembers): New parameter "bootable".
8590 All users updated. Support 1.x.
8591 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
8592 All users updated.
8593 * include/grub/disk.h (grub_disk_pull_t): New enum.
8594 (grub_disk_dev): Change iterate prototype.
8595 All users updated.
8596 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
8597 New proto.
8598 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
8599 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
8600 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
8601 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
8602 All users updated.
8603 * include/grub/util/raid.h: Removed.
8604
1c358e59
VS
86052011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * po/POTFILES.in: Regenerate.
8608
abee94ed
VS
86092011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 Unify sparc init with other ieee1275.
8612
8613 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
8614 instead of kern/sparc64/ieee1275/init.c.
8615 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
8616 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
8617 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
8618 grub/machine/kernel.h.
8619 (grub_ieee1275_original_stack) [__sparc__]: New variable.
8620 (grub_claim_heap) [__sparc__]: Use sparc version.
8621 (grub_machine_init): Moved args parsing to
8622 (grub_parse_cmdline): ...this.
8623 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8624 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8625 New definition.
8626 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8627
8628 Move BOOTP to separate file.
8629
8630 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8631 * grub-core/net/net.c: Move all BOOTP functions to
8632 * grub-core/net/bootp.c: ... here.
8633
8634 Use frame interface on PXE.
8635
8636 * grub-core/Makefile.core.def (pxecmd): Removed.
8637 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8638 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8639 * grub-core/i386/pc/pxe.c: Moved from here ...
8640 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8641 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8642 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8643
8644 EFI network support.
8645
8646 * grub-core/Makefile.core.def (efinet): New module.
8647 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8648 here...
8649 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8650 All users updated.
8651 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8652 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8653 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8654 * grub-core/net/drivers/efi/efinet.c: New file.
8655 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8656 (grub_efi_net_config): New extern var.
8657
8658 Various cleanups and bugfixes.
8659
8660 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8661 error.
8662 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8663 disk declared as partition.
8664 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8665 leak on failure.
8666 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8667 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8668 (grub_debug_zalloc): Likewise.
8669 (grub_debug_realloc): Likewise.
8670 (grub_debug_memalign): Likewise.
8671 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8672 Check that target is IPv4.
8673 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8674 local-mac-address as fallback.
8675 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8676 memory leak.
8677 * grub-core/net/ip.c (ipchksum): Rename to ...
8678 (grub_net_ip_chksum): ... this. All users updated.
8679 (grub_net_recv_ip_packets): Special handling for DHCP.
8680 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8681
8682 Unify prefix handling
8683
8684 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8685 (grub_machine_get_bootlocation): ... this.
8686 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8687 (grub_machine_get_bootlocation): ... this.
8688 (grub_prefix): New variable.
8689 (prefix): Removed.
8690 (root_dev): New variable.
8691 (dir): Likewise.
8692 (main): Use new variables.
8693 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8694 Revamped into ...
8695 (grub_machine_get_bootlocation): ... this.
8696 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8697 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8698 (grub_machine_get_bootlocation): ... this.
8699 (grub_machine_set_prefix): Removed.
8700 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8701 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8702 Revamped into ...
8703 (grub_machine_get_bootlocation): ... this.
8704 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8705 (grub_set_prefix_and_root): ... this. All users updated.
8706 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8707 Revamped into ...
8708 (grub_machine_get_bootlocation): ... this.
8709 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8710 (grub_machine_get_bootlocation): New proto.
8711 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8712
8713 Less intrusive and more reliable seek on network implementation.
8714
8715 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8716 (grub_file_seek): Don't call grub_file_net_seek.
8717 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8718 (grub_net_fs_read_real): .. this.
8719 (grub_net_seek_real): Use net->offset.
8720 (grub_net_fs_read): Seek if necessary.
8721
8722 Unify IEEE1275 netwotk config with the other platforms.
8723
8724 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8725 New variable.
8726 (grub_machine_get_bootlocation): Support network.
8727 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8728 Support type and device parsing.
8729 (grub_ieee1275_get_device_type): New function.
8730 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8731 into ...
8732 (grub_ieee1275_net_config_real): ... this.
8733 (grub_ofnet_probecards): Removed.
8734 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8735 * include/grub/ieee1275/ofnet.h: Removed.
8736 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8737 extern var.
8738 (grub_ieee1275_get_device_type): New function.
8739
8740 Unify network device closing across platforms and make more robust.
8741
8742 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8743 grub_grubnet_fini.
8744 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8745 already.
8746 * grub-core/net/net.c (grub_net_network_level_interface_register):
8747 Update num_ifaces.
8748 (grub_net_card_unregister): Close all interfaces.
8749 (receive_packets): Don't poll if no iterfaces are registered.
8750 Open if necessary.
8751 (grub_net_fini_hw): New function.
8752 (grub_net_restore_hw): Likewise.
8753 (fini_hnd): New variable.
8754 (GRUB_MOD_INIT): Register preboot hook.
8755 (GRUB_MOD_FINI): Run and unregister preboot hook.
8756
8757 Poll network cards when idle.
8758
8759 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8760 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8761 * grub-core/net/net.c (receive_packets): Save last poll time.
8762 (grub_net_poll_cards_idle_real): New function.
8763 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8764 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8765 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8766
8767 Rename ofnet interfaces.
8768
8769 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8770 (grub_ofnet_findcards): Use ofnet_%s names.
8771
8772 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8773
8774 Cleanup socket opening.
8775
8776 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8777 (grub_net_fs_close): Likewise.
8778 (grub_net_fs_read_real): Use eof member.
8779 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8780 (+grub_net_udp_close): New inline function.
8781
8782 * include/grub/net/tftp.h: Moved to the top of ...
8783 * grub-core/net/tftp.c: ... here.
8784 * include/grub/net/ip.h: Moved mostly to the top of ...
8785 * grub-core/net/ip.c: ... here.
8786 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8787 * grub-core/net/ethernet.c: ... here.
8788
8789 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8790
8791 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8792 FS name.
8793
8794 * include/grub/net/ip.h (ipv4_ini): Removed.
8795 (ipv4_fini): Likewise.
8796
8797 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8798 (grub_net_send_ip_packets): Likewise.
8799
cf1337aa
VS
88002011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8803 grub_read_cmos prototype.
8804
93c06ff9
VS
88052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 VGA text support in qemu-mips
8808
8809 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8810 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8811 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8812 text.
8813 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8814 * grub-core/kern/vga_init.c: ... this.
8815 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8816 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8817 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8818 Adjust.
8819 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8820 GRUB_MACHINE_PCI_IO_BASE.
8821
748ccabe
VS
88222011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 MIPS qemu flash support.
8825
8826 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8827 magic.
8828 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8829 (grub_machine_init): Probe memory if its size isn't known.
8830 * util/grub-mkimage.c (image_targets): Add flash targets.
8831 (generate_image): Handle flash targets.
8832
d7345994
VS
88332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 MIPS qemu at_keyboard support.
8836
8837 * gentpl.py (videoinkernel): Add qemu-mips.
8838 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8839 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8840 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8841 modules.
8842 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8843 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8844 * grub-core/term/serial.c (grub_serial_register)
8845 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8846
a07a81b3
VS
88472011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 CMOS support on sparc.
8850
8851 * gentpl.py (cmos): Add powerpc and sparc.
8852 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8853 powerpc and sparc.
8854 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8855 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8856 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8857 grub_set_datetime_cmos.
8858 * grub-core/lib/ieee1275/cmos.c: New file.
8859 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8860 (find_rtc): Set no_ieee1275_rtc on error.
8861 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8862 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8863 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8864 fail. Move value to argument. All users updated
8865 (grub_cmos_write): Likewise.
8866 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8867 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8868 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8869 grub_get_datetime_cmos and grub_set_datetime_cmos.
8870
77546584
GS
88712011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8872
8873 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8874 sourcing grub-mkconfig_lib.
8875 * util/update-grub_lib.in: Likewise.
8876 * util/grub.d/00_header.in: Likewise.
8877 * util/grub.d/10_hurd.in: Likewise.
8878 * util/grub.d/10_kfreebsd.in: Likewise.
8879 * util/grub.d/10_linux.in: Likewise.
8880 * util/grub.d/10_netbsd.in: Likewise.
8881 * util/grub.d/10_windows.in: Likewise.
8882 * util/grub.d/20_linux_xen.in: Likewise.
8883 * util/grub.d/30_os-prober.in: Likewise.
8884
54894791
CW
88852011-06-28 Colin Watson <cjwatson@ubuntu.com>
8886
8887 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8888 default_bg_color rather than black.
8889 (grub_gfxterm_fullscreen): Likewise.
8890 (grub_gfxterm_background_color_cmd): Save new background color in
8891 default_bg_color.
8892
8d5d8444
VS
88932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8896
5afeb5bd
VS
88972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8900 mismerge.
8901
ba7df45e
VS
89022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 Chainloading on coreboot support.
8905
8906 * grub-core/Makefile.core.def (chain): Add coreboot.
8907 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8908
d0b526b2
VS
89092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8912 if it happens.
8913
5ff1d945
VS
89142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 Implement time command.
8917
8918 * grub-core/Makefile.core.def (time): New module.
8919 * grub-core/commands/time.c: New file.
8920 * grub-core/script/parser.y: Remove "time" keyword.
8921 * grub-core/script/yylex.l: Likewise.
8922
5ebaad7e
VS
89232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8926
bdea3798
VS
89272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8930 when handling leftovers.
8931
b28c5655
VS
89322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8935 so that help2man doesn't fail.
8936
b6f945dc
VS
89372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8940 type in pointers on sparc64.
8941 (get_card_packet): Likewise.
8942
f9b75e8a
CW
89432011-06-27 Colin Watson <cjwatson@ubuntu.com>
8944
8945 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8946 with `*'.
8947 (grub_cmd_videoinfo): Fetch current video mode.
8948
1e3d9b86
VS
89492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8952 because of underlying system restrictions.
8953
efff4b1c
VS
89542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8957 necessary.
8958
9fc9ce37
VS
89592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 Coreboot video support.
8962
8963 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8964 (vbe): Likewise.
8965 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8966 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8967 here ...
8968 * grub-core/kern/i386/int.S: ... here.
8969 * grub-core/video/i386/pc/vbe.c: Updated includes.
8970 * grub-core/video/i386/pc/vga.c: Likewise.
8971 * include/grub/i386/coreboot/memory.h
8972 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8973 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8974 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8975 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8976 Disable interrupts.
8977 * include/grub/i386/pc/vga.h: Removed. All users updated.
8978
41bec7fe
VS
89792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8982 definitions for dprintf.
8983 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8984
ca80309d
VS
89852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8988 prototype.
8989 (get_card_packet): Likewise.
8990
9e322ce8
YB
89912011-06-26 Yves Blusseau <blusseau@zetam.org>
8992
8993 Display the path of the file when file is not found
8994
8995 * grub-core/fs/fat.c: Display the filename when file is not found.
8996 * grub-core/fs/fshelp.c: Likewise.
8997 * grub-core/fs/hfs.c: Likewise.
8998 * grub-core/fs/jfs.c: Likewise.
8999 * grub-core/fs/minix.c: Likewise.
9000 * grub-core/fs/ufs.c: Likewise.
9001 * grub-core/fs/btrfs.c: Likewise.
9002 * grub-core/commands/i386/pc/play.c: Likewise.
9003
cbf597af
SJ
90042011-06-26 Szymon Janc <szymon@janc.net.pl>
9005
9006 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9007 pointer checks before calling grub_free().
9008 * grub-core/commands/wildcard.c (match_devices): Likewise.
9009 * grub-core/commands/wildcard.c (match_files): Likewise.
9010 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9011 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9012 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9013 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9014 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9015 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9016 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9017 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9018 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9019
6295b32f
P
90202011-06-25 Patrick <p55@mailinator.com>
9021
9022 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9023
77c0840b
VS
90242011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9027 (grub_pxe_send): Likewise.
9028 (GRUB_MOD_INIT): Fix types.
9029
40ea05de
SJ
90302011-06-24 Szymon Janc <szymon@janc.net.pl>
9031
9032 * grub-core/io/xzio.c: Fix code style issues
9033
90162423
MRA
90342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
90352011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9036
9037 Network infrastructure.
9038 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9039
9040 * include/grub/net/arp.h: New file.
90162423
MRA
9041 * include/grub/net/device.h: Likewise.
9042 * include/grub/net/ethernet.h: Likewise.
9043 * include/grub/net/ip.h: Likewise.
9044 * include/grub/net/netbuff.h: Likewise.
9045 * include/grub/net/tftp.h: Likewise.
9046 * include/grub/net/udp.h: Likewise.
9047 * include/grub/ieee1275/ofnet.h: Likewise.
9048 * include/grub/emu/export.h: Likewise.
9049 * include/grub/net.h: Likewise.
9050 * grub-core/net/arp.c: Likewise.
9051 * grub-core/net/ethernet.c: Likewise.
9052 * grub-core/net/ip.c: Likewise.
9053 * grub-core/net/udp.c: Likewise.
9054 * grub-core/net/tftp.c: Likewise.
9055 * grub-core/net/netbuff.c: Likewise.
9056 * grub-core/net/net.c: Likewise.
9057 * grub-core/net/drivers/emu/emunet.c: Likewise.
9058 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9059 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9060 export.h.
9061 * grub-core/Makefile.core.def (net): New module.
9062 (tftp): Likewise.
9063 (ofnet): Likewise.
9064 (emunet): Likewise.
9065 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9066 network protocols.
9067 * grub-core/kern/device.c (grub_net_open) : New variable.
9068 (grub_device_open): Handle network device.
9069 (grub_device_close): Likewise.
9070 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9071 (grub_grubnet_fini): Likewise.
9072 (grub_file_seek): Seek in network device.
9073 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9074 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9075 network root.
9076 (grub_machine_fini): Call grub_grubnet_fini.
9077 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9078 network.
9079 (grub_ieee1275_get_aliasdevname): New function.
9080 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9081 Add unofficial Solaris network info.
9082 (grub_multiboot_make_mbi): Likewise.
9083 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9084 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9085 * include/grub/device.h (grub_fs): Removed.
9086 * include/grub/err.h (grub_err_t): Add network-related values.
9087 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9088 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9089 (grub_ieee1275_get_aliasdevname): New proto.
9090 * include/grub/net.h: Rewritten.
423a1849 9091
031f22a0
VS
90922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9095 names.
9096
4388ca72
VS
90972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9100 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9101 it truncates the output.
9102 Reported by: Ximin Luo.
9103
98e2f506
VS
91042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9107
2a5e94d8
VS
91082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9111 partmap before abstraction.
9112
535c1910
AK
91132011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9114
9115 * util/grub-mkconfig_lib.in: Add missing quotes.
9116
bc09e1a2
VS
91172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9120 old method if mountinfo would return /dev/root and /dev/root doesn't
9121 exist.
9122
290766fb
VS
91232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 ZFS zlib support
9126
9127 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9128 (decomp_table): Add zlib entries.
9129 (zio_read): USe 8 bits for compression function rather than 3.
9130 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9131
91322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/disk/ahci.c: Add missing license statements.
9135 * grub-core/fs/romfs.c: Likewise.
9136 * grub-core/lib/ia64/setjmp.S: Likewise.
9137 * grub-core/loader/i386/pc/freedos.c: Likewise.
9138 * grub-core/loader/ia64/efi/linux.c: Likewise.
9139 * grub-core/video/colors.c: Likewise.
9140 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9141
5ab3f48a
VS
91422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 AHCI support.
9145
9146 * grub-core/Makefile.core.def (ata_pthru): Removed.
9147 (ahci): New module.
9148 (pata): Likewise.
9149 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9150 on unload.
9151 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9152 readwrite.
9153 (grub_hdparm_do_check_powermode_cmd): Likewise.
9154 (grub_hdparm_do_smart_cmd): Likewise.
9155 (grub_hdparm_set_val_cmd): Likewise.
9156 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9157 * grub-core/disk/ahci.c: New file.
9158 * grub-core/disk/ata.c: Factor out the low-level part into ...
9159 * grub-core/disk/pata.c: ... here.
9160 * grub-core/disk/ata_pthru.c: Contents moved to ...
9161 * grub-core/disk/pata.c: ... here.
9162 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9163 (grub_scsi_iterate): Use grub_scsi_names.
9164 (grub_scsi_open): Likewise.
9165 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9166 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9167 (grub_ata_regs_t): New struct.
9168 (grub_disk_ata_pass_through_parms): Likewise.
9169 (grub_ata_device): Renamed to ...
9170 (grub_ata): ... this.
9171 (grub_ata_dev): New struct.
9172 Removed all low-level inline functions.
9173 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9174 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9175 iterate hooks and open. All users updated.
9176 * util/grub-install.in: Handle AHCI disk module.
9177
c31dc5f5
SJ
91782011-06-23 Szymon Janc <szymon@janc.net.pl>
9179
9180 Add support for DRI and RSTn markers in JPEG files.
9181
9182 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9183 (JPEG_MARKER_RST0): Likewise.
9184 (JPEG_MARKER_RST1): Likewise.
9185 (JPEG_MARKER_RST2): Likewise.
9186 (JPEG_MARKER_RST3): Likewise.
9187 (JPEG_MARKER_RST4): Likewise.
9188 (JPEG_MARKER_RST5): Likewise.
9189 (JPEG_MARKER_RST6): Likewise.
9190 (JPEG_MARKER_RST7): Likewise.
9191 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9192 (grub_jpeg_decode_dri): New function.
9193 (grub_jpeg_decode_sos): Move image data related part into
9194 grub_jpeg_decode_data function.
9195 (grub_jpeg_decode_data): New function.
9196 (grub_jpeg_reset): New function.
9197 (grub_jpeg_decode_jpeg): Handle new markers.
9198
fe12fd5b
VS
91992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * util/ieee1275/ofpath.c (check_sas): Close fd.
9202 (main): Free of_path.
9203 Reported by: David Volgyes <dvolgyes>.
9204
03147f46
VS
92052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9208 Reported by: David Volgyes <dvolgyes>.
9209
cad3237f
VS
92102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9213 file after stat.
9214 Reported by: David Volgyes <dvolgyes>.
9215
13548d26
VS
92162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9219
9220 Reported by: David Volgyes <dvolgyes>.
9221
e061a1b5
VS
92222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9225 Prevent memory leak.
9226
1abe47dc
VS
92272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9230 (main): Close file.
e061a1b5 9231 Reported by: David Volgyes <dvolgyes>.
1abe47dc 9232
fbc62666
VS
92332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9236 to continue if allocation is failed.
9237
9238 Reported by: David Volgyes <dvolgyes>.
9239
e98c83e9
DV
92402011-06-23 David Volgyes <dvolgyes>
9241
9242 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9243 dereference.
9244
a199a8cd
VS
92452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 Fix spurious warning.
9248
9249 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9250 (acorn_partition_map_find): Use .bin member.
9251
e2d1dba0
VS
92522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9255 /dev/root as a valid device.
9256
8a5d6919
JM
92572011-06-23 Jim Meyering <meyering@redhat.com>
9258
e2d1dba0
VS
9259 Avoid NULL deref in grub_device_open.
9260
8a5d6919
JM
9261 * grub-core/kern/device.c (grub_device_open): Don't dereference
9262 a NULL pointer upon failed grub_env_get.
9263
f7db6f4a
VS
92642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 Support non-512B sectors and agglomerate reads.
9267
9268 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
9269 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
9270 (disk_io_guid): Removed.
9271 (make_devices): Locate solely by BlockIO.
9272 (grub_efidisk_open): Fill log_sector_size and total_sectors.
9273 (grub_efidisk_read): Use read_blocks.
9274 (grub_efidisk_write): Use write_blocks.
9275 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
9276 log_sector_size.
9277 (get_safe_sectors): Handle non-512B sectors.
9278 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
9279 sectors.
9280 (grub_biosdisk_write): Handle non-512B sectors.
9281 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
9282 (grub_scsi_read): Remove special non-512B block handling (now handled
9283 one level up).
9284 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
9285 and do sanity checks.
9286 (grub_disk_adjust_range): Handle non-512B sectors.
9287 (transform_sector): New function.
9288 (grub_disk_read_small): Likewise.
9289 (grub_disk_read): Rewritten.
9290 (grub_disk_write): Handle non-512B sectors.
9291 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
9292 log_sector_size.
9293 (open_device): Use log_sector_size.
9294 (grub_util_biosdisk_read): Likewise.
9295 (grub_util_biosdisk_write): Likewise.
9296 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
9297 non-512B sectors.
9298 (pc_partition_map_embed): Likewise.
9299 * include/grub/disk.h (grub_disk): New field log_sector_size.
9300 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
9301 (GRUB_DISK_CACHE_BITS): Increased to 6.
9302 * util/grub-fstest.c (fstest): New command testload.
9303 (argp_parser): Likewise.
9304
881ac815
RM
93052011-06-16 Robert Millan <rmh@gnu.org>
9306
9307 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
9308 `ata' driver on kernel of FreeBSD 9.
9309
9310 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
9311 (get_ataraid_disk_name): New functions.
9312 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
9313 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
9314 get_ataraid_disk_name() and get_ada_disk_name().
9315
1e9aef7d
CW
93162011-06-13 Colin Watson <cjwatson@ubuntu.com>
9317
9318 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
9319 input format.
9320
351c7c8a
CW
93212011-05-29 Colin Watson <cjwatson@ubuntu.com>
9322
9323 * docs/grub.texi (Obtaining and Building GRUB): Substitute
9324 `ftp.gnu.org' for `alpha.gnu.org'.
9325
6b4e6430
CW
93262011-05-27 Colin Watson <cjwatson@ubuntu.com>
9327
9328 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
9329 partitions under /dev/disk/by-id/.
9330
c64db050
CW
93312011-05-27 Colin Watson <cjwatson@ubuntu.com>
9332
9333 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
9334 after ten consecutive open failures. Scanning all the way up to
9335 10000 is excessive and can cause serious performance problems in
9336 some configurations.
9337 Fixes Ubuntu bug #787461.
9338
245f4aba
VS
93392011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
9342 opening new one.
9343
f767c929
VS
93442011-05-21 Colin Watson <cjwatson@ubuntu.com>
93452011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 Don't stat devices unless we have to.
9348
9349 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
9350 dir == /dev/mapper.
9351 (grub_guess_root_device): Use already known os_dev if possible.
9352 * grub-core/kern/emu/hostdisk.c
9353 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
9354 if device is known to be a dm one.
9355
f35fa3a6
CW
93562011-05-20 Colin Watson <cjwatson@ubuntu.com>
9357
9358 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
9359 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
9360 Reported by: Pawel Tecza.
9361
9a79fcf2
VS
93622011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
9365 (lsefisystab): Likewise.
9366 (lssal): Likewise.
9367 (lsefimmap): Likewise.
9368 (hdparm): Enable on qemu-mips.
9369 (setjmp): Add ia64 nodist.
9370 (serial): Simplify tags.
9371
63e3eea9
CW
93722011-05-18 Colin Watson <cjwatson@ubuntu.com>
9373
9374 * Makefile.util.def (grub-ofpathname): Install manual page.
9375
09728256
CW
93762011-05-18 Colin Watson <cjwatson@ubuntu.com>
9377
9378 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
9379
8b63a142
CW
93802011-05-18 Colin Watson <cjwatson@ubuntu.com>
9381
9382 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
9383
e775d8ed
VS
93842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
9387 into dprintf.
9388
bf947d36
VS
93892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 Use full 64-bit division.
9392
9393 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
9394 (grub_divmod64): ... this.
9395 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
9396 version.
9397
b84f26c5
CW
93982011-05-18 Colin Watson <cjwatson@ubuntu.com>
9399
9400 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
9401 `source'.
9402
5626056f
CW
94032011-05-18 Colin Watson <cjwatson@ubuntu.com>
9404
9405 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
9406 to avoid accidents when debugging with 'sh -x'.
9407 * grub-core/gensyminfo.sh.in: Likewise.
9408 * tests/example_scripted_test.in: Likewise.
9409 * tests/grub_cmd_regexp.in: Likewise.
9410 * tests/grub_script_blanklines.in: Likewise.
9411 * tests/grub_script_dollar.in: Likewise.
9412 * tests/grub_script_expansion.in: Likewise.
9413 * tests/grub_script_final_semicolon.in: Likewise.
9414 * tests/partmap_test.in: Likewise.
9415 * tests/util/grub-shell-tester.in: Likewise.
9416 * tests/util/grub-shell.in: Likewise.
9417
e2965f4a
CW
94182011-05-18 Colin Watson <cjwatson@ubuntu.com>
9419
9420 Move gfxmenu color handling to video, so that gfxterm can use it
9421 too.
9422
9423 * grub-core/gfxmenu/named_colors.c: Move to ...
9424 * grub-core/video/colors.c: ... here. Rename
9425 grub_gui_get_named_color to grub_video_get_named_color.
9426 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
9427 * grub-core/video/colors.c (my_isxdigit): ... here.
9428 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
9429 Move to ...
9430 * grub-core/video/colors.c (parse_hex_color_component): ... here.
9431 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
9432 to ...
9433 * grub-core/video/colors.c (grub_video_parse_color): ... here.
9434
9435 * include/grub/gui.h (grub_gui_color_t): Move to ...
9436 * include/grub/video.h (grub_video_rgba_color_t): ... here.
9437 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
9438 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
9439 * include/grub/gui.h (grub_gui_map_color): Move to ...
9440 * include/grub/video.h (grub_video_map_rgba_color): ... here.
9441 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
9442 to ...
9443 * include/grub/video.h (grub_video_get_named_color): ... here.
9444 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
9445 * include/grub/video.h (grub_video_parse_color): ... here.
9446
9447 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
9448 video/colors.c.
9449 (gfxmenu): Remove gfxmenu/named_colors.c.
9450 (video) [videomodules]: Add video/colors.c.
9451
9452 Add a background_color command.
9453
9454 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
9455 function.
9456 (GRUB_MOD_INIT): Register background_color command.
9457 (GRUB_MOD_FINI): Unregister background_color command.
9458 (redraw_screen_rect): Allow blend/replace of text layer to be
9459 controlled independently from whether there is a background bitmap.
9460 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
9461 changing bitmap.
9462
1e4b4390
VS
94632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9464
26618ff0
VS
9465 Patch BPB in ntldr and chainloader --bpb.
9466
1e4b4390
VS
9467 * grub-core/fs/fat.c: Include grub/fat.h.
9468 (grub_fat_bpb): Moved to ...
9469 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
9470 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
9471 grub/ntfs.h.
9472 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
9473 Moved from here...
9474 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
9475 here.
9476 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
9477 New function.
9478 (grub_chainloader_cmd): Patch BPB if --bpb is given.
9479 (GRUB_MOD_INIT): Show --bpb.
9480 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
9481 * grub-core/normal/main.c (features): New variable.
9482 (GRUB_MOD_INIT): Set feature_* variables.
9483 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
9484 proto.
9485 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
9486
cf02731e
VS
94872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
9490 for cleanness.
9491
e3a1073f
VS
94922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 FreeDOS direct loading support.
9495
9496 * docs/grub.texi (Supported OS): Add FreeDOS.
9497 * grub-core/Makefile.core.def (freedos): New module.
9498 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
9499 variable.
9500 (grub_relocator16_boot): Handle %ebx.
9501 * grub-core/lib/i386/relocator16.S: Likewise.
9502 * grub-core/loader/i386/pc/freedos.c: New file.
9503
05caa461
VS
95042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 Long Linux command line support.
9507
9508 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9509 (maximal_cmdline_size): New variable.
9510 (allocate_pages): Use maximal_cmdline_size.
9511 (grub_cmd_linux): Set and use maximal_cmdline_size.
9512 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9513 (allocate_pages): Use maximal_cmdline_size.
9514 (grub_cmd_linux): Set and use maximal_cmdline_size.
9515 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
9516 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
9517 and cmdline_size.
9518
a2491e23
VS
95192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
95202011-05-18 Colin Watson <cjwatson@ubuntu.com>
9521
9522 Improve devmapper support
9523
9524 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
9525 (grub_util_is_lvm): New function.
9526 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
9527 than lvm if not dmraid.
9528 Handle mapped md nodes.
9529 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
9530 (grub_util_device_is_mapped): ... this. Make always available. All users
9531 updated.
9532 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
9533 (convert_system_partition_to_system_disk): Handle lvm, mpath and
9534 dmraid nodes.
9535 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
9536
6ad6223e
VS
95372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
9540
9541 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
9542 * grub-core/modinfo.sh.in: New file.
9543 * grub-core/Makefile.core.def (modinfo.sh): New script.
9544 * util/grub-mknetdir.in: Use modinfo.sh.
9545 * util/grub-mkrescue.in: Likewise.
9546
543a8f6e
VS
95472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9550 Fix potential usage of Elf32 instead of Elf64 when compiling on
9551 32-bit architecture. Add endianness macros while on it.
9552
4959e111
VS
95532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Use mipsel- rather than mips- in directories involving mipsel ports to
9556 allow both endiannesses coexist.
9557
9558 * configure.ac: proparate target_cpu=mipsel rather than resetting to
9559 mips. All conditions adjusted.
9560 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
9561 variable.
9562 * util/grub-install.in: Adjust conditions to take renaming into account.
9563 * util/grub-mkimage.c (image_targets): Likewise. New target
9564 mips-qemu_mips-elf for bigendian mips.
9565
35341bbc
VS
95662011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 Avoid unnecessary copying on MIPS.
9569
9570 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
9571 early if src == dest.
9572 * util/grub-mkimage.c (generate_image): Arange for src == dest if
9573 compression is none.
9574
b772baed
VS
95752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 Reduce memory footprint on SGI by putting modules before the kernel
9578 as opposed to after.
9579
9580 * grub-core/Makefile.core.def (kernel): Increase linking address.
9581 (none_decompress): Likewise.
9582 (xz_decompress): Likewise.
9583 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
9584 address.
9585 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
9586 layout change.
9587 (grub_arch_modules_addr): New function.
9588 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
9589 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
9590 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
9591 here.
9592 * grub-core/kern/mips/startup.S (total_size): Rename to ...
9593 (grub_total_modules_size): ... this. Make global.
9594 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
9595 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
9596 New definition.
9597 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
9598 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
9599 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
9600 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
9601 * util/grub-mkimage.c (image_target_desc): New flag
9602 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
9603 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
9604 (generate_image): Handle images with modules before kernel.
9605
566a1917
VS
96062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 Prevent potential loss of memory map by overwrite on qemu-mips.
9609
9610 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9611 Save ram size in $s4.
9612 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
9613 All users changed to grub_arch_memsize.
9614 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
9615 Loongson.
9616 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
9617 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
9618 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
9619 external variable.
9620
5d420cd9
CW
96212011-05-17 Colin Watson <cjwatson@ubuntu.com>
9622
9623 * .bzrignore: Remove grub-dumpbios.
9624
d064b830
CW
96252011-05-17 Colin Watson <cjwatson@ubuntu.com>
9626
9627 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9628 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9629 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9630 existing options which append).
9631 * docs/grub.texi (Simple configuration): Document new options.
9632 Reported by: Ian Jackson. Fixes Debian bug #617538.
9633
3ca2b466
CW
96342011-05-17 Colin Watson <cjwatson@ubuntu.com>
9635
9636 * util/grub-fstest.c (cmd_cat): New function.
9637 (fstest): Handle CMD_CAT.
9638 (options): Add cat.
9639 (argp_parser): Handle cat.
9640
24c9143a
CW
96412011-05-17 Colin Watson <cjwatson@ubuntu.com>
9642
9643 * Makefile.util.def (grub-bin2h): Don't install.
9644 * docs/man/grub-bin2h.h2m: Remove.
9645
90f7ac19
VS
96462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9649 place.
9650
8d4a5178
VS
96512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 Reenable qemu-mips port.
9654
9655 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9656 Fix small arc bug while on it.
9657 * gentpl.py: Handle qemu_mips.
9658 * grub-core/Makefile.am: Likewise.
9659 * grub-core/Makefile.core.def: Likewise.
9660 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9661 inappropriate includes.
9662 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9663 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9664 * grub-core/kern/main.c (grub_modules_get_end)
9665 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9666 * grub-core/kern/mips/qemu-mips: Moved to ..
9667 * grub-core/kern/mips/qemu_mips: ... this.
9668 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9669 (grub_machine_init): Call terminfo_init and serial_init.
9670 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9671 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9672 New variable.
9673 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9674 parameter passing.
9675 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9676 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9677 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9678 * include/grub/mips/qemu_mips/cmos.h: New file.
9679 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9680 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9681 Removed.
9682 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9683 Use correct mips-style address.
9684 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9685 (GRUB_TICKS_PER_SECOND): Removed.
9686 (grub_get_rtc): Likewise.
9687 (grub_cpu_idle): Likewise.
9688 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9689 New definition.
9690 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9691 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9692 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9693 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9694 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9695 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9696 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9697 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9698
400b9371
VS
96992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 SGI ARCS port.
9702
9703 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9704 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9705 platforms.
9706 * configure.ac: New target mips-arc.
9707 * gentpl.py: Likewise.
9708 * grub-core/Makefile.am: Likewise.
9709 * grub-core/Makefile.core.def: Likewise.
9710 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9711 (none_decompress): Likewise.
9712 (lsdev): New module.
9713 (datetime): Use lib/arc/datetime.c on ARC.
9714 (part_dvh): New module.
9715 * grub-core/commands/arc/lsdev.c: New file.
9716 * grub-core/disk/arc/arcdisk.c: Likewise.
9717 * grub-core/kern/mips/arc/init.c: Likewise.
9718 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9719 aligned addresses.
9720 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9721 support.
9722 (grub_arch_dl_relocate_symbols): Likewise.
9723 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9724 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9725 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9726 platforms.
9727 * grub-core/lib/arc/datetime.c: New file.
9728 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9729 pci.h on non-loongson.
9730 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9731 (grub_linux_boot): Set unused registers to 0.
9732 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9733 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9734 * grub-core/mmap/mips/uppermem.c: ...here.
9735 * grub-core/partmap/dvh.c: New file.
9736 * grub-core/term/arc/console.c: Likewise.
9737 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9738 (grub_terminfo_set_current): Add terminal "arc".
9739 (grub_terminfo_readkey): Support ARC sequences.
9740 * include/grub/arc/arc.h: New file.
9741 * include/grub/arc/console.h: Likewise.
9742 * include/grub/disk.h (grub_disk_dev_id): Add
9743 GRUB_DISK_DEVICE_ARCDISK_ID.
9744 * include/grub/mips/arc/kernel.h: New file.
9745 * include/grub/mips/arc/memory.h: Likewise.
9746 * include/grub/mips/arc/time.h: Likewise.
9747 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9748 * include/grub/mips/kernel.h (grub_halt): ... here.
9749 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9750 here...
9751 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9752 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9753 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9754 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9755 proto.
9756 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9757 from here ...
9758 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9759 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9760 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9761 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9762 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9763 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9764 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9765 (grub_phys_addr_t): Moved from here ...
9766 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9767 (grub_vtop): Moved from here ...
9768 * include/grub/mips/memory.h (grub_vtop): ... here.
9769 (grub_map_memory): Moved from here ...
9770 * include/grub/mips/memory.h (grub_map_memory): ... here.
9771 (grub_unmap_memory): Moved from here ...
9772 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9773 (grub_machine_mmap_iterate): Moved from here ...
9774 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9775 (grub_mmap_get_lower): Moved from here ...
9776 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9777 (grub_mmap_get_upper): Moved from here ...
9778 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9779 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9780 here ...
9781 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9782 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9783 here ...
9784 * include/grub/mips/time.h (grub_get_rtc): ... here.
9785 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9786 here ...
9787 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9788 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9789 here ...
9790 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9791 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9792 definition.
9793 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9794 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9795 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9796 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9797 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9798 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9799 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9800 (GRUB_MACHINE_LINK_ADDR): Likewise.
9801 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9802 to 6.
9803 * util/grub-install.in: Run dvhtool on ARC.
9804 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9805 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9806
c8ecc840
VS
98072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9810 blocks.
9811
153a4b55
VS
98122011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9815 after enabling port.
9816
ff44d107
VS
98172011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 Skip incorrect USB devices.
9820
9821 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9822 configcnt == 0.
9823 * include/grub/usb.h (grub_usb_err_t): New enum value
9824 GRUB_USB_ERR_BADDEVICE.
9825
638dbe4f
VS
98262011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 Fuloong video init support.
9829
9830 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9831 well.
9832 (grub_vga_read_arx): New function.
9833 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9834 definition.
9835 (framebuffer): New members io, mmioptr and mmiobase.
9836 (read_sis_cmd): New function.
9837 (write_sis_cmd): Likewise.
9838 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9839 rather than 640x400.
9840 * grub-core/video/sis315_init.c: New file.
9841
c3fc520c
VS
98422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9845 non-loongson.
9846 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9847 to grub_dl_register_symbol.
9848
67b1e5c9
VS
98492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Fix compilation errors.
9852
9853 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9854 potentially unused.
9855 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9856 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9857 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9858 to loongson machines.
9859
b756f75f
VS
98602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 Several FS mtime support.
9863
9864 * grub-core/fs/affs.c (grub_affs_time): New struct.
9865 (grub_affs_file): New field mtime.
9866 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9867 type. Removed 'size'. New field 'di'. All users updated.
9868 (grub_affs_mount): Simplify checsum checking.
9869 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9870 (grub_affs_dir): Handle mtime.
9871 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9872 (grub_cpio_dir): Likewise.
9873 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9874 (grub_hfs_filerec): New field mtime.
9875 (grub_hfs_dir): Handle mtime.
9876 (grub_hfs_mtime): New function.
9877 (grub_hfs_fs): Register grub_hfs_mtime.
9878 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9879 (grub_iso9660_dir): New field mtime.
9880 (grub_fshelp_node): New field dirent.
9881 (iso9660_to_unixtime): New function.
9882 (iso9660_to_unixtime2): Likewise.
9883 (grub_iso9660_read_symlink): Use node->dirent.
9884 (grub_iso9660_iterate_dir): Likewise.
9885 (grub_iso9660_dir): Set mtime.
9886 (grub_iso9660_mtime): New function.
9887 (grub_iso9660_fs): Register grub_iso9660_mtime.
9888 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9889 (grub_jfs_inode): New fields atime, ctime and mtime.
9890 (grub_jfs_dir): Set mtime.
9891 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9892 * grub-core/fs/ntfs.c (list_file): Set mtime.
9893 (grub_ntfs_dir): Likewise.
9894 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9895 (grub_reiserfs_iterate_dir): Set mtime.
9896 (grub_reiserfs_dir): Likewise.
9897 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9898 (grub_fshelp_node): Likewise.
9899 (grub_sfs_iterate_dir): Set mtime.
9900 (grub_sfs_dir): Likewise.
9901 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9902 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9903 (grub_xfs_inode): New fields atime, mtime, ctime.
9904 (grub_xfs_dir): Set mtime.
9905 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9906 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9907 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9908
9909 Support UDF symlinks.
9910
9911 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9912 (grub_ufs_read_symlink): New function. All users updated.
9913
9914 Check amiga partmap checksum.
9915
9916 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9917 (grub_amiga_partition): Likewise.
9918 (amiga_partition_map_checksum): New function.
9919 (amiga_partition_map_iterate): Check checksum.
9920
5470225d
VS
99212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 ROMFS support.
9924
9925 * Makefile.util.def (libgrubmods.a): Add romfs.
9926 * grub-core/Makefile.core.def (romfs): New module.
9927 * grub-core/fs/romfs.c: New file.
9928
d4680a35
VS
99292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 Squashfs v4 support.
9932
9933 * Makefile.util.def (libgrubmods.a): Add squash4.
9934 * grub-core/Makefile.core.def (squash4): New module.
9935 * grub-core/fs/squash4.c: New file.
9936 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9937 disk_input_start, disk_input.
9938 (get_byte): Handle disk_input.
9939 (grub_zlib_disk_read): New function.
9940 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9941
bcb18e74
FZ
99422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
99432011-05-15 Feiran Zheng <famcool@gmail.com>
9944
9945 * Makefile.util.def (libgrubmods.a): Add minix3.
9946 * grub-core/Makefile.core.def (minix3): New module.
9947 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9948 (GRUB_MINIX_BSIZE): Removed.
9949 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9950 (grub_minix_ino_t): New type.
9951 (grub_minix_le_to_cpu_ino): New macro.
9952 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9953 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9954 (grub_minix_data): New field block_size.
9955 (grub_minix_read_file): Handle 64-bit correctly.
9956 * grub-core/fs/minix3.c: New file.
9957
32297d5f
TG
99582011-05-15 Tristan Gingold <gingold@free.fr>
99592011-05-15 Robert Millan <rmh.grub@aybabtu.com>
99602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 IA64 support.
9963
9964 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9965 * configure.ac: Add ia64-efi target.
9966 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9967 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9968 * gentpl.py: Add ia64_efi platform.
9969 Rename x86_efi to efi and Add ia64-efi. All users updated.
9970 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9971 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9972 Remove kern/generic/rtc_get_time_ms.c on EFI.
9973 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9974 kern/ia64/dl_helper.c on ia64-efi.
9975 Add kern/emu/cache.c on emu.
9976 (linux): Use on loader/ia64/efi/linux.c on ia64.
9977 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9978 whether symbol is a function.
9979 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9980 (grub_symbol): New field 'isfunc'.
9981 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9982 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9983 (grub_dl_load_segments): Place all sections into the same region.
9984 [__ia64__]: Create trampolines and got.
9985 [GRUB_MACHINE_EMU]: Call mprotect.
9986 (grub_dl_resolve_symbols): Resolve symbol type as well.
9987 [__ia64__]: Create function descriptors.
9988 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9989 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9990 (grub_get_rtc): New function.
9991 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9992 * grub-core/kern/emu/cache.S: Renamed to ...
9993 * grub-core/kern/emu/cache_s.S: ... this.
9994 [__ia64__]: Add a nop.
9995 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9996 [__ia64__]: New function.
9997 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9998 * grub-core/kern/ia64/dl.c: New file.
9999 * grub-core/kern/ia64/dl_helper.c: Likewise.
10000 * grub-core/kern/ia64/efi/init.c: New file.
10001 * grub-core/kern/ia64/efi/startup.S: Likewise.
10002 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10003 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10004 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10005 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10006 * grub-core/loader/ia64/efi/linux.c: New file.
10007 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10008 (GRUB_MOD_DEP): Likewise.
10009 (grub_dl) [__ia64__]: New fields got and tramp.
10010 (grub_dl): New field 'base'.
10011 (grub_dl_register_symbol): New argument isfunc. All users updated.
10012 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10013 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10014 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10015 (grub_ia64_dl_get_tramp_got_size): New proto.
10016 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10017 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10018 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10019 * include/grub/efi/api.h: Skip call wrappers on ia64.
10020 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10021 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10022 * include/grub/elf.h (ELF_ST_INFO): New definition.
10023 * include/grub/ia64/efi/kernel.h: New file.
10024 * include/grub/ia64/efi/memory.h: Likewise.
10025 * include/grub/ia64/efi/time.h: Likewise.
10026 * include/grub/ia64/kernel.h: Likewise.
10027 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10028 * include/grub/ia64/time.h: New file.
10029 * include/grub/ia64/types.h: Likewise.
10030 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10031 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10032 New protos.
10033 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10034 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10035 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10036 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10037 All users updated.
10038 (EFI64_HEADER_SIZE): New definition. All users updated.
10039 (image_targets): Add ia64-efi.
10040 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10041 jumpers_addr. All users updated.
10042 Create function descriptors.
10043 (count_funcs): New function.
10044 (unaligned_uint32): New struct.
10045 (MASK20): New definition.
10046 (MASK19): Likewise.
10047 (MASKF21): Likewise.
10048 (add_value_to_slot_20b): New function.
10049 (add_value_to_slot_21_real): Likewise.
10050 (add_value_to_slot_21): Likewise.
10051 (ia64_kernel_trampoline): New struct.
10052 (nopm): New variable.
10053 (jump): Likewise.
10054 (make_trampoline): New function.
10055 (relocate_addresses): Handle ia64.
10056 (make_reloc_section): Likewise.
10057 (load_image): Likewise.
10058
983b414d
VS
100592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10062 warning. Move variables before code while on it.
10063
5d063cdc
VS
100642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 Fuloong support.
10067
10068 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10069 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10070 * grub-core/boot/mips/loongson/fuloong.S: New file.
10071 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10072 Explicitly init CS5536.
10073 [FULOONG]: Don't use serial until CS5536 is available.
10074 Set GPIO based on dumps.
10075 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10076 [FULOONG]: Handle GPIO and memory controller differences.
10077 Parse machine type in $a2.
10078 * grub-core/boot/mips/startup_raw.S: Determine and save the
10079 architecture.
10080 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10081 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10082 init on architecture type.
10083 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10084 SIS315E. Don't init at_keyboard on fuloong.
10085 (grub_halt): Support Fuloong.
10086 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10087 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10088 (loongson_machtypes): New array.
10089 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10090 type.
10091 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10092 config. All users updated. Handle CS5536 serial.
10093 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10094 default port on machine type. Register serial as inactive.
10095 * grub-core/video/sis315pro.c: New file.
10096 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10097 definition.
10098 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10099 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10100 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10101 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10102 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10103 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10104 to ...
10105 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10106 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10107 definition.
10108 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10109 (grub_arch_machine): New extern var.
10110 * include/grub/mips/loongson/serial.h
10111 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10112 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10113 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10114 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10115 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10116 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10117 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10118 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10119 * include/grub/term.h (grub_term_register_input_inactive): New inline
10120 function.
10121 (grub_term_register_output_inactive): Likewise.
10122 * include/grub/video.h (grub_video_driver_id): New value
10123 GRUB_VIDEO_DRIVER_SIS315PRO.
10124 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10125 New field "names". All users updated.
10126 New field value IMAGE_FULOONG_FLASH.
10127 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10128
6ada82d1
JU
101292011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10130
10131 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10132 and add some clarification.
10133
90c571a4
VS
101342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10137 platforms if kernel is compressed.
10138
de04eecf
VS
101392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10142 unused modules since currently referrence counter isn't reliable and
10143 there isn't much memory to recover there anyway.
10144
57688121
VS
101452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10148 rather than resetting it to allow modules to reference themselves
10149 in init.
10150
3d2c7e35
VS
101512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10154 counter on dependencies since grub_dl_unref already handles this.
10155
b25db218
VS
101562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10159 on error if not already done.
10160
25a45338
VS
101612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 Fix few potential memory misusage.
10164
10165 * grub-core/font/font.c (load_font_index): Don't free char_index to
10166 avoid double free.
b25db218
VS
10167 (grub_font_load): Zero-fill font at alloc for safety.
10168 Close file on error.
10169 (free_font): Free bmp_idx.
25a45338 10170
0cac83df
VS
101712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * docs/grub.texi (Installation): Fix several outdated claims.
10174
2217a143
VS
101752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 Handle module_license on windows.
10178
10179 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10180 sections shifted.
10181 (insert_string): Make argument const char * instead of char *.
10182 (write_section_data): Handle long section names.
10183 Handle module_license.
10184
d4de6b01
VS
101852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10188 handle class-free menuentries.
10189 (grub_normal_add_menu_entry): Add a check to be sure.
10190
4c2a3b43
VS
101912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10194 PgUp and PgDown.
10195
85c6210f
VS
101962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * configure.ac: Bump version to 1.99.
10199
36084912
VS
102002011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 Give ATA device a bit more time on first try in order to allow disks
10203 to spin up.
10204
10205 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10206 if dev->present is 1. Reset dev->present on failure.
10207 (grub_ata_device_initialize): Set dev->present to 1.
10208 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10209 (grub_ata_device): New member 'present'.
10210
bda0e219
VS
102112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * util/grub-mkimage.c (generate_image): Update hash.
10214
19e1c41b
VS
102152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Flush caches on DMA memory.
10218
10219 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10220 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10221 (grub_dma_free): Likewise.
10222 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10223
91bbcc0c
VS
102242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10227 to avoid asm treating ld and sd as macros.
10228
60ddfad3
VS
102292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10232 decompressor.
10233
a298aa04
VS
102342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10237 grub_decompress_core since later would fail if grub_decompress_core
10238 is too far.
10239
9b44feca
VS
102402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10243 R_MIPS_JALR since it's used by newer compiler.
10244
56dbe7b4
VS
102452011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10248
52856af2
VS
102492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10252 file_path to 0 for surety.
10253 (grub_chainloader_boot): Set exit_data to NULL.
10254 Unset the loader once done.
10255 (grub_cmd_chainloader): Fix confusing error message if file is empty.
10256
9c9bfc6d
VS
102572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
10260 unknown key into a dprintf.
10261
dd94a3df
VS
102622011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
10265 on first non-existant partition.
10266
fa68d99c
VS
102672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
10270 openning fails.
10271 Reported by: Mark Korenberg.
10272
157effb7
VS
102732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
10276 overflow.
10277
ea75312f
VS
102782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * util/grub-mkimage.c (main): Explicitely flush and sync the output
10281 before closing to ensure that it will be readable by grub-setup.
10282
072b5d31
VS
102832011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
10286 (devpath_1): Use MAKE_PIWG_PATH.
10287 (devpath_2): Likewise.
10288 (devpath_3): Likewise.
10289 (devpath_4): Likewise.
10290 (devpath_5): Likewise.
10291 (devpath_6): Likewise.
10292
10293 The appleldr.mod was checked that to be binary identical to previous
10294 version.
10295
7fae0051
Z
102962011-05-05 Zach <mikezackles>
10297
10298 Support 2010 Macbooks.
10299
10300 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
10301 (devs): Add devpath_6.
10302
7c515bee
VS
103032011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
10306 /dev/random. /dev/urandom is good enough for our purposes (salting).
10307
ed660bd8
VS
103082011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
10311
ee5614b7
VS
103122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
10315 hexadecimal.
10316
664889a6
VS
103172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
10320 and not 0 on failure.
10321
bd405bbc
CW
103222011-05-03 Colin Watson <cjwatson@ubuntu.com>
10323
10324 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
10325 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
10326 disk; otherwise grub_fs_probe will not fall back to the next
10327 filesystem.
10328 (grub_pxefs_open): Likewise, for consistency.
10329 Reported and tested by: Ezekiel Grave.
10330
4ebff753
CW
103312011-05-03 Colin Watson <cjwatson@ubuntu.com>
10332
10333 * tests/partmap_test.in: Don't hardcode path to parted.
10334 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
10335
8f942553
CW
103362011-05-01 Colin Watson <cjwatson@ubuntu.com>
10337
10338 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
10339 of `ls' to find out which devices are available.
10340
3c62402d
VS
103412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
10344 than source address for efi mmap buffer.
10345
723f63f2
VS
103462011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
10349 wrong action on non-detecting the magic.
10350
68797f92
VS
103512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
10354 already supplied by another part of the module (fixes compilation on
10355 FreeBSD).
10356
6be8715d
VS
103572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
10360 match the one used by mdadm.
10361
e91dba5b
CW
103622011-04-21 Colin Watson <cjwatson@ubuntu.com>
10363
10364 * po/README: Add instructions for creating po/LINGUAS.
10365
c85140b3
CW
103662011-04-21 Colin Watson <cjwatson@ubuntu.com>
10367
10368 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
10369 #551428.
10370
10371 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
10372 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
10373 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
10374 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
10375 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
10376 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
10377 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
10378 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
10379 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
10380 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
10381 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
10382 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
10383 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
10384 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
10385 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
10386 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
10387 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
10388 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
10389 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
10390 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
10391 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
10392 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
10393
92051871
CW
103942011-04-21 Colin Watson <cjwatson@ubuntu.com>
10395
10396 * grub-core/kern/emu/getroot.c
10397 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
10398 test that was incorrectly reintroduced in r3214.
10399 Reported by: Ian Dall. Fixes Savannah bug #33133.
10400
b13f79a4
CW
104012011-04-21 Colin Watson <cjwatson@ubuntu.com>
10402
10403 Fix stack pointer handling in 16-bit relocator.
10404
10405 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
10406 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
10407 Fixes Ubuntu bug #683904.
10408
9b710a88
VS
104092011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * configure.ac: Bump version to 1.99~rc2.
10412
d97e7b59
VS
104132011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
10416 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
10417 * grub-core/lib/x86_64/setjmp.S: Likewise.
10418 * grub-core/lib/mips/setjmp.S: Likewise.
10419 * grub-core/lib/powerpc/setjmp.S: Likewise.
10420 * grub-core/lib/sparc64/setjmp.S: Likewise.
10421
0624551c
VS
104222011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
10425 * grub-core/lib/efi/datetime.c: Likewise.
10426
e8f28d4c
VS
104272011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
10430 New function.
10431 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
10432 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
10433 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
10434
bba79a15
VS
104352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
10438 bitmap.
10439 (grub_gfxterm_term_init): Likewise.
10440
abc474ef
VS
104412011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 Take into account the decorations the computing menu entry width.
10444
10445 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
10446 (grub_gfxmenu_create_box): Register get_border_width.
10447 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
10448 if available.
10449 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
10450 get_border_width.
10451
e74b3947
EP
104522011-04-18 Endres Puschner <code@e7p.de>
10453
10454 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
10455 Don't skip first class.
10456
34faa595
VS
104572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
10460 chunks.
10461 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
10462
93a777e3
VS
104632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 Complete 64-bit division support.
10466
10467 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
10468 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
10469 * include/grub/misc.h (grub_divmod64): Rename to ...
10470 (grub_divmod64_full): ... this.
10471 (grub_divmod64): New inline function.
10472
a5102d94
VS
104732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * util/grub-mkimage.c (generate_image): Add forgotten comma.
10476
f3fb7b36
VS
104772011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
10480 performing the necessary test.
10481
9ac718b0
VS
104822011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
10485 (kfreebsd.elf): Likewise.
10486 (pc-chainloader.elf): Likewise.
10487 (ntldr.elf): Likewise.
10488
50d2cc5a
VS
104892011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 Identify RAID by its UUID rather than (guessed) name.
10492
10493 * grub-core/disk/raid.c (ascii2hex): New function.
10494 (grub_raid_open): Accept mduuid/%s specification.
10495 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
10496 (get_mdadm_uuid): ... this.
10497 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
10498
e03f7bea
VS
104992011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
10502 to negative size.
10503
e74c3112
CW
105042011-04-13 Colin Watson <cjwatson@ubuntu.com>
10505
10506 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
10507 btrfs subvolume.
10508 * util/grub.d/20_linux_xen.in: Likewise.
10509
78fa584f
CW
105102011-04-13 Colin Watson <cjwatson@ubuntu.com>
10511
10512 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
10513 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
10514
10515 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10516 Build a list of relevant visible mounts using the mnt_id and
10517 parent_mnt_id fields, and then scan that list at the end.
10518
9d5f8162
CW
105192011-04-12 Colin Watson <cjwatson@ubuntu.com>
10520
10521 * docs/grub.texi (normal): New section.
10522 (normal_exit): New section.
10523 (Embedded configuration): Add reference to normal.
10524 (GRUB only offers a rescue shell): Likewise.
10525 * docs/grub-dev.texi (Error Handling): Fix typo.
10526
09a9d66f
CW
105272011-04-12 Colin Watson <cjwatson@ubuntu.com>
10528
10529 * NEWS: Drop obsolete entry about probe-only btrfs support.
10530
0c676933
CW
105312011-04-12 Colin Watson <cjwatson@ubuntu.com>
10532
10533 * util/import_gcry.py: Fix typo.
10534
ec9f5e0d
VS
105352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * NEWS: Add btrfs support.
10538
fe6b2cba
VS
105392011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
105402011-04-11 Colin Watson <cjwatson@ubuntu.com>
10541
10542 BtrFS support. Written by me (Vladimir) with important bugfixes and
10543 even more important testing by Colin.
10544
10545 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
10546 * grub-core/Makefile.core.def (btrfs): Add crc.c.
10547 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
10548 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
10549 mem_input_off and mem_input. All users updated to accept in-RAM input.
10550 (gzio_seek): New function.
10551 (test_zlib_header): Likewise.
10552 (grub_gzio_read): Likewise.
10553 (grub_zlib_decompress): Likewise.
10554 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
10555 Accept partial and non-virtual mounts.
10556 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
10557 avoid receiving /dev/dm-X as device.
10558 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
10559 Handle bind and partial mounts.
10560 * grub-core/lib/crc.c: New file.
10561 * include/grub/deflate.h: Likewise.
10562 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
10563 proto.
10564 * include/grub/lib/crc.h: New file.
10565
e745cf0c
VS
105662011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 Implement automatic module license checking according to new GNU
10569 guidelines.
10570
10571 * grub-core/kern/dl.c (grub_dl_check_license): New function.
10572 (grub_dl_load_core): Use grub_dl_check_license.
10573 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
10574 (GRUB_MOD_LICENSE): Likewise.
10575 (GRUB_MOD_DUAL_LICENSE): Likewise.
10576 All modules updated.
10577
2a9bc016
CW
105782011-04-11 Colin Watson <cjwatson@ubuntu.com>
10579
10580 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
10581 reserved_first_sector to 1. btrfs reserves plenty of space for boot
10582 loaders.
10583 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
10584
8a3bc88e
VS
105852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
10588
af869a4a
VS
105892011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * util/grub-fstest.c (read_file): Report GRUB error if file opening
10592 failed.
10593
9ee8d94f
VS
105942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * grub-core/kern/file.c (grub_file_open): Don't take into account the
10597 parenthesis in the middle of the filename.
10598
b01abe3e
VS
105992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
10602 rather than trying to put initrd way too high.
10603 Reported by: Ryan Lortie <desrt@desrt.ca>
10604
335bda1e
VS
106052011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
10608 improperly removed string.
10609
5ca1a64d
VS
106102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
10613 is_disk.
10614 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
10615 (open_device) Likewise.
10616 (grub_util_biosdisk_close): Likewise.
d8ce9995 10617 Reported by: Mark Korenberg.
5ca1a64d 10618
cbac5b1e
AK
106192011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
10620
10621 * util/grub-mkconfig_lib.in: Add missing quotes.
10622
088cdb65
CW
106232011-04-10 Colin Watson <cjwatson@ubuntu.com>
10624
10625 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10626 is NULL.
10627
8b8a81fa
VS
106282011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 Dynamically count the number of lines for the lower banner.
10631
10632 * grub-core/normal/menu_entry.c (per_term_screen): New member
10633 num_entries.
10634 (print_down): Use num_entries.
10635 (update_screen): Likewise.
10636 (grub_menu_entry_run): Set num_entries.
10637 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10638 num_entries.
10639 (grub_print_message_indented): Move real part to ...
10640 (grub_print_message_indented_real): ... here. Additional argument
10641 dry_run.
10642 (draw_border): Additional argument num_entries.
10643 (print_message): Additional argument dry_run.
10644 (print_entries): Receive menu viewer data.
10645 (grub_menu_init_page): New argment num_entries.
10646 (menu_text_set_chosen_entry): Use num_entries.
10647 (grub_menu_try_text): Likewise.
10648 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10649 All users updated.
10650 (grub_ucs4_count_lines): New function.
10651 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10652 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10653 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10654 (grub_term_border_height): Likewise.
10655 (grub_term_num_entries): Likewise.
10656
277f955b
VS
106572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10660 Remove now unused string.
10661
536ce85a
CW
106622011-04-09 Colin Watson <cjwatson@ubuntu.com>
10663
10664 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10665 build system.
10666 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10667
10668 (Comment): Fix typo.
10669 (Getting started): General copy-editing.
10670 (Typical Development Experience): Likewise.
10671 (Error Handling): Likewise.
10672 (Video API): Likewise.
10673
2cf09e32
CW
106742011-04-09 Colin Watson <cjwatson@ubuntu.com>
10675
10676 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10677 throughout.
10678
1ec652f4
VS
106792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10682 directory.
10683
2c583728
CW
106842011-04-08 Colin Watson <cjwatson@ubuntu.com>
10685
10686 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10687 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10688 "development".
10689
d7a565e9
VS
106902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10693 grub_strcpy since the lines aren't necessarily 0-terminated.
10694
7c2e4909
VS
106952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10698 root on legacy.
10699
34c09785
VS
107002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10703 (GRUB_MOD_INIT): DEVICE isn't optional.
10704
6a6f8058
VS
107052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10708 word on new line if it's too long anyway. Fixes a hang.
10709
2e335e90
VS
107102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10713 const.
10714 * util/grub-setup.c (main): Reuse md device name if available.
10715 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10716 not GRUB name as argument.
10717 Based on patch by: Florian Wagner <fwagner>.
10718
10a7a867
VS
107192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10722 Place mbi on low memory for better compatibility.
10723
7a3d6cd9
VS
107242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10727
18dd6b47
VS
107282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
107292011-04-08 Colin Watson <cjwatson@ubuntu.com>
10730
10731 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10732 * conf/Makefile.common: Likewise.
18dd6b47 10733
3c0e3f14
VS
107342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10735
f7148863
VS
10736 * grub-core/normal/menu.c: Add missing include.
10737
107382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10741
6d1fa41f
MZ
107422011-04-08 Martin Zuther <mzuther@mzuther.de>
10743
10744 * util/grub-mkconfig.in: Ignore emacsen backup.
10745
478182a8
VS
107462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10749 on open.
10750 (grub_util_biosdisk_close): Likewise.
10751
72a89a54
VS
107522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10755 const attribute and use grub_isdigit.
10756
b5ebecfa
A
107572011-04-06 Andrey <dev_null@ukr.net>
10758
10759 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10760 gcc warning.
10761
7755f66e
VS
107622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10765 useful grub_dprintf's.
10766
461121ff
VS
107672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10770
2a961775
VS
107712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10774
adf594cc
VS
107752011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 Output errors if theme loading failed.
10778
10779 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10780 grub_gfxterm_fullscreen on error paths to ...
10781 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10782 theme loading error.
10783
665900a3
VS
107842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10787 space for older compilers.
10788 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10789
a562b479
VS
107902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10793 and report them as not RAID members since they are useless for GRUB.
10794 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10795
850e9373
VS
107962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 Increase LVM implementation robustness in order not to crash on
10799 configurations like pvmove. Previously code assumed that in some places
10800 only lvs or only pvs are used whereas it seems that they are used
10801 interchangeably.
10802
10803 * grub-core/disk/lvm.c (read_node): New function.
10804 (read_lv): Use read_node.
10805 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10806 Match volumes only at the end when all lvs are found. Take both
10807 pvs (first) and lvs (second) into account.
10808 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10809 mirror_* into node_*. All users updated.
10810 (grub_lvm_stripe): Merge this ...
10811 (grub_lvm_mirror): ... and this ...
10812 (grub_lvm_node): ... into this. All users updated.
10813
6f332153
VS
108142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10817 of function to allow further scanning for LVMs.
10818
829ea451
VS
108192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10822 on failed seek as it breaks open fd reusage.
10823
09ceb9a5
VS
108242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * util/grub-install.in: Add a recommendation to use --recheck before
10827 reporting bugs.
10828
67e11623
VS
108292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10832 are obtained.
10833
caee5efd
VS
108342011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 GRUB developper manual based on existing Internals section and
10837 contributions by the various authors with active copyright assignment.
10838
10839 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10840 * docs/font_char_metrics.png: New file.
10841 * docs/font_char_metrics.txt: Likewise.
10842 * docs/grub-dev.texi: Likewise.
10843 * docs/grub.texi (Internals): Move from here ...
10844 * docs/grub-dev.texi: ... here.
10845
2cccc747
CW
108462011-04-01 Colin Watson <cjwatson@ubuntu.com>
10847
10848 Store the loopback device as data on loopback grub_disk structures,
10849 rather than the file it points to. This fixes use of freed memory
10850 if an existing loopback device is replaced.
10851
10852 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10853 disk->data, not dev->file.
10854 (grub_loopback_read): Adjust file assignment to match.
10855 Fixes Ubuntu bug #742967.
10856
186ae367
CW
108572011-04-01 Colin Watson <cjwatson@ubuntu.com>
10858
10859 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10860 when replacing an existing device.
10861
cfed2ad0
VS
108622011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10865 memory corruptions.
10866
10867 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10868 unsigned.
10869 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10870 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10871 (grub_jfs_read_inode): Likewise.
10872 (grub_jfs_opendir): Likewise. Remove now useless casts.
10873 (grub_jfs_getent): Likewise.
10874 Make ino a grub_uint32_t rather than int.
10875 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10876 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10877 division and module with bit operations.
10878 (grub_jfs_find_file): Make ino a grub_uint32_t.
10879 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10880
05d2ed32
CW
108812011-04-01 Colin Watson <cjwatson@ubuntu.com>
10882
10883 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10884 warning. (This was in fact always initialised before use, but GCC
10885 wasn't smart enough to prove that.)
10886 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10887
91dc6073
VS
108882011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10891 stack alignment.
10892 (efi_wrap_1): Likewise.
10893 (efi_wrap_2): Likewise.
10894 (efi_wrap_3): Likewise.
10895 (efi_wrap_4): Likewise.
10896 (efi_wrap_5): Likewise.
10897 (efi_wrap_6): Likewise.
10898 (efi_wrap_10): Likewise.
10899 Based on information by: Red Hat/Peter Jones.
10900
a8afc1d1
CW
109012011-03-31 Colin Watson <cjwatson@ubuntu.com>
10902
10903 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10904 set-but-not-used variable.
10905
a826cc7d
CW
109062011-03-31 Colin Watson <cjwatson@ubuntu.com>
10907
10908 * docs/grub.texi (Simple configuration): Be more explicit about
10909 GRUB_DEFAULT, and add an example.
10910 Reported by: Leslie Rhorer.
10911
875b67ba
CW
109122011-03-30 Colin Watson <cjwatson@ubuntu.com>
10913
10914 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10915 shell".
10916
fd7cd914
AS
109172011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10918
10919 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10920 * util/grub.d/20_linux_xen.in: Likewise.
10921
090b1b6a
VS
109222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * util/grub.d/10_linux.in: Try alternative config filenames where
10925 we parse config file.
10926 * util/grub.d/20_linux_xen.in: Likewise.
10927
baad885c
AS
109282011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10929
10930 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10931 * util/grub.d/20_linux_xen.in: Likewise.
10932
241e41f5
VS
109332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/disk/raid.c (insert_array): Add few potentially
10936 useful grub_util_info.
10937 (grub_raid_register): Likewise.
10938
56445fb2
VS
109392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10942 Preserve partition number in mdadm code path.
10943
c871b1c6
VS
109442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10947 few potentially useful grub_util_info.
10948
5e631b4f
CW
109492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10952
2d5d0333
CW
109532011-03-30 Colin Watson <cjwatson@ubuntu.com>
10954
10955 * docs/grub.texi (default): Use @example rather than nested
10956 itemized lists to avoid breaking gendocs.
10957
3d7ed04e
CW
109582011-03-30 Colin Watson <cjwatson@ubuntu.com>
10959
10960 * docs/grub.texi (Future): Update.
10961
abf04200 109622011-03-30 Colin Watson <cjwatson@ubuntu.com>
10963
10964 * docs/grub.texi (Environment): New chapter.
10965 (Changes from GRUB Legacy): Link to "Environment block" section for
10966 details of limitations.
10967 (Simple configuration): Likewise. Link to documentation of gfxmode
10968 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10969 respectively.
10970 (Shell-like scripting): Note that normal variables are stored in the
10971 environment.
10972 (gettext): Link to documentation of lang and locale_dir.
10973 (list_env): New section.
10974 (load_env): New section.
10975 (save_env): New section.
10976
10977 (Reporting bugs): Fix typo.
10978
e1ad0edd
VS
109792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10982 the example.
10983
5d803174
VS
109842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/term/at_keyboard.c (set_scancodes)
10987 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10988
2a2da1d0
CW
109892011-03-30 Colin Watson <cjwatson@ubuntu.com>
10990
10991 * docs/grub.texi (Menu-specific commands): Remove some semantics
10992 that were true in GRUB Legacy but not in GRUB 2.
10993 (submenu): New section.
10994 (false): New section.
10995 (read): New section.
10996 (true): New section.
10997
a7527639
CW
109982011-03-30 Colin Watson <cjwatson@ubuntu.com>
10999
11000 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11001
110022011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11003
11004 * docs/grub.texi (Simple configuration): Explain some of the
11005 current limitations of grub-mkconfig.
8a748df2 11006 Reported by: Leslie Rhorer.
e30af029 11007
fc858482
VS
110082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 Old macs search for boot.efi rather than for bootia32.efi.
11011
11012 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11013 * util/grub-mkrescue.in: Likewise.
11014 Suggested by: Peter Jones.
11015
e1eb511d
VS
110162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11019
70e75364
VS
110202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11023 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11024 (grub_lvm_mirror): New struct.
11025 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11026 (grub_lvm_iterate): Iterate only visible volumes.
11027 (grub_lvm_read): Factor out to ..
11028 (read_lv): ... this. Support mirrors.
11029 (grub_lvm_read): New wrapper function.
11030 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11031 stripped or mirrored.
11032
fc18f6a3
VS
110332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11036
5c650f4c
CW
110372011-03-29 Colin Watson <cjwatson@ubuntu.com>
11038
11039 * docs/grub.texi (loopback): New section.
11040
61d7156b
CW
110412011-03-29 Colin Watson <cjwatson@ubuntu.com>
11042
11043 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11044 removed -p option.
11045
994b8264
CW
110462011-03-29 Colin Watson <cjwatson@ubuntu.com>
11047
11048 * docs/grub.texi (BIOS installation): New section, partly based on
11049 previous text in other sections.
11050 (Installing GRUB using grub-install): Replace BIOS discussion with a
11051 cross-reference.
11052 (Images): Likewise.
11053
9e4d19e0
VS
110542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11057 [HAVE_DIOCGDINFO]: Add safety checks.
11058
a307c0b2
VS
110592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11062 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11063
b4db4f39
CW
110642011-03-29 Colin Watson <cjwatson@ubuntu.com>
11065
11066 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11067 real_sb->size is zero (e.g. RAID-0), get the disk size from
11068 real_sb->data_size instead.
11069 Fixes Ubuntu bug #743136.
11070
35e5f84c
VS
110712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11074 printf clauses for printing size and start.
11075
d2e29d81
VS
110762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11079 Reported and tested by: Timothy Nikkel.
11080
ed5587af
VS
110812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11084 (dirty_region_add_real): ... this.
11085 (dirty_region_add): Don't discard margin refresh when performing
11086 scheduled repaint.
11087
a1dc717c
VS
110882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/lib/relocator.c (allocate_regstart)
11091 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11092 terminals are capabple of malloc-free operation.
11093 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11094 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11095
9f3677d3
VS
110962011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11097
11098 * util/grub-setup.c: Copy the partition table zone if floppy support
11099 is disabled, even if no partition table is found.
11100
11101 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11102 during POST if an invalid partition table is contained in the PBR
11103 of the active partition when GRUB is installed to a partition.
11104
24148725
CW
111052011-03-28 Colin Watson <cjwatson@debian.org>
11106
11107 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11108 comment.
11109
f329eda7
CW
111102011-03-28 Colin Watson <cjwatson@debian.org>
11111
11112 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11113 to be specific about what kind of RAID device we're scanning for.
11114
c482ad98
SG
111152011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11116
11117 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11118 return freed string.
11119
5ee04984
VS
111202011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11123
f4727da9
VS
111242011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 Use libgeom on FreeBSD to detect partitions.
11127
11128 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11129 (grub-mkrelpath): Likewise.
11130 (grub-script-check): Likewise.
11131 (grub-editenv): Likewise.
11132 (grub-mkpasswd-pbkdf2): Likewise.
11133 (grub-fstest): Likewise.
11134 (grub-mkfont): Likewise.
11135 (grub-mkdevicemap): Likewise.
11136 (grub-probe): Likewise.
11137 (grub-setup): Likewise.
11138 (grub-ofpathname): Likewise.
11139 (grub-mklayout): Likewise.
11140 (example_unit_test): Likewise.
11141 (grub-menulst2cfg): Likewise.
11142 * grub-core/Makefile.core.def (grub-emu): Likewise.
11143 (grub-emu-lite): Likewise.
11144 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11145 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11146 define HAVE_DIOCGDINFO.
11147 (follow_geom_up) [FreeBSD]: New function.
11148 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11149 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11150 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11151 unconditionally of HAVE_DIOCGDINFO.
11152
82fe6c75
VS
111532011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 Fix FreeBSD compilation problem.
11156
11157 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11158 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11159
4c6c9431
CW
111602011-03-24 Colin Watson <cjwatson@ubuntu.com>
11161
11162 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11163 Switch back to page zero before loading a kernel, since some kernel
11164 drivers expect that.
11165 Thanks to: Felix Kuehling.
11166
c7064d94
VS
111672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11170 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11171 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11172
3f71cded
VS
111732011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11176 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
11177
ef6de21a
VS
111782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11181 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11182 malloc is disabled.
11183
8bc66a2c
VS
111842011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11187 for modules headers when counting the needed allocation size.
11188
5657722c
VS
111892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11192 if no ASCII character is found to prevent crash.
11193
41a85f55
AK
111942011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11195
11196 * grub-core/video/bitmap.c (match_extension): Ignore case.
11197
59e1e5f1
VS
111982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11201
bd4d051a
VS
112022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * grub-core/script/parser.y: Declare "time" as valid argument.
11205
bae7fcc1
PJ
112062011-03-23 Peter Jones <pjones@redhat.com>
11207
11208 Fix incorrect assert failure reporting.
11209
11210 * grub-core/tests/example_functional_test.c (example_test): Add
11211 a failure comment.
11212 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11213 (failure_start): ...this. Check that malloc succeeded.
11214 Don't call xvasprintf. Return failure struct.
11215 (failure_append_vtext): New function.
11216 (failure_append_text): Likewise.
11217 (add_failure): Likewise.
11218 (grub_test_assert_helper): Likewise.
11219 * include/grub/test.h (grub_test_assert_helper): New declaration.
11220 (grub_test_assert): Macro rewritten.
11221
537dc9be
VS
112222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11225
fa3e01bf
VS
112262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11229
b1d28404
VS
112302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11233 into GRUB-style one.
11234
2e3e2e09
VS
112352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11238 error and not grub_errno.
11239 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11240
ed57e557
VS
112412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11244 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11245
d1611f01
VS
112462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/efiemu/i386/pc/cfgtables.c
11249 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11250 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11251 (grub_xnu_unlock): Likewise.
11252 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11253
7d4e39d6
VS
112542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
11257 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
11258 * grub-core/commands/hashsum.c (aliases): Likewise.
11259 * grub-core/commands/setpci.c (pci_registers): Likewise.
11260 * grub-core/disk/usbms.c (attach_hook): Likewise.
11261 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
11262 (zio_checksum_table): Likewise.
11263 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
11264 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
11265 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
11266 * grub-core/lib/relocator.c (leftovers): Likewise.
11267 (extra_blocks): Likewise.
11268 * grub-core/loader/i386/bsd.c (relocator): Likewise.
11269 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
11270 (modules_last): Likewise.
11271 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
11272 (devices): Likewise.
11273 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
11274 (modules_last): Likewise.
11275 * grub-core/normal/auth.c (users): Likewise.
11276 * grub-core/normal/context.c (initial_menu): Likewise.
11277 (current_menu): Likewise.
11278 * grub-core/normal/crypto.c (crypto_specs): Likewise.
11279 * grub-core/term/serial.c (grub_serial_ports): Likewise.
11280 (grub_serial_terminfo_input_template): Likewise.
11281 (grub_serial_terminfo_output_template): Likewise.
11282 (grub_serial_terminfo_input): Likewise.
11283 (grub_serial_terminfo_output): Likewise.
11284 (registered): Likewise.
11285 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
11286
40fc4659
VS
112872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
11290 grub_video_mode_type_t.
11291 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
11292 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
11293 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
11294
2da48d28
VS
112952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * util/grub-install.in: Correct the x86-64 name as x86_64.
11298
9b43bf39
CW
112992011-03-11 Colin Watson <cjwatson@ubuntu.com>
11300
11301 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
11302 initial chunk read from the kernel always includes GRUB's multiboot
11303 header, which is now outside the first sector.
11304
be1a7ce0
CW
113052011-03-09 Colin Watson <cjwatson@ubuntu.com>
11306
11307 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
11308 cached mmap_size, so that this works correctly when called multiple
11309 times.
11310 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
11311
83a3c48d
CW
113122011-03-09 Colin Watson <cjwatson@ubuntu.com>
11313
11314 * docs/grub.texi (Simple configuration): Tidy up formatting.
11315
57d75699
SJ
113162011-03-07 Szymon Janc <szymon@janc.net.pl>
11317
11318 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
11319 Set-but-not-used variable removed.
11320
028501a0
VS
113212011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 Workaround yet another IEEE1275 bug.
11324
11325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
11326 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
11327 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
11328 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
11329 is set.
11330 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11331 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
11332
d998657d
VS
113332011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
11336 error.
11337
fee7cdd4
CW
113382011-02-11 Colin Watson <cjwatson@ubuntu.com>
11339
11340 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
11341 empty, since in that case we can only generate either nothing or a
11342 syntactically invalid configuration file.
11343 Reported by: Michal Suchanek. Fixes Debian bug #612898.
11344
97286eb5
CW
113452011-02-09 Colin Watson <cjwatson@ubuntu.com>
11346
11347 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
11348 (Making a GRUB bootable CD-ROM): Likewise.
11349 (Invoking grub-mkrescue): New section.
11350 Reported by: Yann Dirson. Fixes Debian bug #612585.
11351
22b28eb3
CW
113522011-02-09 Colin Watson <cjwatson@ubuntu.com>
11353
11354 * util/grub-install.in: Remove unnecessary brackets from tr
11355 arguments.
11356 * util/grub.d/10_hurd.in: Likewise.
11357 * util/grub.d/10_kfreebsd.in: Likewise.
11358 * util/grub.d/10_linux.in: Likewise.
11359 * util/grub.d/20_linux_xen.in: Likewise.
11360 Reported by: Jamie Heilman. Fixes Debian bug #612564.
11361
7e735e43
CW
113622011-02-08 Colin Watson <cjwatson@ubuntu.com>
11363
11364 * include/grub/file.h (not_easly_seekable): Rename to ...
11365 (not_easily_seekable): ... this. Update all users.
11366
800f1881
CW
113672011-01-28 Colin Watson <cjwatson@ubuntu.com>
11368
11369 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
11370 grub-mkrescue.
11371
3281d3d6
VS
113722011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * util/grub-mkimage.c (generate_image): Refuse to create the images
11375 bigger than the actual flash (512K) in Loongson machines. 512K is also
11376 the biggest chip supported by them.
11377
3533413c
VS
113782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
11381
73ae4f4f
VS
113822011-01-22 Anthony DeRobertis <anthony@derobert.net>
11383
11384 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
11385 super_offset field.
11386
37f4f608
VS
113872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * util/grub-install.in: Ignore install device on platforms
11390 where it doesn't make sense. Always use UUIDs except on pc, efi and
11391 sparc64.
11392 Reported by: Daniel Kahn Gillmor.
11393
03a4ccb5
VS
113942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
11397
ffc8f4d8
VS
113982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
11401 (iterate_real): Don't rely on partition being non-NULL.
11402
80f23be7
VS
114032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11404
11405 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
11406 supported platforms. Put a compile time assert for this rather than
11407 generate a warning with 32-bit shift.
11408
5d4f4dd5
VS
114092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
11412 logical expression more readable.
11413
e489601a
VS
114142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
11417 even if some elements have a name.
11418 Reported by: Alexander GQ Gerasiov.
11419
96e0a6ea
CW
114202011-01-22 Colin Watson <cjwatson@ubuntu.com>
11421
11422 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
11423 path unreadable if `grub-probe -t abstraction' fails, for example if
11424 memberlist fails on an LVM volume group.
11425 Reported by: Darius Jahandarie.
11426
81431e2b
CW
114272011-01-22 Colin Watson <cjwatson@ubuntu.com>
11428
11429 * docs/grub.texi (Simple configuration): Document
11430 GRUB_PRELOAD_MODULES.
11431
5e79d66a
CW
114322011-01-17 Colin Watson <cjwatson@ubuntu.com>
11433
11434 * .bzrignore: Remove nonexistent grub-pbkdf2.
11435
646ada34
VS
114362011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * configure.ac: Bump version to 1.99~rc1.
11439
04360337
VS
114402011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
11443 for safety.
11444
46c9db88
VS
114452011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
11448 module.
11449
114502011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
11451
11452 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
11453
4fbf1852
VS
114542011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11455
11456 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
11457 diskdevid.
11458
f1632d4d
VS
114592011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 Fix compilation on cygwin.
11462
11463 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
11464 -R .drectve on cygwin.
11465 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
11466 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
11467 (COND_CYGWIN): New condition.
11468 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
11469 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
11470 not @TARGET_OBJ2ELF@.
11471 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
11472 type to determine whether aux is to be used.
11473
0b5e127b
VS
114742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
11477 realpath'ed device string.
11478 Handle floppy (somewhat).
11479 Issue error in unknown case rather than garbage.
11480 Reported by: Axel Beckert.
11481
173b71e9
VS
114822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * util/grub.d/00_header.in (load_video): Handle the case when no video
11485 drivers available.
11486 Thanks to: Axel Beckert.
11487
f8f479db
VS
114882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
11491 variable. Fixes problem on big endian platforms.
11492
8fc0a245
VS
114932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
11496 It doesn't work well there.
11497
b8494fbe
VS
114982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
11501 warning.
11502 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
11503 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
11504 counter.
11505
b44a558c
VS
115062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 Use alias->path rather than buggy "canon".
11509
11510 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
11511 (ofdisk_hash_add): New argument curcan. All users updated.
11512
51fa856c
CW
115132011-01-11 Colin Watson <cjwatson@ubuntu.com>
11514
11515 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
11516
9da068a5
VS
115172011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
11520 loadmask before doing any calculations. Use correct type for offset.
11521 (grub_linux_load64): Likewise.
11522
86205c94
CW
115232011-01-11 Colin Watson <cjwatson@ubuntu.com>
11524
11525 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
11526 with NULL.
11527 (console_grub_equivalences_unshift): Likewise.
11528 Reported by: Daniel Dehennin.
11529
4531a206
VS
115302011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
11533 (set_env_limn_ro): Likewise.
11534 (GRUB_MOD_INIT): Likewise.
11535 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
11536 ARRAY_SIZE while on it.
11537 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
11538 * grub-core/normal/context.c (grub_env_export): Move from here ...
11539 * grub-core/kern/env.c (grub_env_export): ... here.
11540 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
11541 prefix.
11542 * grub-core/kern/main.c (grub_main): Export root and prefix.
11543 * include/grub/env.h (grub_env_export): Export.
11544 Reported by: Seth Goldberg.
11545
45146057
VS
115462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11549 Take into account space used by ELF sections and multiboot palette.
11550 Reported by: Grégoire Sutre.
11551
f093110b
VS
115522011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * BUGS: New file.
11555
3395fe52
VS
115562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 Pass more appropriate video id to Linux.
11559
11560 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
11561 grub_video_get_driver_id and variable gfxpayloadforcelfb to
11562 fill have_vga.
11563 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
11564 shift params->lfb_size.
11565 * include/grub/i386/linux.h: Make an enume out of have_vga values.
11566
c2fa6cbb
VS
115672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 * util/grub-menulst2cfg.c: Add missing include of misc.h.
11570
b3ff6ff0
VS
115712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11572
11573 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
11574 separator and pass bootpath/devid even if only one of them is available.
11575 Reported by: Seth Goldberg.
11576
ae67942e
VS
115772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
11580 implementations bug on them.
11581
11582 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
11583 memory.
11584 (filter_memory_map): Likewise.
11585
d570097a
VS
115862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
11589 Reported by: nebuchadnezzar.
11590
a508e776
VS
115912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
11594 Reported by: nebuchadnezzar.
11595
dcb883b1
VS
115962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 Submenu default support.
11599
11600 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
11601 auto_boot. All users updated.
11602 Declared static.
11603 Handle chosen and default with submenus.
11604 (grub_menu_execute_with_fallback): Declared static.
11605 Don't notify failure if autobooted. Upper level does it.
11606 (menuentry_eq): New function.
11607 (get_entry_number): Use menuentry_eq.
11608 (show_menu): New parameter "autobooted". All users updated.
11609 (grub_show_menu): Likewise.
11610 * include/grub/normal.h (grub_show_menu): Likewise.
11611 * include/grub/menu.h (grub_menu_execute_entry): Removed.
11612 (grub_menu_execute_with_fallback): Likewise.
11613
6fef99b4
VS
116142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * util/grub-mklayout.c (usage): Update help text.
11617
47a77af5
VS
116182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
11621
ce6bb3ee
VS
116222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * util/grub-menulst2cfg.c (main): Trim the line.
11625
db87be2a
VS
116262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11629 (grub_machine_init): Don't check amount of low memory as reportedly
11630 INT 12h can be broken and if low memory is too low we wouldn't have
11631 gotten into grub_machine_init anyway.
11632
c49849cc
VS
116332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11636 (grub_machine_mmap_iterate): Take low memory into account
11637
b1969b30
VS
116382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11641 badfs.
11642 Reported by: TiCPU.
11643
cf0eaf13
VS
116442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11647 members errors.
11648
1f060f39
GS
116492011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11650
11651 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11652 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11653
a21e5672
GS
116542011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11655
11656 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11657 openbsd and netbsd types being in part_bsd module.
11658
c88172fa
VS
116592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11662 (_FILE_OFFSET_BITS): Likewise.
11663 Reported by: Seth Goldberg.
11664
53798c4b
GS
116652011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11666
11667 * configure.ac: Check for libdevmapper header.
11668
e7121b69
VS
116692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11672 avoid aliasing.
11673 (fzap_lookup): Likewise.
11674 (dnode_get): Likewise.
11675 (make_mdn): Likewise.
11676 (zfs_mount): Likewise.
11677 (fzap_iterate): Use temporary pointer to avoid aliasing.
11678 (grub_zfs_read): Likewise.
11679 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11680 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11681 pointers to avoid aliasing.
11682 (grub_cmd_xnu_kernel64): Likewise.
11683 (grub_xnu_load_driver): Likewise.
11684
fc836af9
VS
116852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11688 aliasing warning.
11689 (grub_cmd_terminal_output): Likewise.
11690 Reported and tested by: Grégoire Sutre.
11691
f9f37648
VS
116922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11695 warning.
11696 Reported and tested by: Grégoire Sutre.
11697
ec1dfd63
VS
116982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * configure.ac: Do CPU substitution even if it's specified explicitly.
11701 Reported and tested by: Alain Greppin.
11702
9462775a
VS
117032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11706 Reported and tested by: Alain Greppin.
11707
0fd48e35
VS
117082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 Satisfy some bison versions need for inttypes.h.
11711
11712 * grub-core/lib/posix_wrap/inttypes.h: New file.
11713 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11714 (int16_t): Likewise.
11715 (int32_t): Likewise.
11716 (int64_t): Likewise.
11717 Reported and tested by: Alain Greppin.
11718
43f1bc83
VS
117192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11722 Silence spurious warning.
11723 Reported and tested by: Alain Greppin.
11724
64d1f041
SJ
117252011-01-07 Szymon Janc <szymon@janc.net.pl>
11726
11727 * docs/grub.texi (Support automatic decompression): Update with xz
11728 decompression support.
11729
25953e10
SJ
117302011-01-07 Szymon Janc <szymon@janc.net.pl>
11731
11732 Improve loaders' kernel command line handling.
11733
11734 * grub-core/lib/cmdline.c: New file.
11735 * include/grub/lib/cmdline.h: Likewise.
11736 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11737 grub_create_loader_cmdline to create kernel command line.
11738 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11739 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11740 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11741 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11742 (linux): Add lib/cmdline.c on common.
11743
e72d259f
VS
117442011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11747 inopos might be unaligned.
11748
c0cf26da
VS
117492011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11752 endian transformations.
11753 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11754 Based on report by: Doug Nazar.
11755
0ca09e6c
DN
117562011-01-07 Doug Nazar <nazard.michi@gmail.com>
11757
11758 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11759 array->members[i].start_sector.
11760 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11761
014b6806
VS
117622011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11765 Reported and tested by: Grégoire Sutre.
11766
415502c2
CW
117672011-01-06 Colin Watson <cjwatson@ubuntu.com>
11768
11769 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11770 avoid causing test failures by clearing the screen.
11771
71b6a2b7
CW
117722011-01-06 Colin Watson <cjwatson@ubuntu.com>
11773
11774 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11775 Fix prefix check to handle the case where dir ends with a slash
11776 (most significantly, "/" itself).
11777 Reported by: Michael Vogt.
11778
b3f8d28a
VS
117792011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 Run terminfo_cls on initing terminfo output to clear the screen and
11782 move the cursor to (0,0).
11783
11784 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11785 Call grub_terminfo_output_init.
11786 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11787 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11788 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11789
4c3e4f37
VS
117902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11793 only when needed.
11794
488f71f1
VS
117952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11798 CTRL.
11799
18a38098
VS
118002011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 The E820 type 5 is BADRAM, not EXEC_CODE.
11803
11804 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11805 (GRUB_E820_BADRAM): New define.
11806 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11807 into reserved. Propagate BADRAM.
11808 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11809 (GRUB_E820_BADRAM): New define.
11810
9eae2084
VS
118112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11814 Ignore the memory post-4G.
11815 (grub_relocator_firmware_alloc_region): Additional debug statement.
11816
ebc71d28
VS
118172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11820 names.
11821 Reported by: David Pravec.
11822
446fa400
VS
118232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11826 BIOSes.
11827
a0159f37
VS
118282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11831 Prevent overflow.
11832 (grub_reed_solomon_recover): Likewise.
11833
e5146ca1
VS
118342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11837
118382011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11839
11840 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11841 variable.
11842
5b1bdf12
CW
118432011-01-04 Colin Watson <cjwatson@ubuntu.com>
11844
11845 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11846 descriptions of extract_legacy_entries_source and
11847 extract_legacy_entries_configfile.
11848 Reported by: Seung Soo, Ha.
11849
99d925aa
CW
118502011-01-03 Colin Watson <cjwatson@ubuntu.com>
11851
11852 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11853 on devices that do not implement function 0.
11854
4af0504b
DV
118552011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11856
11857 * grub-core/fs/hfsplus.c: Make parent unsigned.
11858 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11859 overflows.
11860 (grub_hfsplus_cmp_extkey): Likewise
11861
469ee10a
VS
118622011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * util/grub-install.in: Correctly use bootloader_id and not
11865 GRUB_DISTRIBUTOR on efibootmgr line.
11866
323a8e9c
VS
118672011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11870
1b394975
IC
118712010-12-31 Ian Campbell <ijc@hellion.org.uk>
11872
11873 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11874 Xen and reorder menu item wording to make it clearer that this entry
11875 will launch Xen. Print separate messages when loading Xen and
11876 Linux.
11877
275bff5f
VS
118782010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11881 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11882 loop in case of incorrect amiga partmap.
11883
307806cb
VS
118842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11887 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11888 Reported by:EHeM.
11889
b12b923e
VS
118902010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11893 spurious warning.
11894 Reported by: crocket
11895
14b48a19
VS
118962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11899 Preload EFIemu.
11900 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11901
693db2df
VS
119022010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11905 is loaded
11906 (grub_cmd_xnu_kextdir): Likewise.
11907 (grub_cmd_xnu_splash): Likewise.
11908
c7638645
VS
119092010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 Avoid using Reed-Solomon with 0 redundancy.
11912
11913 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11914 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11915 or 0 redundancy.
11916 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11917 (grub_reed_solomon_recover): Likewise.
11918
25dd4780
VS
119192010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 Don't use disk subsystem in freebsd_boot.
11922
11923 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11924 (freebsd_biosdev): Likewise.
11925 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11926 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11927
0b2db943
VS
119282010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 Handling of files of unknown size is currently limited. They can't be
11931 used e.g. for initrd or modules. Moreover gzip handling of not
11932 easily seekable files is buggy. Disable unknown file size for now. May
11933 be inefficient but works.
11934
11935 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11936 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11937
5c408d0f
MP
119382010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11939
11940 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11941 floppy probe.
11942
190a011a
JD
119432010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11944
11945 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11946
022d01b8
SL
119472010-12-25 Shea Levy <shlevy>
11948
11949 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11950
c4855fdc
VS
119512010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11954 Windows Server 2008.
11955 Reported by: Devin Giddings.
11956
0354b867
VS
119572010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11960 writing an error message because of async power management.
11961 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11962 (grub_reboot): Likewise.
11963
ab66c69f
JU
119642010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11965
11966 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11967 keep unit tests from failing when they shouldn't.
11968
1426ef35
CW
119692010-12-21 Colin Watson <cjwatson@ubuntu.com>
11970
11971 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11972 previous patch increased the size of the RS code by 20 bytes (at
11973 least with gcc-4.4), so increase this by 20 bytes to match.
11974 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11975
20641b6b
CW
119762010-12-21 Colin Watson <cjwatson@ubuntu.com>
11977
11978 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11979 scratch area. Make sure to initialise chosen in standalone mode as
11980 well as non-standalone.
11981 Reported by: Robert Hooker and Andy Whitcroft.
11982 Tested by: Andy Whitcroft.
11983
d060ad60
CW
119842010-12-21 Colin Watson <cjwatson@ubuntu.com>
11985
11986 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11987 constructing a new unescaped string and passing it to grub_xputs in
11988 one go, rather than passing characters to grub_printf one at a time.
11989
b889cfad
CW
119902010-12-21 Colin Watson <cjwatson@ubuntu.com>
11991
11992 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11993 initialising utf16.
11994
4e01b6c8
CW
119952010-12-21 Colin Watson <cjwatson@ubuntu.com>
11996
11997 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11998 comment. Add an extra layer of quotation, requiring the output of
11999 this function to be used in a printf format string.
12000 (gettext_printf): New function.
12001 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12002 Extract translatable strings from here-documents and use a temporary
12003 variable instead, so that xgettext can find them.
12004 * util/grub.d/10_kfreebsd.in: Likewise.
12005 * util/grub.d/10_linux.in: Likewise.
12006 * util/grub.d/20_linux_xen.in: Likewise.
12007
12008 * po/grub.d.sed: New file.
12009 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12010 arguments. Set c-format flags on all strings extracted from
12011 util/grub.d/ (xgettext refuses to include these itself for strings
12012 it extracted from a shell file, but these really are c-format).
12013
5318fe98
VS
120142010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12017 Avoid next pointing to nowhere.
12018
6c85b743
VS
120192010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12022 rather than assuming than rootblock is exactly in the middle.
12023 (grub_affs_label): Likewise.
12024
a2a08a35
VS
120252010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12028 reserved_first_sector to 0.
12029 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12030 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12031 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12032
7059d1ec
VS
120332010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 Fix handling of UTF-16 UDF labels.
12036
12037 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12038 (read_string): .. here.
12039 (grub_udf_label): Use read_string.
12040
30aff4cb
BC
120412010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12042
12043 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12044 editor under argument scope.
12045 Reported by: Jordan Uggla
12046
5cf86f4b
VS
120472010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12050
32570200
CW
120512010-12-18 Colin Watson <cjwatson@ubuntu.com>
12052
12053 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12054 line, and other keys scroll an entire page (previous handling was
12055 for \r and \n to scroll a page and other keys to scroll two lines).
12056
e1dffcf2
VS
120572010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12060 Set ptrdest to correct get_physical_target_address rather than
12061 incorrect get_virtual_current_address.
12062
b04298cf 120632010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12064
12065 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12066 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12067
5367ecd3
CW
120682010-12-10 Colin Watson <cjwatson@ubuntu.com>
12069
12070 * .bzrignore: Ignore grub-core/rs_decoder.S.
12071
1fb430f8
CW
120722010-12-10 Colin Watson <cjwatson@ubuntu.com>
12073
12074 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12075 .mo/.mo.gz opening sequence to ...
12076 (grub_mofile_open_lang): ... here.
12077 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12078 * util/grub.d/00_header.in (grub_lang): Include country part of
12079 locale.
12080 Reported by: Mario Limonciello.
12081
a94a6671
RM
120822010-12-09 Robert Millan <rmh@gnu.org>
12083
12084 * NEWS: Document addition of ZFS support.
12085
24b7938b
CW
120862010-12-04 Colin Watson <cjwatson@ubuntu.com>
12087
12088 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12089 rather than `/ 2', as the latter requires -Wa,--divide which would
12090 require bumping our minimum binutils version.
12091
bddc3ef6
BC
120922010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12093
12094 * util/grub-script-check.c (main): Print script line number on
12095 error.
12096
bf78d5b2
RM
120972010-12-01 Robert Millan <rmh@gnu.org>
12098
12099 * grub-core/fs/zfs/zfs.c: New file.
12100 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12101 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12102 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12103 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12104
12105 * include/grub/zfs/dmu.h: Likewise.
12106 * include/grub/zfs/dmu_objset.h: Likewise.
12107 * include/grub/zfs/dnode.h: Likewise.
12108 * include/grub/zfs/dsl_dataset.h: Likewise.
12109 * include/grub/zfs/dsl_dir.h: Likewise.
12110 * include/grub/zfs/sa_impl.h: Likewise.
12111 * include/grub/zfs/spa.h: Likewise.
12112 * include/grub/zfs/uberblock_impl.h: Likewise.
12113 * include/grub/zfs/vdev_impl.h: Likewise.
12114 * include/grub/zfs/zap_impl.h: Likewise.
12115 * include/grub/zfs/zap_leaf.h: Likewise.
12116 * include/grub/zfs/zfs.h: Likewise.
12117 * include/grub/zfs/zfs_acl.h: Likewise.
12118 * include/grub/zfs/zfs_znode.h: Likewise.
12119 * include/grub/zfs/zil.h: Likewise.
12120 * include/grub/zfs/zio.h: Likewise.
12121 * include/grub/zfs/zio_checksum.h: Likewise.
12122
12123 * Makefile.util.def: Build ZFS into libgrubmods.
12124 * grub-core/Makefile.core.def: Build zfs.mod.
12125
3f0f3831
SJ
121262010-11-30 Szymon Janc <szymon@janc.net.pl>
12127
12128 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12129 variable.
12130 * grub-core/commands/wildcard.c (match_files): Likewise.
12131
3a4253b2
RM
121322010-11-30 Robert Millan <rmh@gnu.org>
12133
12134 * grub-core/loader/i386/bsd.c
12135 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12136 whether kernel is loaded using grub_loader_is_loaded(), rather
12137 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12138 certain error conditions.
12139
8c317b27
RM
121402010-11-30 Robert Millan <rmh@gnu.org>
12141
c5c9cd3e
RM
12142 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12143 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 12144
49d3ab46
VS
121452010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 Avoid using tricks for initialising endian variables.
12148
12149 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12150 Make const.
12151 (GRUB_MOD_INIT): Don't byte-swap.
12152 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12153 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12154 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12155 (grub_swap_bytes32_compile_time): Likewise.
12156 (grub_cpu_to_le32_compile_time): Likewise.
12157 (grub_cpu_to_le16_compile_time): Likewise.
12158
f420a804
VS
121592010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * util/grub-setup.c (setup): Stop recommending --force. People who
12162 understand the dangers of blocklists are able to find this option
12163 anyway and the ones who don't shouldn't use it anyway.
12164
4e7db17b
RM
121652010-11-26 Robert Millan <rmh@gnu.org>
12166
12167 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12168 Update all users.
12169
9be57a0d
CW
121702010-11-26 Colin Watson <cjwatson@ubuntu.com>
12171
12172 Fix LVM-on-RAID probing.
12173
12174 * util/grub-probe.c (probe): Remember which disk was detected as
12175 RAID (perhaps an LVM physical volume). Use that disk's raidname
12176 rather than that of the top-level disk.
12177
2c7859b3 121782010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 12179
d7647bb6
BC
12180 Fix cmdline argument quotes for setparams command of menuentry
12181 definitions.
7e623b0d
BC
12182
12183 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12184 quotes for arguments.
f866fe80 12185 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 12186 grub_strchrsub function instead.
f866fe80 12187
7955bea0 12188 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 12189
74f72a64
CW
121902010-11-24 Colin Watson <cjwatson@ubuntu.com>
12191
12192 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12193 effort by skipping "." and ".." entries up-front.
12194 Suggested by: Michael Lazarev.
12195
5a407278
CW
121962010-11-24 Colin Watson <cjwatson@ubuntu.com>
12197
12198 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12199 ldflags to ldadd, to fix link line ordering.
12200 (none_decompress): Likewise.
12201
3030d8ec
CW
122022010-11-24 Colin Watson <cjwatson@ubuntu.com>
12203
12204 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12205 platforms.
12206 (grub-emu-lite): Remove kern/emu/cache.S.
12207
b7fbac12
CW
122082010-11-23 Colin Watson <cjwatson@ubuntu.com>
12209
12210 * util/deviceiter.c (compare_devices): If the by-id link for a
12211 device couldn't be resolved, fall back to sorting by the by-id link
12212 rather than segfaulting.
12213 Reported and tested by: Daniel Mierswa.
12214
5225f328
CW
122152010-11-23 Colin Watson <cjwatson@ubuntu.com>
12216
12217 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12218 ldflags, to fix link line ordering.
12219
038b3ce8
CW
122202010-11-23 Colin Watson <cjwatson@ubuntu.com>
12221
12222 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12223 linkers are picky about this.
12224
bf16e98e
CW
122252010-11-23 Colin Watson <cjwatson@ubuntu.com>
12226
12227 * grub-core/Makefile.am (command.lst): Adjust sed expression
12228 ordering so that extended and priority commands aren't treated as
12229 ordinary commands.
12230
7242bab6
CW
122312010-11-23 Colin Watson <cjwatson@ubuntu.com>
12232
12233 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12234 Remove byte-swapping function calls, which are not valid in
12235 structure initialisers.
12236 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12237 non-const.
12238 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12239 grub_gpt_partition_type_bios_boot.
12240
14e8b279
CW
122412010-11-22 Colin Watson <cjwatson@ubuntu.com>
12242
12243 Fix test program build on GNU/kFreeBSD.
12244
12245 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12246 $(LIBNVPAIR)' library dependencies.
12247
e6f63338 122482010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
12249
12250 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12251
cf8ffc38
CW
122522010-11-22 Colin Watson <cjwatson@ubuntu.com>
12253
12254 * util/grub-install.in: Remove excessive quoting that broke
12255 installations to RAID devices.
12256
7f8b0fd7
VS
122572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
12260 bootloader version instead of 0.
12261
dfd240b1
VS
122622010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
12265 warning.
12266
7b61e609
VS
122672010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
12270 retrieve the metadat sector if size isn't known.
12271 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12272
9dfe92d0
RM
122732010-11-18 Robert Millan <rmh@gnu.org>
12274
12275 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
12276 with grub_memcmp().
12277
41cc919e
VS
122782010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
12281 arrow.
12282 Reported by: Jordan Uggla.
12283
1afcc914
VS
122842010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 Make better UTF compliant.
12287
12288 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
12289 sequences as incorrect.
12290 (grub_is_valid_utf8): Likewise.
12291 (grub_utf8_to_ucs4): Likewise.
12292 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
12293 (grub_ucs4_to_utf8_alloc): Likewise.
12294 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
12295
f1808884
VS
122962010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 Make legacy_source behave like source.
12299
12300 * grub-core/commands/legacycfg.c (legacy_file): Don't call
12301 grub_show_menu.
12302 (grub_cmd_legacy_source): Call grub_show_menu if needed.
12303
24ec575b
CW
123042010-11-16 Colin Watson <cjwatson@debian.org>
12305
12306 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
12307 (-Wunused implies -Wunused-parameter, but not vice versa).
12308
72b7c7aa
CW
123092010-11-16 Colin Watson <cjwatson@ubuntu.com>
12310
12311 * configure.ac: Make error messages less confusing by testing for
12312 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
12313 accepted, but produces a diagnostic if something else is wrong).
12314
e98937aa
VS
123152010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
12318 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
12319 (now unused).
12320 (grub_keyboard_controller_init)
12321 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
12322 read the initial state since controller isn't inited yet.
12323
f6bbabc3
VS
123242010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
12327 allocate_regbeg may need to create new chunk header.
12328
22e7dbb2
VS
123292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 Fix quoting in legacy parser.
12332
12333 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
12334 single quotes.
12335 (grub_legacy_parse): Likewise.
12336 Reported by: Jordan Uggla.
12337 Tested by: Jordan Uggla.
12338
03f80960
VS
123392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 Don't add -lgcc on i386 and x86_64.
12342
12343 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
12344 * conf/Makefile.common (LDADD_KERNEL): Likewise.
12345 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
12346
779dc15b
VS
123472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * configure.ac: Add -Wno-trampolines when supported.
12350
d20a3b37
MV
123512010-11-14 Modestas Vainius <modax@debian.org>
12352
12353 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
12354 fakeraid.
12355
e5360933
GC
123562010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12357
12358 Add generic logical block size support for UDF.
12359
12360 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
12361 (GRUB_UDF_BLKSZ): Removed.
12362 (struct grub_udf_data): New field "lbshift" to hold the logical block
12363 size of the file system in log2 format. All users updated.
12364 (sblocklist): Change type to unsigned.
12365 (grub_udf_mount): Change type of "sblklist" to unsigned.
12366 Move AVDP search before VRS recognition, because the latter requires
12367 knowledge of the logical block size, which is detected during the
12368 former.
12369 Detect and validate logical block size during AVDP search, adding
12370 support for block sizes 512, 1024 and 4096.
12371 Make VRS recognition independent of block size.
12372
cb0229c5
GC
123732010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12374
12375 Properly handle deleted files on UDF.
12376
12377 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
12378 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
12379 set.
12380
406858a8
GC
123812010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12382
12383 Support reading files larger than 2 GiB.
12384
12385 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
12386 "offset" to grub_off_t.
12387 (grub_udf_read_file): Likewise for parameter "pos".
12388
130da6a7
VS
123892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
12392 unavailable.
12393 (Simple configuration): Refer to Changes from GRUB Legacy about
12394 save_env availability.
12395
65e93f6b
VS
123962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * util/grub-install.in: Ignore empty partition table detection
12399 instead of trying to include part_ module.
12400
1fd08bf1
VS
124012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
12404 LVM on RAID support.
12405
de1a024f
VS
124062010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 Properly define WORDS_BIGENDIAN in wrapped environments.
12409
12410 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
12411 definition.
12412 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
12413
12414 Reported by: Manoel Rebelo Abranches.
12415 Tested by: Manoel Rebelo Abranches.
12416
bc5dd0b9
VS
124172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * util/grub-mkconfig.in: Fix quoting.
12420
58c184be
VS
124212010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 Support big ext2 files.
12424
12425 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
12426 (grub_ext2_read_block): Support triple indirect blocks.
12427 (grub_ext2_read_file): Use 64-bit types and read size_high.
12428 (grub_ext2_open): Read size_high.
12429 Reported by: Ximin Luo.
12430 Tested by: Manoel Rebelo Abranches.
12431
5f0c02b3
VS
124322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * util/grub-install.in: Handle filenames containing spaces.
12435 Reported by: Jordan Uggla.
12436 Tested by: Jordan Uggla.
12437
4417aae6
VS
124382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * util/grub-mkconfig.in (grub_script_check): New variable.
12441 Use grub_script_check instead of grub-script-check.
12442 Reported by: Barry Jackson.
12443
7625a68e
VS
124442010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * docs/grub.texi (menu): Correct the order.
12447 Reported by: D. Hugh Redelmeier.
12448
10001ac5
VS
124492010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
12452 jump.
12453
9c4cf53b
MRA
124542010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12455
10001ac5
VS
12456 * include/grub/elfload.h (grub_elf32_size): New parameter.
12457 All users updated.
9c4cf53b
MRA
12458 Return maximum segments alignment.
12459 (grub_elf64_size): Likewise.
12460 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
12461 Return maximum segments alignment.
12462 (grub_elf64_size): Likewise.
12463 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
12464 (grub_linux_claimmap_iterate): New function. Uses the
12465 "available" property in the "memory" node for memory allocation
12466 for kernel in the PowerPC loader.
9c4cf53b
MRA
12467 (grub_linux_load32): Correctly find linux entry point offset.
12468 (grub_linux_load64): Likewise.
12469
d2bf06bf
RM
124702010-11-07 Robert Millan <rmh@gnu.org>
12471
12472 On mips-yeeloong, build with -march=loongson2f when this flag is
12473 available (GCC >= 4.4).
12474 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
12475 `-march=mips3'.
12476 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
12477 or otherwise add -march=mips3.
12478
898c99a2
BC
124792010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
12480
87220a68
BC
12481 Suppress shell expansion on echo '*' and echo "*" like cases.
12482 Reported by: Jordan Uggla.
898c99a2
BC
12483
12484 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
12485 string arguments before shell expansion.
12486 * tests/grub_cmd_echo.in: New testcases.
12487
4f9b406a
RM
124882010-11-07 Robert Millan <rmh@gnu.org>
12489
12490 * conf/mips-qemu-mips.rmk: Remove stale file from previous
12491 transition.
12492
80c6d25e
VS
124932010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * grub-core/kern/emu/hostdisk.c
12496 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
12497
4a1a0153
VS
124982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
12501 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
12502 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
12503
34706ddc
VS
125042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
12507
6972dea9
VS
125082010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * util/grub-install.in: Replace useless recomendation to pass
12511 --modules with a recomendation to report a bug.
12512
9c693bd6
VS
125132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 Properly register serial terminfo.
12516 Reported by: Jordan Uggla
12517
12518 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
12519 const.
12520 (grub_serial_terminfo_output_template): Likewise.
12521 (grub_cmd_serial): Register "serial" with terminfo.
12522 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
12523 grub_serial_terminfo_output.
12524
6c9e4c0c
RM
125252010-11-05 Robert Millan <rmh@gnu.org>
12526
12527 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
12528 needed).
12529
b9b3839f
RM
125302010-11-05 Robert Millan <rmh@gnu.org>
12531
12532 On Yeeloong, pass machine type information to Linux.
12533
12534 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
12535 (LOONGSON_MACHTYPE): New macro, set to
12536 "machtype=lemote-yeeloong-2f-8.9inches".
12537 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
12538 additional argument to Linux.
12539
1a3aaff4
RM
125402010-11-04 Robert Millan <rmh@gnu.org>
12541
12542 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
12543 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
12544 (its SATA disks are detected as slaveless IDE master drives on
12545 kFreeBSD).
12546 Reported by Carsten Aulbert.
12547
a75f4f62
CW
125482010-11-02 Colin Watson <cjwatson@ubuntu.com>
12549
12550 * util/bin2h.c (main): Fix spelling error in generated output.
12551
33b4b0c6
GS
125522010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
12553
12554 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
12555
2b36fbf4
VS
125562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
12559 vga= option is supplied.
12560
74aaf558
VS
125612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
12564 * util/grub.d/10_kfreebsd.in: Likewise.
12565 * util/grub.d/10_linux.in: Likewise.
12566 * util/grub.d/20_linux_xen.in: Likewise.
12567
6428dec3
VS
125682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
12571 argument as an argument to no-argument option.
12572
f8729d98
VS
125732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * util/grub.d/10_linux.in: Add missing load_video with explicit
12576 GRUB_GFXPAYLOAD_LINUX.
12577
89d68fa6
VS
125782010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
12581
3a1197cd
VS
125822010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
12585 elements with invlid index.
12586 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12587 * grub-core/disk/raid.c (insert_array): Automatically reallocate
12588 members.
12589 * include/grub/raid.h (grub_raid_member): New struct.
12590 (grub_raid_array): Transform devices and start_sector into usage of
12591 grub_raid_member. All users updated
12592 (allocated_devs): New member.
12593
71574288
VS
125942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
12597 is modified
12598
8d40ec65
BC
125992010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
12600
12601 NetBSD build fix for getline function conflict from gnulib.
12602
12603 * Makefile.util.def (libgrubkern.a): New library for grub kernel
12604 components that depend on gnulib headers.
12605 (libgrubmods.a): Renamed from earlier libgrub.a.
12606 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
12607
95b9257e
VS
126082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
12611 install rather than creating a broken install.
12612
26c53dc6
VS
126132010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * util/grub-setup.c (argp): Remove misleading example of installing to
12616 a partition.
12617
4171b3c5
VS
126182010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * util/grub-setup.c (setup): Clarify the error message.
12621
18568d18
VS
126222010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12625
4f6a2e21
VS
126262010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/kern/emu/misc.c
12629 (grub_make_system_path_relative_to_its_root)
12630 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12631
126322010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12633
12634 * grub-core/kern/emu/misc.c
12635 (grub_make_system_path_relative_to_its_root): Revert r2882.
12636
e138c458
VS
126372010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12640 useless field head. All users updated.
12641 (free_subchunk): Correct handling of IN_REGION subchunk.
12642
0cbcdf0e
CW
126432010-10-22 Colin Watson <cjwatson@ubuntu.com>
12644
12645 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12646 (Supported kernels): Likewise.
12647
b65ea155
GS
126482010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12649
12650 Make mktemp invocations portable.
12651
12652 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12653 exit if mktemp fails.
12654 * tests/grub_script_blockarg.in: Likewise.
12655 * tests/partmap_test.in: Likewise.
12656 * tests/util/grub-shell-tester.in: Likewise.
12657 * tests/util/grub-shell.in: Likewise.
12658 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12659 * Makefile.am: Likewise, and chain shell commands with `&&'
12660 instead of ';'.
12661 * util/grub-mkrescue.in: Use the same explicit template as above, and
12662 exit if mktemp fails.
12663
05f43cdd
BC
126642010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12665
12666 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12667 Linux kernel, reported by Dennis Schridde.
12668
800e6a9b
SJ
126692010-10-17 Szymon Janc <szymon@janc.net.pl>
12670
12671 * grub-core/normal/auth.c (grub_auth_check_authentication):
12672 Set-but-not-used variable removed.
12673
d82df574
VS
126742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12677 32-bit linux protocol.
12678
7bced458
VS
126792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12682 cursor shape for sanity.
12683
5b027690
VS
126842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * docs/grub.texi (Installation): Document buggy BIOS install.
12687
ba5f65cf
VS
126882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 * docs/grub.texi (Installation): Indent.
12691
fdf2ec9c
VS
126922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * util/grub-setup.c (setup): New parameter allow_floppy.
12695 (arguments): New member allow_floppy.
12696 (argp_parser): Handle --allow-floppy.
12697 (main): Pass allow_floppy.
12698 * util/grub-install.in: New option --allow-floppy passed though to
12699 grub-setup.
12700
861dfd4c
VS
127012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * util/grub-install.in: Handle partitionless disks.
12704
f77a8c24
VS
127052010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * util/grub-setup.c (setup): Don't clean blocklists before readability
12708 verfification.
12709
27d9ee32
VS
127102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * docs/grub.texi (Installation): Document embedding zone. Remove
12713 obsolete grub-install example.
12714
6bdda8f8
SJ
127152010-10-16 Szymon Janc <szymon@janc.net.pl>
12716
12717 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12718 Set-but-not-used variable ifdef'ed.
12719 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12720 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12721 variable removed.
12722 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12723 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12724 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12725 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12726 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12727 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12728 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12729 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12730 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12731 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12732 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12733 Likewise.
12734
e19b016b
VS
127352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12738 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12739 enum value.
12740
6c8d3002
VS
127412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12744 synonym to _S5_. Needed for some DSDTs.
12745
c32b51c9
VS
127462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 Userspace ACPI parser debugging.
12749
12750 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12751 headers and add relevant defines. Don't include standard headers.
12752 (main) [GRUB_DSDT_TEST]: New function.
12753 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12754 Don't declare functions.
12755
fbfbeb39
VS
127562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 Remove dead grub_efi_mm_fini.
12759
12760 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12761 (ALLOCATED_PAGES_SIZE): Likewise.
12762 (MAX_ALLOCATED_PAGES): Likewise.
12763 (allocated_pages): Likewise.
12764 (grub_efi_allocate_pages): Don't record allocated pages.
12765 (grub_efi_free_pages): Likewise.
12766 (grub_efi_mm_init): Likewise.
12767 (grub_efi_mm_fini): Removed.
12768
65f7ed7c
VS
127692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12772 (grub_efi_mm_init): Take into account the memory map size increase.
12773
24977b44
VS
127742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12777 (serial_hw_put): Wait based on real time rather than port reads. Don't
12778 roken ports.
12779 * include/grub/serial.h (grub_serial_port): New field broken.
12780
1eb01cd2
RM
127812010-10-16 Robert Millan <rmh@gnu.org>
12782
12783 * grub-core/kern/emu/misc.c
12784 (grub_make_system_path_relative_to_its_root): Fix premature return
12785 when processing non-root ZFS filesystems.
5f8b440b 12786 Reported by Sergio Talens-Oliag.
1eb01cd2 12787
2d5fed60
RM
127882010-10-15 Robert Millan <rmh@gnu.org>
12789
12790 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12791 guarantee compressed ones are processed first.
12792
d0f4c1ea
VS
127932010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12796 grub_efiemu_autocore.
12797
d87c681f
VS
127982010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12801 rather than 0x1b.
12802 (grub_console_getkey): Use correct jae opcode rather than ja.
12803
219b3564
RM
128042010-10-12 Robert Millan <rmh@gnu.org>
12805
12806 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12807 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12808 variable. All references updated.
12809
12810 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12811
20c6bb7e
VS
128122010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 Correctly distinguish mdraid flavours.
12815
12816 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12817 (insert_array): New argument raid.
12818 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12819 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12820 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12821
74baff84
VS
128222010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12825 handling of special keys.
12826
3ef068df 128272010-10-02 Aleš Nesrsta <starous@volny.cz>
12828
c7980ad9
VS
12829 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12830 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12831
a9455194 128322010-10-02 Aleš Nesrsta <starous@volny.cz>
12833
c7980ad9
VS
12834 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12835 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12836 users updated.
a9455194 12837 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12838 Use right endpoint when querying descriptor.
a9455194 12839
441cfe65
VS
128402010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 Clear out 0x80 color bit on EFI.
12843 Tested by: decoder
12844 Reported by: decoder and meta tech.
12845
12846 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12847 (grub_console_setcolorstate): Clear out 0x80 bit.
12848 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12849 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12850 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12851
bf26bcc4
VS
128522010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12855 Set to "auto".
12856
6e3c515d
VS
128572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12860 mo_file after freeing.
12861
e6d983ba
VS
128622010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12865
74ccb5b5
VS
128662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12869 flags.
12870
17821956
VS
128712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12874 usage.
12875
ee74fa48
VS
128762010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12879
12880 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12881 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12882 and terminfo.h when needed.
12883 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12884 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12885 (terminfo): Enable only on terminfokernel.
12886 (extcmd): Likewise.
12887 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12888 * include/grub/lib/arg.h: Likewise.
12889 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12890 incorrect usage of ->.
12891
aa438e68
VS
128922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12895 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12896
57994012
VS
128972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 Fix coreboot compilation.
12900
12901 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12902 Take VBE info into account even if only text is supported.
12903 (fill_vbe_info): Take into account the case when only VGA text
12904 is supported.
12905 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12906 on coreboot, multiboot and qemu.
12907
2a406611
VS
129082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12909
12910 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12911 debug messages.
12912 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12913
d33613fc
VS
129142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12917 parameters.
12918
44a1b432
VS
129192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12922 if they were BSD-style.
12923
edde54e6
VS
129242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * grub-core/boot/i386/pc/lnxboot.S: Replace
12927 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12928 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12929
b65830fa
VS
129302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 Write embedding zone using Reed-Solomon.
12933
12934 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12935 * grub-core/Makefile.am (rs_decoder.S): New target.
12936 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12937 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12938 (multiboot): Move to RS part.
12939 (post_reed_solomon): New label.
12940 (grub_boot_drive): Move to non-RS part since it's modified in memory
12941 on boot.
12942 Include rs_decoder.S.
12943 * grub-core/lib/reed_solomon.c: New file.
12944 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12945 New definition.
12946 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12947 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12948 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12949 * include/grub/partition.h (grub_partition_map): Change prototype of
12950 embed to allow returning additional sectors.
12951 * include/grub/reed_solomon.h: New file.
12952 * util/grub-setup.c (setup): Handle Reed-Solomon.
12953
0b4b227f
CW
129542010-09-28 Colin Watson <cjwatson@ubuntu.com>
12955
12956 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12957 i386 and x86-64 definedness tests.
12958
f772623b
YB
129592010-09-27 Yves Blusseau <blusseau@zetam.org>
12960
12961 Fix generation of kernel_syms.lst
12962
12963 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12964 ASM_PREFIX
12965
8e57a6ca
RM
129662010-09-26 Robert Millan <rmh@gnu.org>
12967
12968 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12969
12970 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12971 the pool is an array of devices, iterate through it and return the
12972 first device that passes a stat() test (instead of blindly returning
12973 the first one).
12974
f9130836
RM
129752010-09-26 Robert Millan <rmh@gnu.org>
12976
12977 Build fixes for GNU/kFreeBSD.
12978
12979 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12980 to programs that require ZFS conversion.
12981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12982 kernels that don't have FLOPPY_MAJOR.
12983
96510faf
BC
129842010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12985
12986 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12987
449333eb
BC
129882010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12989
12990 Fix grub-emu build.
12991
12992 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12993 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12994 mdraid09 and mdraid1x.
12995
e1fd1939
CW
129962010-09-24 Colin Watson <cjwatson@ubuntu.com>
12997
12998 Re-enable grub-extras.
12999
13000 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13001 avoid confusing Automake. Run autogen only twice, once for the top
13002 level and once for grub-core. Add Makefile.util.def and
13003 Makefile.core.def from extra modules to the appropriate autogen
13004 invocations. If Makefile.common exists in an extra module, include
13005 it in both Makefile.util.am and grub-core/Makefile.core.am;
13006 similarly, include any Makefile.util.common file in Makefile.util.am
13007 and any Makefile.core.common file in grub-core/Makefile.core.am.
13008 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13009 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13010 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13011 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13012
13013 * gentpl.py (gvar_add): Turn GVARS into a set.
13014 (global_variable_initializers): Sort global variables on output.
13015 (vars_init): New function.
13016 (first_time): Likewise.
13017 (library): Ensure that non-global variable initialisations are
13018 emitted before the first time we emit code for a library block.
13019 Append to variables rather than setting them. Only emit
13020 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13021 each conditional path.
13022 (program): installdir() emits an Autogen macro, so must be passed to
13023 var_add rather than gvar_add.
13024 (data): Likewise.
13025 (script): Likewise.
13026 (rules): New function, centralising handling for different target
13027 types. Set up Guile association lists for first_time and vars_init,
13028 and send most output to a diversion so that variable initialisations
13029 can be emitted first.
13030 (module_rules): Use new rules function.
13031 (kernel_rules): Likewise.
13032 (image_rules): Likewise.
13033 (library_rules): Likewise.
13034 (program_rules): Likewise.
13035 (script_rules): Likewise.
13036 (data_rules): Likewise.
13037
13038 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13039
13040 * .bzrignore: Add contrib and grub-core/contrib. Remove
13041 grub-core/Makefile.gcry.am.
13042
1d12cf29
YB
130432010-09-24 Yves Blusseau <blusseau@zetam.org>
13044
13045 * grub-core/lib/LzFind.c: Add missing include.
13046 * grub-core/lib/LzmaEnc.c: Likewise.
13047 * grub-core/script/lexer.c: Likewise.
13048 * grub-core/script/yylex.l: Likewise.
13049 * util/grub-macho2img.c: Likewise.
13050 * util/grub-menulst2cfg.c: Likewise.
13051 * util/grub-mklayout.c: Likewise.
13052 * util/grub-mkpasswd-pbkdf2.c
13053 * util/grub-mkrelpath.c: Likewise.
13054 * util/resolve.c: Likewise.
13055
dd363028
BC
130562010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13057
13058 * Makefile.util.def (example_unit_test): Add
13059 grub-core/gnulib/libgnu.a.
13060
f5a109e2
GS
130612010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13062
13063 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13064
6d0fa83c
VS
130652010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 Support xz compression on yeeloong.
13068
13069 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13070 * configure.ac: Check for LZMA.
13071 * grub-core/Makefile.core.def (xz_decompress): New target.
13072 (none_decompress): Likewise.
13073 * grub-core/boot/decompressor/minilib.c: New file.
13074 * grub-core/boot/decompressor/none.c: Likewise.
13075 * grub-core/boot/decompressor/xz.c: Likewise.
13076 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13077 * grub-core/kern/mips/cache_flush.S: Likewise.
13078 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13079 * grub-core/kern/mips/startup.S: Move first stage to ...
13080 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13081 nomacro.
13082 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13083 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13084 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13085 Allocate statically.
13086 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13087 Allocate statically or use scratch. Don't check CRC32.
13088 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13089 Allocate statically. Don't check CRC32.
13090 * include/grub/decompressor.h: New file.
13091 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13092 Removed.
13093 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13094 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13095 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13096 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13097 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13098 * util/grub-mkimage.c (grub_compression_t): New type.
13099 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13100 (image_target_desc): New field default_compression.
13101 (image_targets): Adjust yeeloong targets.
13102 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13103 (compress_kernel): New parameter comp.
13104 (generate_image): Likewise. Handle new compression case.
13105 (options): New option --compression
13106 (help): Likewise.
13107 (main): Handle new option.
13108
1b655af6
GS
131092010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13110
13111 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13112
8f03f0b5
CW
131132010-09-22 Colin Watson <cjwatson@ubuntu.com>
13114
13115 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13116 typo in __i386__ conditional.
13117
7835dfd3
VS
131182010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13121 include.
13122
e255597e
VS
131232010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13124
6d0fa83c 13125 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
13126
13127 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13128 new tags as supported.
13129 (acpiv2_size): New function.
13130 (grub_multiboot_get_mbi_size): Take new tags into account.
13131 (grub_multiboot_make_mbi): Add new tags.
13132 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 13133
6cc14051 131342010-09-21 Aleš Nesrsta <starous@volny.cz>
13135
13136 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13137 Added missing configuration of USB device.
13138
df7769d8
CW
131392010-09-21 Colin Watson <cjwatson@ubuntu.com>
13140
13141 * grub-core/normal/menu_entry.c (run): Make sure we always return
13142 a value.
13143
b031012d
CW
131442010-09-21 Colin Watson <cjwatson@ubuntu.com>
13145
13146 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13147 NumberOfPages is UINT64 according to the UEFI specification, not
13148 UINTN. Fix printf format.
13149
174de8f3
CW
131502010-09-21 Colin Watson <cjwatson@ubuntu.com>
13151
13152 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13153 `err' to grub_usb_err_t.
13154 Reported and tested by: KESHAV P.R.
13155
d7dbe923
CW
131562010-09-21 Colin Watson <cjwatson@ubuntu.com>
13157
13158 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13159 tpart non-const, so that we can assign to it. (Since this is a
13160 typedef, the constness refers to the pointer rather than what it
13161 points to.)
13162
8d5e2af3
CW
131632010-09-21 Colin Watson <cjwatson@ubuntu.com>
13164
13165 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13166 $(top_srcdir)/grub-core/gnulib as well as
13167 $(top_builddir)/grub-core/gnulib.
13168 Reported by: KESHAV P.R.
13169
5c527783
CW
131702010-09-21 Colin Watson <cjwatson@ubuntu.com>
13171
13172 * util/grub-install.in: Fix the bootloader ID option to be
13173 consistently --bootloader-id, not --bootloader_id.
13174 Reported by: KESHAV P.R.
13175
d309a16e
CW
131762010-09-21 Colin Watson <cjwatson@ubuntu.com>
13177
13178 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
13179 check hash checksum." consistently translatable.
13180
b830cd16
YB
131812010-09-21 Yves Blusseau <blusseau@zetam.org>
13182
13183 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13184 $(top_builddir).
13185
c4fe27a8
CW
131862010-09-21 Colin Watson <cjwatson@ubuntu.com>
13187
13188 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13189 (GRUB_MOD_INIT): Register sha1sum command.
13190 (GRUB_MOD_FINI): Unregister sha1sum command.
13191
a4c1d277
YB
131922010-09-21 Yves Blusseau <blusseau@zetam.org>
13193
13194 Keep boot and grub directory names in sync with utils scripts
13195
13196 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13197 * config.h.in: Add previous macros.
13198 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13199 * util/grub-install.in: Use $bootdir and $grubdir variables.
13200
4eff79d2
CW
132012010-09-21 Colin Watson <cjwatson@ubuntu.com>
13202
13203 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13204 convert partition names to disk names if the new `convert' parameter
13205 is set.
13206 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13207 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13208 disk in its own right. This can happen with Xen disk images.
13209
934d7e44
YB
132102010-09-21 Yves Blusseau <blusseau@zetam.org>
13211
13212 * util/grub-editenv.c: Update strings to avoid warnings when generating
13213 grub.pot file.
13214 * util/grub-setup.c: Likewise.
934d7e44 13215
df3367cc
VS
132162010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13217
13218 * configure.ac: Change version to 1.99~beta0.
13219
77a94e98
VS
132202010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13223 Add BADRAM.
13224 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13225 Likewise.
13226 * include/multiboot.h: Resynced with specification.
13227 * include/multiboot2.h: Likewise.
13228
269004c1
CW
132292010-09-21 Colin Watson <cjwatson@ubuntu.com>
13230
13231 Fix po directory handling.
13232
13233 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13234 * grub-core/gnulib/Makefile.am: Import gettext module.
13235 * m4/gnulib-cache.m4: Likewise.
13236 * m4/gnulib-comp.m4: Likewise.
13237 * m4/gettext.m4: New file, from gnulib.
13238 * m4/glibc2.m4: Likewise.
13239 * m4/iconv.m4: Likewise.
13240 * m4/intdiv0.m4: Likewise.
13241 * m4/intl.m4: Likewise.
13242 * m4/intldir.m4: Likewise.
13243 * m4/intlmacosx.m4: Likewise.
13244 * m4/intmax.m4: Likewise.
13245 * m4/inttypes-pri.m4: Likewise.
13246 * m4/lcmessage.m4: Likewise.
13247 * m4/lib-ld.m4: Likewise.
13248 * m4/lib-link.m4: Likewise.
13249 * m4/lib-prefix.m4: Likewise.
13250 * m4/lock.m4: Likewise.
13251 * m4/nls.m4: Likewise.
13252 * m4/po.m4: Likewise.
13253 * m4/printf-posix.m4: Likewise.
13254 * m4/progtest.m4: Likewise.
13255 * m4/threadlib.m4: Likewise.
13256 * m4/uintmax_t.m4: Likewise.
13257 * m4/visibility.m4: Likewise.
13258 * po/Makefile.am: Remove.
13259 * po/Makefile.in.in: New file, from gettext.
13260 ($(DOMAIN).pot-update): Support POTFILES-shell.
13261 * po/Makevars: New file.
13262 * po/POTFILES-shell: Rename to ...
13263 * po/POTFILES-shell.in: ... this. Update.
13264 * po/POTFILES: Rename to ...
13265 * po/POTFILES.in: ... this. Update.
13266 * po/Rules-quot: New file, from gettext.
13267 * po/boldquot.sed: Likewise.
13268 * po/en@boldquot.header: Likewise.
13269 * po/en@quot.header: Likewise.
13270 * po/insert-header.sin: Likewise.
13271 * po/quot.sed: Likewise.
13272 * po/remove-potcdate.sin: Likewise.
13273
3e0fa5d0
VS
132742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
13277
ade9bd66
VS
132782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * util/grub.d/20_linux_xen.in: Use submenus.
13281
fc55cc4c
VS
132822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 Support submenus.
13285
13286 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
13287 parameter submenu. All users updated.
13288 * grub-core/normal/main.c (free_menu): Rename to ...
13289 (grub_normal_free_menu): ... this. Made global.
13290 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
13291 if requested.
13292 * grub-core/normal/menu_entry.c (screen): New field submenu.
13293 (make_screen): Set submenu.
13294 (run): Open new context if requested.
13295 * include/grub/menu.h (grub_menu_entry): New field submenu.
13296 * include/grub/normal.h (grub_normal_free_menu): New proto.
13297
600cedf7
VS
132982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 Menu entries extractor.
13301
13302 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
13303 variants.
13304 (GRUB_MOD_INIT): Register new variants.
13305 (GRUB_MOD_FINI): Unregister new variants.
13306 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
13307 into grub_cmd_legacy_source.
13308 (grub_cmd_legacy_source): Implement extractor variants.
13309 (GRUB_MOD_INIT): Register new variants.
13310 (GRUB_MOD_FINI): Unregister new variants.
13311 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
13312 as an extractor.
13313 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
13314 search as an extractor.
13315 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
13316 test as an extractor.
13317 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
13318 as an extractor.
13319 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
13320 (grub_env_new_context): New function.
13321 (grub_env_context_open): Likewise.
13322 (grub_env_extractor_open): Likewise.
13323 (grub_env_extractor_close): Likewise.
13324 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13325 grub_extractor_level.
13326 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
13327 * include/grub/env.h (grub_env_extractor_open): New proto.
13328 (grub_env_extractor_close): Likewise.
13329 * include/grub/normal.h (grub_extractor_level): New external variable.
13330
7bda3a87
VS
133312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 Make cutmem accept a region specification.
13334 Suggested by: Samuel Thibault
13335
13336 * grub-core/mmap/mmap.c (parsemem): New function.
13337 (grub_cmd_cutmem): Handle new arguments.
13338
2ea57f88
VS
133392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 New command cutmem.
13342
13343 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
13344 (GRUB_MOD_INIT): Register new command.
13345 (GRUB_MOD_FINI): Unregister new command.
13346
74342e31
VS
133472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 Support some annoying BSD and Minix subpartitions.
13350
13351 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
13352 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
13353 Properly handle concatenation.
13354 * grub-core/kern/device.c (grub_device_iterate): Likewise.
13355 * grub-core/normal/completion.c (iterate_partition): Likewise.
13356 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
13357 contain partition. All users updated.
13358 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
13359 struct.
13360 (grub_openbsdlabel_partition_map): Likewise.
13361 (bsdlabel_partition_map_iterate): Rename to ..
13362 (iterate_real): ... this. New arguments sector, freebsd and pmap.
13363 (bsdlabel_partition_map_iterate): New function.
13364 (netopenbsdlabel_partition_map_iterate): Likewise.
13365 (netbsdlabel_partition_map_iterate): Likewise.
13366 (openbsdlabel_partition_map_iterate): Likewise.
13367 (GRUB_MOD_INIT): Register new partmaps.
13368 (GRUB_MOD_FINI): Unregister new partmaps.
13369 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
13370 (grub_partition_msdos_iterate): ... this. All users updated.
13371 Don't support embedding other than in a minix partition.
13372 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
13373 proto.
13374 * include/grub/partition.h (grub_partition): New field msdostype.
13375 * util/grub-install.in: Handle openbsd and netbsd types being in
13376 part_bsd module.
13377
1e8d555b
VS
133782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
13381
13382 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
13383 * grub-core/Makefile.core.def (mdraid): Renamed to ...
13384 (mdraid09): ... this.
13385 (mdraid1x): New module.
13386 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
13387 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
13388
899d8af4
VS
133892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
13392 vsprintf.
13393
40901acd
CW
133942010-09-20 Colin Watson <cjwatson@ubuntu.com>
13395
13396 * grub-core/commands/efi/lsefimmap.c: Correct header.
13397 * NEWS: Update.
13398
dfe3b247
CW
133992010-09-20 Colin Watson <cjwatson@ubuntu.com>
13400
13401 * util/grub-editenv.c (argp_parser): Don't pass translated strings
13402 as printf format strings; the translations might contain '%' which
13403 could cause a crash.
13404 (main): Likewise.
13405 * util/grub-fstest.c (argp_parser): Likewise.
13406 * util/grub-setup.c (argp_parser): Likewise.
13407 (main): Likewise.
13408
3286a4b4
VS
134092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 Use argp in grub-fstest.
13412
13413 * util/grub-fstest.c: Don't include getopt.h.
13414 Include argp.h.
13415 (root): New variable.
13416 (args_count): Likewise.
13417 (nparm): Likewise.
13418 (num_disks): Likewise.
13419 (images): Likewise.
13420 (cmd): Likewise.
13421 (debug_str): Likewise.
13422 (args): Likewise.
13423 (options): Transformed to argp.
13424 (usage): Removed.
13425 (main): Split argument parsing into ...
13426 (argp_parser): ... this. Changed to argp format.
13427 (argp): New variable.
13428 (main): Use argp_parse.
13429
3dccbe4b
TG
134302010-09-20 Tristan Gingold <gingold@free.fr>
134312010-09-20 Robert Millan <rmh.grub@aybabtu.com>
134322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * grub-core/commands/efi/lsefimmap.c: New file.
13435 * grub-core/Makefile.core.def (lsefimmap): New module.
13436 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
13437
38c259a7
VS
134382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 Pause the execution (10s max) if any errors are displayed so the user
13441 has a chance to see them.
13442
13443 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
13444 (grub_print_error): Increment grub_err_printed_errors.
13445 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
13446 execution if any errors were displayed.
13447 (show_menu): Remove old code for pause.
13448 * grub-core/normal/menu_entry.c (run): Likewise.
13449 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
13450 users updated.
13451 (grub_normal_get_char_counter): Likewise.
13452 * include/grub/err.h (grub_err_printed_errors): New external variable.
13453 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
13454
f218b09c
VS
134552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Support multiboot VBE info.
13458
13459 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13460 Take VBE info into account.
13461 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
13462 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13463 Call fill_vbe_info when appropriate.
13464 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
13465 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
13466 as supported.
13467 (grub_multiboot_get_mbi_size): Take new tags into account.
13468 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
13469 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13470 Call fill_vbe_tag when appropriate.
13471 (grub_multiboot_make_mbi): Properly align tags.
13472 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
13473 function.
13474 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
13475 proto.
13476 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
13477
a9cc5438
VS
134782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 Suport manual terminal geometry specification.
13481
13482 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
13483 Save state in grub_ofconsole_terminfo_output.
13484 (grub_ofconsole_term): Use grub_terminfo_getwh.
13485 (grub_ofconsole_getwh): Removed.
13486 * grub-core/term/serial.c (grub_serial_getwh): Removed.
13487 (grub_serial_term): Use grub_terminfo_getwh.
13488 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
13489 (options): New struct.
13490 (OPTION_*): New enum.
13491 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
13492 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
13493 width and height.
13494 (grub_terminfo_getwh): New proto.
13495 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
13496
1a8fed20
VS
134972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 Handle legacy "terminal" command.
13500
13501 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
13502 and FLAG_TERMINAL.
13503 (legacy_commands): Add terminal and title.
13504 (grub_legacy_parse): Handle terminal. Simplify title handling.
13505
41e9c57d
VS
135062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13507
13508 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
13509 parameters overflow.
13510
61c874c5
CW
135112010-09-20 Colin Watson <cjwatson@ubuntu.com>
13512
13513 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
13514 widthspec.h.
13515
13516 * docs/grub.texi (Shell-like scripting): Document `!'.
13517 (Network): Simplify using new i386-pc-pxe format. Mention
13518 grub-mknetdir.
13519
13520 * NEWS: Update.
13521
943682b4
CW
135222010-09-20 Colin Watson <cjwatson@ubuntu.com>
13523
13524 * Makefile.am (SUBDIRS): Restore "."; it's important to force
13525 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
13526 when needed.
13527
6d3d698d
CW
135282010-09-20 Colin Watson <cjwatson@ubuntu.com>
13529
13530 * grub-core/commands/efi/lsefisystab.c: Correct header.
13531 * grub-core/commands/efi/lssal.c: Likewise.
13532 * grub-core/commands/testload.c: Likewise.
13533
c982589f
CW
135342010-09-20 Colin Watson <cjwatson@ubuntu.com>
13535
13536 * util/grub-mkrescue.in: Add explicit root argument to --set to
13537 prevent the UUID being interpreted as an argument to --set (matches
13538 previous change to prepare_grub_to_access_device).
13539
a63c31b6
CW
135402010-09-20 Colin Watson <cjwatson@ubuntu.com>
13541
13542 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
13543 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
13544 the verbosity of later #ifs.
13545 (find_partition_start): Define this function on FreeBSD too.
13546 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
13547 function.
13548 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
13549 on FreeBSD.
13550
6439b8ee
YB
135512010-09-20 Yves Blusseau <blusseau@zetam.org>
13552
13553 * util/grub-editenv.c: Use argp instead of getopt.
13554
c5930ec8
YB
135552010-09-20 Yves Blusseau <blusseau@zetam.org>
13556
13557 * util/grub-setup.c: Use argp instead of getopt.
13558
15c69261
YB
135592010-09-20 Yves Blusseau <blusseau@zetam.org>
13560
13561 Use gnulib-tool to create gnulib source files.
13562
13563 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
13564 grub-core/gnulib directories
13565 * .bzignore: Add **/.deps and autogenerated gnulib files
13566 * configure.ac: Assign auxiliary directory to build-aux, add invocation
13567 of gnulib macros, add grub-core/gnulib/Makefile
13568 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
13569 include m4 directory to aclocal.
13570 * Makefile.util.def: Remove direct compilation of gnulib source files
13571 and use the new grub-core/gnulib/libgnu.a.
13572 * build-aux/config.rpath: move config.rpath from top directory to
13573 build-aux
13574 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
13575 in gnulib headers
13576 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
13577 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
13578 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
13579 header.
13580 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
13581 string.
13582
e511c9f5
YB
135832010-09-20 Yves Blusseau <blusseau@zetam.org>
13584
13585 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
13586 grub-core/genmod.sh and grub-core/gensyminfo.sh
13587
c2dede05
BC
135882010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
13589
13590 Add a test for echo command options.
13591
13592 * tests/grub_cmd_echo.in: New test.
13593 * Makefile.util.def: Rules for new test.
13594
c55f5018
SJ
135952010-09-20 Szymon Janc <szymon@janc.net.pl>
13596
13597 Remove crc.mod and move crc command to hashsum.mod.
13598 Remove lib/crc.c - users updated to use gcrypt implementation.
13599
13600 * grub-core/commands/crc.c: Removed.
13601 * grub-core/Makefile.core.def (crc): Module removed.
13602 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
13603 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
13604 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
13605 * grub-core/lib/crc.c: Removed.
13606 * include/grub/lib/crc.h: Removed.
13607 * Makefile.util.def (crc): Remove lib/crc.c
13608 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
13609 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
13610 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
13611 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
13612 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
13613 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
13614
e0337366
VS
136152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
13618
742f9232
VS
136192010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 Split config.h for util and core.
13622
13623 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13624 (ADDR32): Likewise.
13625 (DATA32): Likewise.
13626 (BSS_START_SYMBOL): Likewise.
13627 (END_SYMBOL): Likewise.
13628 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13629 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13630 * config.h.in: New file.
13631 * configure.ac: Use config-util.h as config define file.
13632 Rename MACHINE into GRUB_MACHINE. All users updated.
13633 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13634 updated.
13635 (NESTED_FUNC_ATTR): Likewise.
13636 Substitue new variables.
13637 (COND_HAVE_ASM_USCORE): New conditional.
13638 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13639 (kernel_syms.lst): Use ASM_PREFIX.
13640 * grub-core/kern/emu/console.c: Include config-util.h.
13641 * grub-core/kern/emu/misc.c: Likewise.
13642 * grub-core/kern/emu/mm.c: Likewise.
13643 * include/grub/emu/misc.h: Likewise.
13644 * include/grub/libgcc.h: Likewise.
13645
39feb0e8
VS
136462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13649 constants usage.
13650 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13651 Fix GRUB_TERM_KEY_* constants usage.
13652 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13653
9af6dac3
VS
136542010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13657 print pointer.
13658 * grub-core/bus/usb/uhci.c: Remove empty define.
13659 (grub_uhci_check_transfer): Add missing cast.
13660 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13661 print pointer.
13662 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13663 PRIuGRUB_SIZE.
13664 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13665
d6d94820
VS
136662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/Makefile.core.def (legacycfg): Add
13669 lib/i386/pc/vesa_modes_table.c on emu.
13670
3572f2b6
BC
136712010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13672
13673 Reduce number of temporary files generated by build system.
13674
13675 * grub-core/gencmdlist.sh: Removed.
13676 * grub-core/genfslist.sh: Removed.
13677 * grub-core/genhandlerlist.sh: Removed.
13678 * grub-core/genmodsrc.sh: Removed.
13679 * grub-core/genpartmaplist.sh: Removed.
13680 * grub-core/genparttoollist.sh: Removed.
13681 * grub-core/gentermiinallist.sh: Removed.
13682 * grub-core/genvideolist.sh: Removed.
13683
13684 * grub-core/genmod.sh.in: New file.
13685 * grub-core/gensyminfo.sh.in: New file.
13686
13687 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13688 * conf/Makefile.extra-dist: Update with new files.
13689 * gentpl.py: Remove rules related to unnecessary temporary files.
13690 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13691 and und-* files.
13692 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13693 genmod.sh scripts.
13694 * grub-core/bus/usb/uhci.c: Remove empty #define.
13695 * grub-core/genmoddep.awk: Updated with new syminfo format.
13696 * util/bash-completion.d/Makefile.am: Add config.log to
13697 CLEANFILES.
13698
c836b030
YB
136992010-09-19 Yves Blusseau <blusseau@zetam.org>
13700
13701 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13702
2f4e8053
BC
137032010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13704
13705 * util/grub-mkconfig.in: Check the config script for syntax errors
13706 before saving.
13707
75831c34
CW
137082010-09-19 Colin Watson <cjwatson@ubuntu.com>
137092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13712 platforms.
13713 * util/grub-install.in: Add EFI and IEEE1275 support.
13714 * util/i386/efi/grub-install.in: Removed.
13715 * util/ieee1275/grub-install.in: Likewise.
13716
eaf41b25
VS
137172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13720 (grub_cmd_cmosclean): Likewise.
13721 (GRUB_MOD_INIT): Register command cmosclean.
13722 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13723 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13724
1a9130dd
CPE
137252010-09-18 Carles Pina i Estany <carles@pina.cat>
137262010-09-18 Aleš Nesrsta <starous@volny.cz>
137272010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 Add keyboard layouts support.
13730
13731 * Makefile.util.def (grub-mklayout): New file.
13732 (grub-kbdcomp): New script.
13733 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13734 Add keyboard_layouts.h.
13735 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13736 commands/boot.c on yeeloong.
13737 (keylayouts): New module.
13738 * grub-core/bus/usb/ohci.c
13739 * grub-core/bus/usb/uhci.c
13740 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13741 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13742 (attach_root_port): Likewise.
13743 (poll_nonroot_hub): Likewise.
13744 (grub_usb_poll_devices): Likewise.
13745 (detach_device): Close transfer.
13746 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13747 function.
13748 (grub_usb_bulk_setup_readwrite): Likewise.
13749 (grub_usb_bulk_finish_readwrite): Likewise.
13750 * grub-core/commands/keylayouts.c: New file.
13751 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13752 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13753 aliases.
13754 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13755 support scancode 2.
13756 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13757 * include/grub/keyboard_layouts.h: New file.
13758 * util/grub-mklayout.c: New file.
13759 * util/grub-kbdcomp.in: Likewise.
13760
a1d84a5e
VS
137612010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 Unify memory types.
13764
13765 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13766 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13767 types.
13768 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13769 (grub_upper_mem): Likewise.
13770 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13771 * include/grub/memory.h (grub_memory_type_t): New enum.
13772 All users updated.
13773
9696382e
VS
137742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * grub-core/Makefile.core.def (lsapm): New module.
13777 * grub-core/commands/i386/pc/lsapm.c: New file.
13778 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13779 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13780 Likewise.
13781 * include/grub/i386/pc/apm.h: New file.
13782 * include/multiboot.h (multiboot_apm_info): New struct.
13783
137842010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 GRUB-legacy configuration file support.
13787
13788 * Makefile.util.def (grub-menulst2cfg): New util.
13789 * docs/man/grub-menulst2cfg.h2m: New file.
13790 * grub-core/Makefile.core.def (legacycfg): New module.
13791 * grub-core/commands/legacycfg.c: New file.
13792 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13793 (grub_normal_add_menu_entry): ... this.
13794 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13795 (grub_normal_set_password): ...this.
13796 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13797 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13798 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13799 * grub-core/lib/legacy_parse.c: New file.
13800 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13801 * include/grub/i386/pc/vesa_modes_table.h: New file.
13802 * include/grub/legacy_parse.h: Likewise.
13803 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13804 * util/grub-menulst2cfg.c: New file.
13805
bf8d1338
CW
138062010-09-17 Colin Watson <cjwatson@ubuntu.com>
13807
13808 * grub-core/kern/emu/hostdisk.c
13809 (convert_system_partition_to_system_disk): Initialise node.
13810
9c0bad2e
CW
138112010-09-17 Colin Watson <cjwatson@ubuntu.com>
13812
13813 * grub-core/kern/emu/hostdisk.c
13814 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13815 leak.
13816 Reported and based on patch by: Modestas Vainius.
13817
a939d135
CW
138182010-09-17 Colin Watson <cjwatson@ubuntu.com>
13819
13820 Fix DM-RAID probing with recent versions of device-mapper udev
13821 rules.
13822
13823 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13824 canonicalise device paths under /dev/mapper/.
13825 (convert_system_partition_to_system_disk): Compare the
13826 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13827 path, since device nodes under /dev/mapper/ are often symlinks.
13828
0f7ee3c9
YB
138292010-09-17 Yves Blusseau <blusseau@zetam.org>
13830
13831 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13832
10854d0d
YB
138332010-09-16 Yves Blusseau <blusseau@zetam.org>
13834
13835 * configure.ac: Avoid some annoying error messages if freetype-config
13836 program is not found.
13837
108538d8
CW
138382010-09-16 Colin Watson <cjwatson@ubuntu.com>
13839
13840 Support RAID on virtio devices, and others.
13841
13842 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13843 Rename to ...
13844 [__MINGW32__] (grub_find_device): ... this.
13845 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13846 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13847 reasonable default if dir is NULL.
13848 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13849 ...
13850 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13851 (grub_guess_root_device): Update callers.
13852 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13853
13854 * util/raid.c (grub_util_getdiskname): Remove.
13855 (grub_util_raid_getmembers): Use grub_find_device rather than
13856 grub_util_getdiskname.
13857
e5bfc130
CW
138582010-09-16 Colin Watson <cjwatson@ubuntu.com>
13859
13860 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13861 needing to be compiled with serial support.
13862 (ls): Indicate that multiple files are accepted.
13863 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13864 indicate that multiple files are accepted.
13865
be458ae2
CW
138662010-09-16 Colin Watson <cjwatson@ubuntu.com>
13867
13868 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13869 libgrub_a_init.c, and util/bash-completion.d/grub.
13870
cb731b5e
VS
138712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * util/grub-setup.c (setup): Fix incorrect container semantics.
13874
35139e8a
VS
138752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13878 misusage.
13879 Reported by: J. Nick Terry
13880
e50fca4a
VS
138812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 Move embedding routines to partmap sources files.
13884
13885 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13886 [GRUB_UTIL]: New variable.
13887 (gpt_partition_map_iterate): Set part.parent.
13888 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13889 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13890 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13891 New function.
13892 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13893 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13894 (grub_partition_map) [GRUB_UTIL]: New field embed.
13895 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13896 (setup): Use ->embed.
13897
f00478b7
VS
138982010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13901 function.
13902 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13903 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13904
2b94e3ff
YB
139052010-09-15 Yves Blusseau <blusseau@zetam.org>
13906
13907 Add function to get completions from usage.
13908
13909 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13910 completions from usage. Use LC_ALL=C to get options properly.
13911
2e04a006
VS
139122010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * grub-core/gnulib/basename-lgpl.c: Imported.
13915 * grub-core/gnulib/basename.c: Likewise.
13916 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13917 * grub-core/gnulib/dirname.c: Likewise.
13918 * grub-core/gnulib/dirname.h: Likewise.
13919 * grub-core/gnulib/stripslash.c: Likewise.
13920
5dcdf93a
VS
139212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 * grub-core/gnulib/error.c: Resynced.
13924 * grub-core/gnulib/getopt.c: Likewise.
13925 * grub-core/gnulib/getopt_int.h: Likewise.
13926 * grub-core/gnulib/regex.h: Likewise.
13927 * grub-core/gnulib/regex_internal.c: Likewise.
13928 * grub-core/gnulib/regex_internal.h: Likewise.
13929
014f47b7
SJ
139302010-09-15 Szymon Janc <szymon@janc.net.pl>
13931
13932 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13933 CRC calculations and validity checks.
13934 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13935 calculations.
13936
dd521a4a
SJ
139372010-09-15 Szymon Janc <szymon@janc.net.pl>
13938
13939 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13940
79c4eeb9
VS
139412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 Fix incorrect echo options handling.
13944 Reported by: Yves Blusseau.
13945
13946 * include/grub/command.h (grub_command_flags_t): New flags
13947 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13948 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13949 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13950
ed80f7d5
VS
139512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13954 users updated.
13955 (GRUB_COMMAND_FLAG_MENU): Likewise.
13956 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13957 (GRUB_COMMAND_FLAG_TITLE): Removed.
13958 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13959 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13960 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13961 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13962 (grub_command_flags_t): New enum. All users updated.
13963
5fe7620a
SG
139642010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13965
13966 Fix solaris compilation.
13967
13968 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13969 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13970 (grub-emu-list): Likewise.
13971
545b752f
VS
139722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 Remove deprecated root command.
13975
13976 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13977 updated.
13978
6c1a338c
VS
139792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * util/i386/pc/grub-setup.c: Merge this ...
13982 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13983 * util/grub-setup.c: ... into this.
13984 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13985 New struct.
13986
139872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13990 possible.
13991
d2ea4551
VS
139922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13995 allocate p.
13996
3c3b5040
VS
139972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14000 explicit root argument to set to prevent UUID to be interpreted as
14001 argument to set.
14002
b71c3fae
VS
140032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14006
275433e6
VS
140072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14008
14009 Don't export grub_gate_a20.
14010
14011 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14012 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14013 to ...
14014 (grub_gate_a20): ... this. All users updated.
14015 * include/grub/i386/pc/init.h: Removed. All users updated.
14016
a5dbb1f1
VS
140172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 Create euro.pf2 which supports most European languages.
14020
14021 * Makefile.am (grubdata_DATA): Add euro.pf2.
14022 (euro.pf2): New target.
14023 (CLEANFILES): Add euro.pf2.
14024
62a747cb
VS
140252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 * configure.ac: Disable emu-usb by default to prevent inadvertent
14028 device takeover.
14029
608e43b1
VS
140302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14031
14032 Disable usbserial on grub-emu since our libusb code isn't good enough
14033 yet.
14034
14035 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14036 (usbserial_pl2303): Likewise.
14037 (usbserial_ftdi): Likewise.
14038
94564f81
VS
140392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * include/grub/disk.h (grub_disk): Remove has_partitions.
14042 All users updated.
14043 * disk/loopback.c (grub_loopback): Remove has_partitions.
14044 All users updated.
14045 (options): Remove partitions. All users updated.
14046 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14047 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14048 actual partition table is found.
14049
3352800b
VS
140502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 Remove readability checks (too many false negatives).
14053
14054 * util/grub-install.in: Remove readability checks.
14055 * util/grub-mkconfig.in: Likewise.
14056 * util/grub.d/10_hurd.in: Likewise.
14057 * util/grub.d/10_kfreebsd.in: Likewise.
14058 * util/grub.d/10_linux.in: Likewise.
14059 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14060 way.
14061
2419f17a
VS
140622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 Enable acpi shutdown on all ACPI platforms.
14065
14066 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14067 on coreboo, multiboot and EFI.
14068 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14069 (grub_acpi_halt): Likewise.
14070 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14071 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14072 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14073 * grub-core/lib/i386/halt.c (grub_halt)
14074 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14075
0575c7c3
VS
140762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14079 context.
14080
54ac3cd1
VS
140812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14084 * grub-core/video/efi_uga.c: Likewise.
14085
b2a30ac5
VS
140862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 Filter devaliases and never open same device twice.
14089
14090 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14091 (last_ihandle): Likewise.
14092 (ofdisk_hash_ent): New member shortest.
14093 (ofdisk_hash_add): Add canonical path too.
14094 (scan): New function.
14095 (grub_ofdisk_iterate): Iterate over hashed entries.
14096 (compute_dev_path): Don't add :0.
14097 (grub_ofdisk_open): Don't really open the disk.
14098 (grub_ofdisk_close): Avoid closing unrelated disk.
14099 (grub_ofdisk_read): Implement reopen logic.
14100 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14101 New function.
14102 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14103 New proto.
14104
fb53b340
VS
141052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 Fix sparc64.
14108
14109 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14110 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14111 right address. Add sparc64_ieee1275_ldflags.
14112 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14113 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14114 to grub_host_to_target_addr
14115 (load_image): Likewise.
14116
f452b040
VS
141172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 * grub-core/normal/completion.c (complete_file): Handle device
14120 containing slash.
14121 Fix based on patch by Doug Nazar.
14122
9b5b2541
VS
141232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 grub-mknetdir script.
14126
14127 * Makefile.util.def (grub-mknetdir): New module.
14128 * tests/util/grub-shell.in: Support boot=net
14129 * util/grub-mknetdir.in: New file.
14130
9d2be652
VS
141312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 videoinfo on non-vbe.
14134
14135 * grub-core/Makefile.core.def (vbeinfo): Removed.
14136 (vbetest): Removed.
14137 (videoinfo): New module.
14138 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14139 * grub-core/commands/i386/pc/vbetest.c: Removed.
14140 * grub-core/commands/videoinfo.c: New file.
14141 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14142 specification.
14143 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14144 as vbetest.
14145 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14146 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14147 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14148 mode_number. New parameter mode. All users updated.
14149 (grub_video_gop_iterate): New function.
14150 (grub_video_efi_gop): New member iterate.
14151 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14152 (grub_vbe_set_video_mode): Remove setting useless fields.
14153 (vbe2videoinfo): New function.
14154 (grub_video_vbe_iterate): Likewise.
14155 (grub_video_vbe_setup): Use vbe2videoinfo.
14156 (grub_video_vbe_print_adapter_specific_info): New function.
14157 (grub_video_vbe_adapter): New fields iterate and
14158 print_adapter_specific_info.
14159 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14160 All users updated.
14161 (grub_video_mode_info): New field mode_number.
14162 (grub_video_adapter): New fields iterate and
14163 print_adapter_specific_info.
14164
179503f5
TG
141652010-09-13 Tristan Gingold <gingold@free.fr>
141662010-09-13 Robert Millan <rmh.grub@aybabtu.com>
141672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * grub-core/commands/efi/lsefisystab.c: New file.
14170 * grub-core/commands/efi/lssal.c: Likewise.
14171 * grub-core/Makefile.core.def (lsacpi): New module.
14172 (lsefisystab): Likewise.
14173 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14174 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14175 (grub_efi_sal_system_table): New struct.
14176 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
14177 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14178 (grub_efi_sal_system_table_platform_features): Likewise.
14179 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14180 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14181 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14182 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14183
cf9827de
VS
141842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 Support explicit user claim that a device is BIOS-visible.
14187
14188 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14189 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14190 * grub-core/kern/emu/hostdisk.c
14191 (convert_system_partition_to_system_disk): Support mdX.
14192 (find_system_device): New parameter add. All users updated.
14193 (grub_util_biosdisk_is_present): New function.
14194 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14195 proto.
14196
53f0eb1f
VS
141972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 Search hints support.
14200
14201 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14202 All users updated.
14203
b23ffd70
YB
142042010-09-13 Yves Blusseau <blusseau@zetam.org>
14205
14206 Bash completion script for util commands
14207
14208 * Makefile.am: Add util/bash-completion.d directory
14209 * configure.ac: Likewise.
14210 * util/bash-completion.d/Makefile.am: New file.
14211 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14212
d547dc28
VS
142132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14216 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14217 Reported by: Yves Blusseau.
14218
2fc8ccb9
VS
142192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14222 partition size and offset.
14223
d8a84076
VS
142242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14227
84fb3b3d
VS
142282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14231
768ec2e2
VS
142322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14235 (grub_xvasprintf): Likewise.
14236
4870900f
VS
142372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14240
faca6bec
VS
142412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14244 args ending with NULL.
14245
142462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
14247
14248 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14249 pointer.
14250
3c70f225
SJ
142512010-09-11 Szymon Janc <szymon@janc.net.pl>
14252
14253 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14254
4df7996d
VS
142552010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 Shutdown using ACPI.
14258
14259 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
14260 * grub-core/commands/acpihalt.c: New file.
14261 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
14262 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
14263 (grub_acpi_halt): New proto.
14264 (GRUB_ACPI_SLP_EN): New const.
14265 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
14266 (GRUB_ACPI_OPCODE_*): New enum.
14267 (GRUB_ACPI_EXTOPCODE_*): Likewise.
14268
126b4c32
TG
142692010-09-11 Tristan Gingold <gingold@free.fr>
142702010-09-11 Robert Millan <rmh.grub@aybabtu.com>
142712010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * commands/lsacpi.c: New file.
14274 * grub-core/Makefile.core.def (lsacpi): New module.
14275 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
14276 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
14277 (grub_acpi_madt_entry_header): New struct.
14278 (grub_acpi_madt): Likewise.
14279 (grub_acpi_madt_entry_interrupt_override): Likewise.
14280 (grub_acpi_madt_entry_sapic): Likewise.
14281 (grub_acpi_madt_entry_lsapic): Likewise.
14282 (grub_acpi_madt_entry_platform_int_source): Likewise.
14283 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
14284 (PRIuGRUB_UINT32_T): Likewise.
14285 (PRIxGRUB_UINT64_T): Likewise.
14286
1aa4fe88
VS
142872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 Implement loading palette on ieee1275_fb.
14290
14291 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
14292 (have_setcolors): Likewise.
14293 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
14294 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
14295 (grub_video_ieee1275_set_palette): Implement.
14296
25761e13
VS
142972010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
142982010-09-11 Colin Watson <cjwatson@ubuntu.com>
14299
14300 * util/grub-install.in (grub_partition): New variable.
14301 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
14302 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
14303 Fixes a bug reported by Yves Blusseau.
14304
050abaea
VS
143052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 Fix emu on mipsel.
14308
14309 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
14310 =grub_cpu_flush_cache on all mips and not only yeeloong.
14311 * configure.ac (COND_mips): New conditional.
14312 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
14313 platforms.
14314 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
14315 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
14316 [GRUB_LINKER_HAVE_INIT]: New function.
14317 (grub_emu_post_init): Likewise.
14318 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
14319 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
14320 * include/grub/cache.h (_mips): Include mips/cache.h.
14321 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
14322 LVM and RAID prototypes.
14323 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
14324 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
14325 function.
14326
5ed7d816
CW
143272010-09-10 Colin Watson <cjwatson@ubuntu.com>
14328
14329 * util/grub-install.in: Don't try to verify core.img until after
14330 running grub-mkimage to create it.
14331
90367e04
RM
143322010-09-10 Robert Millan <rmh@gnu.org>
14333
14334 * util/grub.d/10_hurd.in: Add misc readability checks.
14335 * util/grub.d/10_kfreebsd.in: Likewise.
14336 * util/grub.d/10_linux.in: Likewise.
14337
c452fa66
CW
143382010-09-10 Colin Watson <cjwatson@ubuntu.com>
14339
14340 * util/grub-install.in: ${imgext} won't be defined here until the
14341 install branch is merged. For the meantime, only verify core.img on
14342 i386-pc and sparc64-ieee1275 platforms.
14343
c38fe9f4
RM
143442010-09-10 Robert Millan <rmh@gnu.org>
14345
14346 Solaris support in grub_find_zpool_from_dir(). Thanks
14347 Seth Goldberg for referring to getextmntent() facility.
14348
14349 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
14350 `sys/mkdev.h'.
14351 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
14352 `<sys/mnttab.h>'.
14353 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
14354 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
14355 method for finding zpool name.
14356
905f7773
CW
143572010-09-10 Colin Watson <cjwatson@ubuntu.com>
14358
14359 grub-fstest needs the host and hostfs modules while other utilities
14360 actively require those modules to be absent, so grub-fstest needs
14361 its own initialisation and finalisation code.
14362
14363 * Makefile.am (grub_fstest.pp): New target.
14364 (grub_fstest_init.lst): Likewise.
14365 (grub_fstest_init.c): Likewise.
14366 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
14367
fb90b546
RM
143682010-09-10 Robert Millan <rmh@gnu.org>
14369
14370 * configure.ac: Check for `struct statfs.f_fstypename' and
14371 `struct statfs.f_mntfromname'.
14372
14373 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
14374 kFreeBSD-specific code.
14375
66d4bea5
RM
143762010-09-10 Robert Millan <rmh@gnu.org>
14377
14378 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
14379 on ZFS. Now non-main filesystems are supported as / too.
14380
b6a690ee
CW
143812010-09-09 Colin Watson <cjwatson@ubuntu.com>
14382
14383 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
14384 and grub-core/disk/host.c to ...
14385 (grub-fstest): ... here. Having the host disk implementation
14386 present confuses grub-probe and other utility programs.
14387
14388 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
14389 when writing to a file, not when writing to stdout.
14390
8901b00c 143912010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
14392
14393 * tests/partmap_test.in: New test for partitions.
14394 * Makefile.util.def: Rules for new test.
14395
7bf45fdd
RM
143962010-09-09 Robert Millan <rmh@gnu.org>
14397
14398 * util/grub-probe.c (probe): Fix a pair of unhandled error
14399 conditions.
14400
4dfbc574
RM
144012010-09-09 Robert Millan <rmh@gnu.org>
14402
14403 Basic Btrfs support (detection and UUID).
14404
14405 * grub-core/fs/btrfs.c: New file.
14406 * Makefile.util.def (library): Register btrfs.c.
14407 * grub-core/Makefile.core.def: Likewise.
14408
6b8e78ae
RM
144092010-09-08 Robert Millan <rmh@gnu.org>
14410
14411 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
14412 with (optional) parameters to specify device and relative path.
14413 * util/grub-install.in: Use is_path_readable_by_grub() to
14414 verify readability of a few critical files.
14415 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
14416 verify readability of grub.cfg.new.
14417
27f21a8b
VS
144182010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 Split minix.mod into minix.mod and minix2.mod.
14421
14422 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
14423 * grub-core/Makefile.core.def (minix2): New module.
14424 * grub-core/fs/minix.c: Use definitions instead of runtime version
14425 checking.
14426 * grub-core/fs/minix2.c: New file.
14427
c0e53ea5
YB
144282010-09-08 Yves Blusseau <blusseau@zetam.org>
14429
14430 Add new --boot-directory option to replace --root-directory
14431
14432 * util/grub-install.in: Add new --boot-directory option
14433 * util/grub-reboot.in: Likewise.
14434 * util/grub-set-default.in: Likewise.
14435
b9fe6ea2
YB
144362010-09-08 Yves Blusseau <blusseau@zetam.org>
14437
14438 * util/grub-mkconfig.in: Use new variable.
14439
d87aedff
YB
144402010-09-08 Yves Blusseau <blusseau@zetam.org>
14441
14442 * configure.ac: Define some useful variables.
14443
e55e8495
VS
144442010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14447 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
14448 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
14449 Use terminfo and don't use cursor-on/cursor-off unless it's known
14450 to work.
14451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
14452 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
14453
6fa6d675
CW
144542010-09-08 Colin Watson <cjwatson@ubuntu.com>
14455
14456 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
14457 starts with "(,", fill the drive containing the loaded image in
14458 between those two characters, but expect that a full partition
14459 specification including partition map names will follow.
14460
92f2aef0
RM
144612010-09-08 Robert Millan <rmh@gnu.org>
14462
14463 * configure.ac: Remove `--enable-grub-fstest' option.
14464 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
14465
14466 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
14467 `grub-fstest' instead of `grub-probe' for readability verification.
14468 * util/grub-probe.c (probe): Remove readability verification kludge.
14469
99fd620d
RM
144702010-09-08 Robert Millan <rmh@gnu.org>
14471
14472 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
14473 initializing `GRUB_FS'.
14474
058e30ac 144752010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
14476
14477 Not command (!) support to GRUB script.
14478
14479 * tests/grub_script_not.in: New test.
14480 * Makefile.util.def: Rules for new test.
14481
14482 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14483 ! command as a special case.
14484 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
14485
b61d05ed 144862010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14487
058e30ac 14488 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
14489 grub_free.
b61d05ed 14490
4d69c786 144912010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14492
14493 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
14494
aa3119c4 144952010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14496
14497 * docs/grub.texi (Shell-like scripting): Documentation for break,
14498 continue, shift and return commands.
14499
db0f7e3d
VS
145002010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
14501
14502 Rename CD-ROM to cd on BIOS.
14503
14504 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
14505 "cd".
14506 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
14507
88b87c93
VS
145082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
14511 * util/grub-probe.c (main): Likewise.
14512 * util/i386/pc/grub-setup.c (main): Likewise.
14513 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14514 Reported and debugged by: alexxy
14515
294f324d
VS
145162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
14519 diagnostic info.
14520
d7ee3441
JS
145212010-09-05 Jo Shields <directhex@apebox.org>
14522
14523 * util/grub.d/30_os-prober.in: Add missing classes.
14524
d7e06c1f
VS
145252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 * docs/grub.texi (Theme file format): Document new position format.
14528
fc157e53
VS
145292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
14532 a table. Use @code instead of @verbatim.
14533
506e9a1c
CB
145342010-09-05 Colin D Bennett <colin@gibibit.com>
14535
14536 Gfxmenu documentation.
14537
14538 * docs/grub.texi (Theme file format): New chapter.
14539
f0aff67c
SJ
145402010-09-05 Szymon Janc <szymon@janc.net.pl>
14541
14542 * grub-core/Makefile.core.def (xzio): New module.
14543 * grub-core/io/xzio.c: New file.
14544 * grub-core/lib/xzembed/xz.h: New file (from xembed).
14545 * grub-core/lib/xzembed/xz_config.h: Likewise.
14546 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
14547 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
14548 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
14549 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
14550 * grub-core/lib/xzembed/xz_private.h: Likewise.
14551 * grub-core/lib/xzembed/xz_stream.h: Likewise.
14552 * include/grub/file.h (grub_file_filter_id): New compression filter
14553 GRUB_FILE_FILTER_XZIO.
14554
82a85062
VS
145552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
14558 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
14559 size.
14560
3579415d
VS
145612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
14564 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
14565
5124ae6d
VS
145662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 Uncompressed checksum support.
14569
14570 * grub-core/commands/hashsum.c (options): Add option --uncompress.
14571 (check_list): New parameter uncompress.
14572 (grub_cmd_hashsum): Handle --uncompress.
14573
9aadb3d1
VS
145742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 Reintroduce testload.
14577
14578 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
14579 from here ...
14580 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
14581 (GRUB_MOD_INIT): New function.
14582 (GRUB_MOD_FINI): Likewise.
14583 * grub-core/Makefile.core.def (testload): New module.
14584
a17792c3
SJ
145852010-09-05 Szymon Janc <szymon@janc.net.pl>
14586
14587 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
14588 (uint8_t): New type.
14589 (uint16_t): Likewise.
14590 (uint32_t): Likewise.
14591 (uint64_t): Likewise.
14592
b81e40a3
SJ
145932010-09-05 Szymon Janc <szymon@janc.net.pl>
14594
14595 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
14596
fc2ef117
VS
145972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
14600 Made static.
14601 (grub_gzfile_open): Removed. All users updated.
14602 (GRUB_MOD_INIT): New function.
14603 (GRUB_MOD_FINI): Likewise.
14604 * grub-core/kern/file.c (grub_file_filters_all): New variable.
14605 (grub_file_filters_enabled): Likewise.
14606 (grub_file_open): Handle filters.
14607 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
14608 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
14609 * include/grub/file.h (grub_file_filter_id_t): New type.
14610 (grub_file_filter_t): Likewise.
14611 (grub_file_filters_all): New extern variable.
14612 (grub_file_filters_enabled): Likewise.
14613 (grub_file_filter_register): New inline function.
14614 (grub_file_filter_unregister): Likewise.
14615 (grub_file_filter_disable): Likewise.
14616 (grub_file_filter_disable_compression): Likewise.
14617 * include/grub/gzio.h: Removed.
14618
35ee15e0
BC
146192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14620
14621 Filename expansion support for wildcards in GRUB script.
14622
14623 * tests/grub_script_expansion.in: New test.
14624 * Makefile.util.def: Rule for new test.
14625
14626 * grub-core/commands/wildcard.c: New file, implements filename
14627 expansion support for GRUB script.
14628 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14629 * grub-core/script/argv.c: Cosmetic changes.
14630 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14631 Refactored to perform wildcard expansion on arguments.
14632 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14633 struct.
14634
14635 * tests/util/grub-shell.in: Fix quoting for read input.
14636
5f0c4aca
BC
146372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14638
14639 Support for updating environment variables with matched substrings
14640 of regexp.
14641
14642 * tests/grub_cmd_regexp.in: New test.
14643 * Makefile.util.def: Rule for new test.
14644
14645 * grub-core/commands/regexp.c: New option -s to update environment
14646 variables with regexp matches.
14647
3759a35f
SJ
146482010-09-04 Szymon Janc <szymon@janc.net.pl>
14649
14650 * include/grub/file.h (grub_file): New member not_easly_seekable.
14651 (grub_file_seekable): New inline function.
14652 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14653 easily seekable.
14654 (grub_gzio_open): Set not_easly_seekable.
14655 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14656 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14657
ed8c6dec
BC
146582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14659
14660 Support for options to appear multiple times on cmdline.
14661
14662 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14663 * grub-core/commands/extcmd.c: Support for repeatable option.
14664 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14665 repeatable option support.
14666
14667 Refactor menuentry into a regular command.
14668
14669 * grub-core/commands/menuentry.c: New file, menuentry command
14670 implementation.
14671 * grub-core/Makefile.core.def: Rule update for normal.mod.
14672 * grub-core/normal/main.c: Moved menuentry creation to
14673 grub-core/commands/menuentry.c.
14674 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14675 (grub_menu_execute_entry_real): Removed.
14676 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14677 function.
14678 (grub_script_execute_menuentry): Removed.
14679 * grub-core/script/parser.y (menuentry): Removed.
14680 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14681 * grub-core/script/yylex.l (menuentry): Removed.
14682 * include/grub/menu.h (grub_menu_init): New prototype.
14683 (grub_menu_fini): New prototype.
14684 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14685 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14686 (grub_script_execute_sourcecode): New prototype.
14687
dacd0cf0
BC
146882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14689
14690 "return" command for GRUB script functions.
14691
14692 * tests/grub_script_return.in: New test.
14693 * Makefile.util.def: Rules for new test.
14694
14695 * grub-core/script/execute.c (grub_script_return): New function.
14696 * grub-core/script/main.c: Register/unregister return commaond.
14697 * include/grub/script_sh.h (grub_script_return): New prototype.
14698
52e72f9d
BC
146992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14700
14701 "setparams" command to update positional parameters.
14702
14703 * tests/grub_script_setparams.in: New test.
14704 * Makefile.util.def: Rules for new test.
14705
14706 * grub-core/script/argv.c (grub_script_argv_make): New function.
14707 * grub-core/script/execute.c (replace_scope): New function.
14708 (grub_script_setparams): New function.
14709 * grub-core/script/lexer.c: Remove unused variables.
14710 * grub-core/script/main.c: Register/unregister setparams command.
14711 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14712 (grub_script_setparams): New prototype.
14713
25b60c91
BC
147142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14715
14716 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14717 grub_free order.
14718
37e7bf68
BC
147192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14720
14721 Support for passing block of commands as an argument to extcmds.
14722
14723 * Makefile.util.def: Rules for new test.
14724 * tests/grub_script_blockarg.in: New test.
14725 * grub-core/tests/test_blockarg.c: New file, block argument
14726 command used in the test.
14727
14728 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14729 (grub_register_extcmd_prio): New function prototype.
14730 (grub_extcmd_dispatcher): New function prototype.
14731 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14732 type.
14733 * include/grub/script_sh.h (struct grub_script): New members
14734 `children', `next_siblings' and `refcnt' for block arguments and
14735 reference counting.
14736 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14737 (grub_script_arg): New member `script' for block argument.
14738 (grub_script_argv): New member `script' for block argument.
14739 (grub_parser_param): New member `scripts' for block argument.
14740 (grub_script_mem_free): New extern function prototype.
14741 (grub_script_ref): New function prototype.
14742 (grub_script_unref): New function prototype.
14743
14744 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14745 extcmd form to support block arguments.
14746 * grub-core/script/argv.c: Block arguments support.
14747 * grub-core/script/execute.c: Likewise.
14748 * grub-core/script/lexer.c: Likewise.
14749 * grub-core/script/main.c: Likewise.
14750 * grub-core/script/script.c: Likewise.
14751 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14752 non-terminals.
14753
14754 * grub-core/commands/acpi.c: Update extcmd implementations with
14755 grub_extcmd_context_t.
14756 * grub-core/commands/cat.c: Likewise.
14757 * grub-core/commands/echo.c: Likewise.
14758 * grub-core/commands/extcmd.c: Likewise.
14759 * grub-core/commands/hashsum.c: Likewise.
14760 * grub-core/commands/hdparm.c: Likewise.
14761 * grub-core/commands/help.c: Likewise.
14762 * grub-core/commands/hexdump.c: Likewise.
14763 * grub-core/commands/i386/cpuid.c: Likewise.
14764 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14765 * grub-core/commands/i386/pc/halt.c: Likewise.
14766 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14767 * grub-core/commands/iorw.c: Likewise.
14768 * grub-core/commands/keystatus.c: Likewise.
14769 * grub-core/commands/loadenv.c: Likewise.
14770 * grub-core/commands/ls.c: Likewise.
14771 * grub-core/commands/lspci.c: Likewise.
14772 * grub-core/commands/memrw.c: Likewise.
14773 * grub-core/commands/probe.c: Likewise.
14774 * grub-core/commands/search_wrap.c: Likewise.
14775 * grub-core/commands/setpci.c: Likewise.
14776 * grub-core/commands/sleep.c: Likewise.
14777 * grub-core/disk/loopback.c: Likewise.
14778 * grub-core/hello/hello.c: Likewise.
14779 * grub-core/loader/i386/bsd.c: Likewise.
14780 * grub-core/loader/xnu.c: Likewise.
14781 * grub-core/term/gfxterm.c: Likewise.
14782 * grub-core/term/serial.c: Likewise.
14783 * grub-core/tests/lib/functional_test.c: Likewise.
14784
888d1500
BC
147852010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14786
14787 Multi-line quoted strings support.
14788
14789 * grub-core/script/lexer.c (append_newline): Removed.
14790 (grub_script_lexer_yywrap): Refactored.
14791 (grub_script_lexer_init): Refactored.
14792 * grub-core/script/yylex.l (yywrap): New function.
14793 (grub_lexer_resplit): New function.
14794 (grub_lexer_unput): New function.
14795 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14796 and resplit.
14797 * tests/grub_script_echo1.in: Added few more testcases.
14798
dda060dd
VS
147992010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14800
14801 * grub-core/kern/misc.c: Don't add abort alias in utils.
14802 Reported by: echoline.
14803
6556eba9
BC
148042010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14805
14806 Add missing files into "make dist" tarball for other platforms.
14807
14808 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14809 * conf/Makefile.common (dist_noinst_DATA): New variable.
14810 * conf/Makefile.extra-dist: Added missing make dist files.
14811 * grub-core/Makefile.core.def: Likewise.
14812
c8e7bf5f
VS
148132010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 Compress grub_prefix.
14816
14817 * grub-core/boot/i386/pc/lnxboot.S: Use
14818 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14819 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14820 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14821 GRUB_MACHINE_PREFIX_END. All users updated.
14822 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14823 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14824 + 0x40.
14825 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14826 * util/grub-mkimage.c (image_target_desc): Change data_end to
14827 prefix_end. All users updated.
14828
a7c00cdb
VS
148292010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14832 value.
14833 (grub_openbsd_boot): Likewise.
14834 (grub_netbsd_boot): Likewise.
14835 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14836 (grub_xnu_boot): Likewise.
14837
9f915872
VS
148382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 * configure.ac: Clean LIBS variable after tests.
14841
efa1bee7
CW
148422010-09-02 Colin Watson <cjwatson@ubuntu.com>
14843
14844 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14845
61d720e5
VS
148462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14849 echo if libdevmapper will be used.
14850
ef8e0ec8
IT
148512010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14852
14853 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14854 constant for the same file.
14855
03e261d8
VS
148562010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14859
c2a4eba6
CW
148602010-09-02 Colin Watson <cjwatson@ubuntu.com>
14861
14862 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14863 grub-core/*.pp.
14864
9056cbf3
CW
148652010-09-02 Colin Watson <cjwatson@ubuntu.com>
14866
14867 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14868 required by the boot protocol.
14869
14870 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14871 ebp and edi members.
14872 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14873 state.ebp and state.edi.
14874 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14875 %ebp and %edi according to grub_relocator32_ebp and
14876 grub_relocator32_edi respectively.
14877 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14878 and state.edi.
14879
529cc99a
VS
148802010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 Add i386-pc-pxe image target.
14883
14884 * util/grub-mkimage.c (image_target_desc): New enum value
14885 IMAGE_I386_PC_PXE.
14886 (image_targets): New target i386-pc-pxe.
14887 (generate_image): Handle i386-pc-pxe image.
14888
9a093920
VS
148892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 Fix grub_pxe_scan.
14892
14893 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14894 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14895 All users updated.
14896 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14897 (grub_pxe_pxenv): Correct type.
14898
f9cefc4e
CW
148992010-09-01 Colin Watson <cjwatson@ubuntu.com>
14900
14901 * NEWS: Document most of the important changes since 1.98.
14902
4066f57f
CW
149032010-09-01 Colin Watson <cjwatson@ubuntu.com>
14904
14905 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14906 generated manual page) a little.
14907
da2891f9
CW
149082010-09-01 Colin Watson <cjwatson@ubuntu.com>
14909
14910 * docs/grub.texi: Add myself as an author.
14911
ad717fae
VS
149122010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * Makefile.util.def (libgrub.a): Add missing sunpc.
14915 Reported by: Seth Goldberg.
14916
eefe8abd
VS
149172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 Interrupt wrapping and code simplifications.
14920
9494ef9a
VS
14921 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14922 x86_noieee1275 which are functionaly equivalent in this case.
14923 (grub-install): Make source on each platform explicit. Enable on
14924 all noemu.
14925 * gentpl.py (x86_efi_pc): Removed group.
14926 (x86_noefi): Likewise.
14927 (i386_noefi): Likewise.
14928 (x86_noieee1275): Likewise.
14929 (i386_noieee1275): Likewise.
14930 (i386_noefi_noieee1275): Likewise.
14931 (i386_pc_qemu_coreboot): Likewise.
14932 (i386_coreboot_multiboot): Likewise.
14933 (i386_pc_coreboot_multiboot_qemu): Likewise.
14934 (x86_noefi_mips): Likewise.
14935 (noieee1275): Likewise.
14936 (ieee1275_mips): Likewise.
14937 (noemu_noieee1275): Likewise.
14938 (cmos): New group.
14939 (usb): Likewise.
14940 (videoinkernel): Likewise.
14941 (videomodules): Likewise.
eefe8abd 14942 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14943 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14944 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14945 include/grub/loader.h, include/grub/msdos_partition.h,
14946 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14947 include/grub/machine/console.h, include/grub/machine/vga.h,
14948 include/grub/machine/vbe.h, include/grub/machine/init.h,
14949 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14950 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14951 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14952 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14953 * grub-core/Makefile.core.def (kernel): Explicit the source for
14954 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14955 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14956 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14957 Use videoinkernel tag.
14958 (usb): Enable on all usb.
14959 (usbserial_common): Likewise.
14960 (usbserial_pl2303): Likewise.
14961 (usbserial_ftdi): Likewise.
14962 (uhci): Enable on all x86.
14963 (ohci): Enable on all pci.
14964 (cmostest): Enable on all CMOS.
14965 (acpi): Include commands/acpi.c on all platforms.
14966 (halt): Add relevant lib/*/halt.c.
14967 (hdparm): Enable on all pci.
14968 (lspci): Likewise.
14969 (usbtest): Enable on all usb.
14970 (ata): Enable on all pci.
14971 (ata_pthru): Likewise.
14972 (usbms): Enable on all usb.
14973 (usb_keyboard): Likewise.
14974 (font): Use tag videomodules.
14975 (bufio): Likewise.
14976 (datetime): Use tag cmos. Enable on all noemu.
14977 (mmap): Use tags common and x86.
14978 (gfxterm): Use tag videomodules.
14979 (bitmap): Likewise.
14980 (bitmap_scale): Likewise.
14981 (video_fb): Likewise.
14982 (video): Likewise.
14983 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14984 adjust padding accordingly. All users updated.
14985 (grub_ohci_transaction): Fix bad format specification.
14986 (GRUB_MOD_INIT): Add asserts for struct size.
14987 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14988 (grub_alloc_td): Likewise.
14989 (grub_free_queue): Likewise.
14990 (grub_uhci_transfer): Likewise.
14991 (grub_uhci_transaction): Fix bad format specification.
14992 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14993 (grub_usb_bulk_readwrite): Likewise.
14994 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14995 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14996 Made static.
14997 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14998 Made static.
14999 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15000 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15001 Transformed into C.
15002 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15003 Moved from here ...
15004 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15005 ... here. Transformed into C. Made static.
15006 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15007 Moved from here ...
15008 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15009 ... here. Transformed into C. Made static.
15010 * grub-core/kern/i386/pc/startup.S
15011 (grub_biosdisk_check_int13_extensions): Moved from here ...
15012 * grub-core/disk/i386/pc/biosdisk.c
15013 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15014 Made static.
15015 * grub-core/kern/i386/pc/startup.S
15016 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15017 * grub-core/disk/i386/pc/biosdisk.c
15018 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15019 Transformed into C. Made static.
15020 * grub-core/kern/i386/pc/startup.S
15021 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15022 * grub-core/disk/i386/pc/biosdisk.c
15023 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15024 Transformed into C. Made static.
15025 * grub-core/kern/i386/pc/startup.S
15026 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15027 * grub-core/disk/i386/pc/biosdisk.c
15028 (grub_biosdisk_get_diskinfo_standard): ... here.
15029 Transformed into C. Made static.
15030 * grub-core/kern/i386/pc/startup.S
15031 (grub_biosdisk_get_num_floppies): Moved from here ...
15032 * grub-core/disk/i386/pc/biosdisk.c
15033 (grub_biosdisk_get_num_floppies): ... here.
15034 Transformed into C. Made static.
15035 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15036 New function.
15037 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15038 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15039 Transformed into C. Made static.
15040 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15041 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15042 Transformed into C. Made static.
15043 * grub-core/kern/i386/ieee1275/init.c: Removed.
15044 * grub-core/kern/i386/misc.S: Likewise.
15045 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15046 Splitted from here ...
15047 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15048 Transformed into C. Made static. All users updated.
15049 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15050 Transformed into C. Made static. All users updated.
15051 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15052 Moved from here...
15053 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15054 Transformed into C. Made static. All users updated.
15055 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15056 Moved from here...
15057 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15058 Transformed into C. Made static. All users updated.
15059 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15060 Removed (replaced by C version).
15061 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15062 Moved from here...
15063 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15064 Transformed into C. Made static.
15065 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15066 Moved from here...
15067 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15068 ... here. Transformed into C.
15069 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15070 Moved from here...
15071 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15072 ... here. Transformed into C.
15073 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15074 Moved from here...
15075 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15076 ... here. Transformed into C. Made static.
15077 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15078 Moved from here...
15079 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15080 ... here. Transformed into C.
21ed554b
VS
15081 * grub-core/kern/i386/pc/startup.S
15082 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15083 * grub-core/video/i386/pc/vbe.c
15084 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
15085 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15086 Moved from here...
15087 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15088 ... here. Transformed into C.
15089 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15090 Moved from here...
15091 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15092 ... here. Transformed into C.
15093 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15094 Moved from here...
15095 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15096 ... here. Transformed into C.
15097 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15098 Moved from here...
15099 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15100 ... here. Transformed into C.
15101 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15102 Moved from here...
15103 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15104 ... here. Transformed into C. Made static.
15105 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15106 Moved from here...
15107 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15108 ... here. Transformed into C. Made static.
15109 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15110 Moved from here...
15111 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15112 ... here. Transformed into C. Made static.
15113 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15114 pxe_rm_entry as third argument.
15115 (grub_bios_interrupt): New function.
15116 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15117 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15118 of calling grub_stop.
15119 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15120 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15121 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15122 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15123 * grub-core/lib/i386/halt.c: Moved from here ...
15124 * grub-core/lib/i386/halt.c: ... here.
15125 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15126 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15127 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15128 grub_stop_floppy.
15129 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15130 * include/grub/i386/coreboot/init.h: Removed.
15131 * include/grub/i386/multiboot/init.h: Likewise.
15132 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15133 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15134 * include/grub/i386/pc/int.h: New file.
15135 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15136 (grub_pxe_scan): Removed.
15137 (grub_pxe_call): Update prototype.
15138 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15139 prototypes.
15140 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15141 * include/grub/i386/qemu/init.h: Removed.
15142 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15143 noreturn.
15144 (grub_halt): Likewise.
15145 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15146 (grub_reboot): Likewise.
15147 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15148 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
15149 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15150
215dd471
RM
151512010-08-30 Robert Millan <rmh@gnu.org>
15152
15153 * NEWS: Document addition of ZFS support in `grub-install' and
15154 `grub-mkconfig'.
15155
ebd65b82
BC
151562010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15157
15158 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15159 dprintf output.
15160
11721d19
VS
151612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 Remove leftover embedding of font objects.
15164
15165 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15166 * util/grub-install.in (font): Removed.
15167 * util/grub-mkimage.c (generate_image): Remove font support. All users
15168 updated.
15169
37837d4e
VS
151702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 Remove leftover embedding of font objects.
15173
15174 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15175 * util/grub-install.in (font): Removed.
15176 * util/grub-mkimage.c (generate_image): Remove font support. All users
15177 updated.
15178
b4c1aae0
VS
151792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 15182 Reported by: Ian Turner
b4c1aae0 15183
8920a08d
VS
151842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15187 timeout to avoid indefinite boot stalling.
15188
f21db033
VS
151892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15192 (grub_env_write_color_highlight): Likewise.
15193
9a9de209
VS
151942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * grub-core/normal/term.c (print_more): Return to normal and not
15197 to standard state after printing "---MORE---".
15198
3dca01d7
VS
151992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15202 Mask out the bit 0x80 since it has other meaning that specifiing color.
15203
0b986c40
VS
152042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 New relocator. Allows for more kernel support and more straightforward
15207 loader writing.
15208
15209 * Makefile.am (BOOTTARGET): New variable.
15210 (QEMU32): Likewise.
15211 (linux.init.x86_64): New target.
15212 (linux.init.i386): Likewise.
15213 (multiboot.elf): Likewise.
15214 (kfreebsd.elf): Likewise.
15215 (kfreebsd.aout): Likewise.
15216 (pc-chainloader.elf): Likewise.
15217 (pc-chainloader.bin): Likewise.
15218 (ntldr.elf): Likewise.
15219 (ntldr.bin): Likewise.
15220 (multiboot2.elf): Likewise.
15221 (kfreebsd.init.x86_64): Likewise.
15222 (kfreebsd.init.i386): Likewise.
15223 (knetbsd.init.i386): Likewise.
15224 (kopenbsd.init.i386): Likewise.
15225 (knetbsd.init.x86_64): Likewise.
15226 (kopenbsd.init.x86_64): Likewise.
15227 (linux-initramfs.i386): Likewise.
15228 (linux-initramfs.x86_64): Likewise.
15229 (kfreebsd-mfsroot.i386.img): Likewise.
15230 (knetbsd.image.i386): Likewise.
15231 (kopenbsd.image.i386): Likewise.
15232 (kopenbsd.image.x86_64): Likewise.
15233 (knetbsd.miniroot-image.i386.img): Likewise.
15234 (kfreebsd-mfsroot.x86_64.img): Likewise.
15235 (knetbsd.image.x86_64): Likewise.
15236 (knetbsd.miniroot-image.x86_64.img): Likewise.
15237 (kfreebsd-mfsroot.i386.gz): Likewise.
15238 (bootcheck-kfreebsd-i386): Likewise.
15239 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15240 (bootcheck-kfreebsd-x86_64): Likewise.
15241 (knetbsd.miniroot-image.i386.gz): Likewise.
15242 (bootcheck-knetbsd-i386): Likewise.
15243 (bootcheck-kopenbsd-i386): Likewise.
15244 (bootcheck-kopenbsd-x86_64): Likewise.
15245 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15246 (bootcheck-knetbsd-x86_64): Likewise.
15247 (bootcheck-linux-i386): Likewise.
15248 (bootcheck-linux-x86_64): Likewise.
15249 (bootcheck-linux16-i386): Likewise.
15250 (bootcheck-linux16-x86_64): Likewise.
15251 (bootcheck-multiboot): Likewise.
15252 (bootcheck-multiboot2): Likewise.
15253 (bootcheck-kfreebsd-aout): Likewise.
15254 (bootcheck-pc-chainloader): Likewise.
15255 (bootcheck-ntldr): Likewise.
15256 (CLEANFILES): Add new targets.
15257 (BOOTCHECKS): New variable.
15258 (.PHONY): Add bootchecks.
15259 (SUCCESSFUL_BOOT_STRING): New variable.
15260 (BOOTCHECK_TIMEOUT): Likewise.
15261 (bootcheck): New target
15262 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
15263 * configure.ac: Correct efiemu excuse.
15264 * docs/grub.texi (Supported kernels): New chapter.
15265 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
15266 include/grub/mm_private.h. Simplify inclusion of
15267 include/grub/boot.h, include/grub/loader.h
15268 and include/grub/msdos_partition.h
15269 (KERNEL_HEADER_FILES) [i386_coreboot]:
15270 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
15271 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
15272 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
15273 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
15274 include/grub/machine/loader.h.
15275 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
15276 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
15277 extra_dist.
15278 (pci.mod): Enable on i386-multiboot.
15279 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
15280 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
15281 i386-qemu.
15282 (relocator.mod): Rewritten.
15283 (aout.mod): Enable on all x86.
15284 (bsd.mod): Likewise.
15285 (ntldr.mod): New module.
15286 (linux.mod): Use loader/i386/linux.c on all x86.
15287 (xnu.mod): Enable on all x86.
15288 (vga_text.mod): disable on EFI and QEMU.
15289 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
15290 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
15291 * grub-core/efiemu/loadcore.c: Likewise.
15292 * grub-core/efiemu/main.c: Likewise.
15293 (grub_efiemu_exit_boot_services): Removed.
15294 (grub_efiemu_finish_boot_services): Likewise.
15295 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
15296 function.
15297 * grub-core/efiemu/i386/nocfgtables.c: New file.
15298 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
15299 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
15300 (grub_efi_finish_boot_services): Moved from here ...
15301 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
15302 Fille finish memory map and related data.
15303 (finish_mmap_buf): New variable.
15304 (grub_efi_uintn_t finish_mmap_size): Likewise.
15305 (grub_efi_uintn_t finish_key): Likewise.
15306 (grub_efi_uintn_t finish_desc_size): Likewise.
15307 (grub_efi_uint32_t finish_desc_version): Likewise.
15308 (grub_efi_is_finished): Likewise.
15309 (grub_efi_get_memory_map): Use saved memory map if EFI is already
15310 finished.
15311 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
15312 (grub_elf64_phdr_iterate): Likewise.
15313 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
15314 (grub_os_area_size): Likewise.
15315 (grub_machine_init): Don't reserve os area.
15316 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
15317 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15318 * grub-core/kern/i386/loader.S: Removed.
15319 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
15320 (grub_os_area_size): Likewise.
15321 (grub_machine_init): Don't reserve os area.
15322 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15323 Don't call grub_dl_unload_all.
15324 Don't include loader.S.
15325 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
15326 Declare the memory after _end as available.
15327 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 15328 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 15329 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
15330 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
15331 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
15332 * include/grub/mm_private.h (grub_mm_header): ... here.
15333 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
15334 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
15335 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
15336 (grub_mm_region): ..here. Removed addr. Added pre_size.
15337 All users updated.
15338 * grub-core/kern/mm.c (base): Renamed to ...
15339 (grub_mm_base): ... this. Made global.
15340 (grub_real_malloc): Alloc from end of region.
15341 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
15342 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
15343 * grub-core/kern/powerpc/cache_flush.S: ... here.
15344 * grub-core/lib/efi/relocator.c: New file.
15345 * grub-core/lib/i386/relocator.c: Rewritten.
15346 * grub-core/lib/i386/relocator16.S: New file.
15347 * grub-core/lib/i386/relocator32.S: Likewise.
15348 * grub-core/lib/i386/relocator64.S: Likewise.
15349 * grub-core/lib/i386/relocator_asm.S: Rewritten.
15350 * grub-core/lib/i386/relocator_common.S: New file.
15351 * grub-core/lib/ieee1275/relocator.c: Likewise.
15352 * grub-core/lib/mips/relocator.c: Rewritten.
15353 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
15354 stylistic adjustments.
15355 * grub-core/lib/powerpc/relocator.c: New file.
15356 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
15357 * grub-core/lib/relocator.c: Rewritten.
15358 * grub-core/lib/x86_64/relocator_asm.S: New file.
15359 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
15360 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
15361 (bsd_tag): New struct.
15362 (tags): New variable.
15363 (tags_last): Likewise.
15364 (netbsd_module): New struct.
15365 (netbsd_mods): New variable.
15366 (netbsd_mods_last): Likewise.
15367 (openbsd_opts): New parameter "serial".
15368 (OPENBSD_SERIAL_ARG): New definition.
15369 (netbsd_opts): New parameter "serial".
15370 (NETBSD_SERIAL_ARG): New definition.
15371 (grub_freebsd_add_meta): Reorganised into ...
15372 (grub_bsd_add_meta): ...this. All users updated.
15373 (grub_freebsd_add_mmap): Reorganised into ...
15374 (generate_e820_mmap): ...this...
15375 (grub_bsd_add_mmap): ...and this. All users updated.
15376 (grub_freebsd_list_modules): Use tags.
15377 (grub_netbsd_add_meta_module): New function.
15378 (grub_netbsd_list_modules): Likewise.
15379 (grub_freebsd_boot): Use relocator and finish EFI.
15380 (grub_openbsd_boot): Likewise.
15381 (grub_netbsd_setup_video): New function.
15382 (grub_netbsd_add_modules): Likewise.
15383 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
15384 and finish EFI.
15385 (grub_bsd_unload): Unload tags.
15386 (grub_bsd_load_aout): Use relocator.
15387 (grub_bsd_elf32_size_hook): New function.
15388 (grub_bsd_elf32_hook): Use relocator.
15389 (grub_bsd_elf64_size_hook): New function.
15390 (grub_bsd_elf64_hook): Use relocator.
15391 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
15392 (grub_bsd_load): Zero-out openbsd_ramdisk.
15393 (grub_bsd_load): Use relocator.
15394 (grub_cmd_openbsd): Support serial.
15395 (grub_cmd_netbsd): Support modules.
15396 (grub_cmd_freebsd_module): Use relocator.
15397 (grub_netbsd_module_load): New function.
15398 (grub_cmd_netbsd_module): Likewise.
15399 (grub_cmd_openbsd_ramdisk): Likewise.
15400 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
15401 kopenbsd_ramdisk.
15402 (GRUB_MOD_FINI): Unregister new commands.
15403 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
15404 (grub_freebsd_load_elfmodule_obj): Use relocator.
15405 (grub_freebsd_load_elfmodule): Likewise.
15406 (grub_freebsd_load_elf_meta): Likewise.
15407 (grub_netbsd_load_elf_meta): New function.
15408 (grub_openbsd_find_ramdisk): Likewise.
15409 * grub-core/loader/i386/bsd_helper.S: Removed.
15410 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
15411 * grub-core/loader/i386/bsd_trampoline.S: Removed.
15412 * grub-core/loader/i386/efi/linux.c: Likewise.
15413 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
15414 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
15415 (DEFAULT_VIDEO_MODE): Likewise.
15416 (real_mode_target): New variable.
15417 (prot_mode_target): Likewise.
15418 (initrd_mem_target): Likewise.
15419 (relocator): Likewise.
15420 (efi_mmap_buf): Likewise.
15421 (efi_mmap_size): Likewise.
15422 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
15423 (free_pages): Use relocator.
15424 (allocate_pages): Account for efi_mmap and use relocator. Return error.
15425 (grub_linux_setup_video): Return error.
15426 (grub_linux_trampoline_start): Removed.
15427 (grub_linux_trampoline_end): Likewise.
15428 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
15429 andd video parameters depending on firmware.
15430 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
15431 [GRUB_MACHINE_EFI]: Pass EFI parameters.
15432 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
15433 (grub_cmd_initrd): Use relocator.
15434 * grub-core/loader/i386/linux_trampoline.S: Removed.
15435 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
15436 (elf_sec_entsize): Likewise.
15437 (elf_sec_shstrndx): Likewise.
15438 (elf_sections): Likewise.
15439 (grub_multiboot_load): Use relocator.
15440 (grub_multiboot_get_mbi_size): Account for sections.
15441 (grub_multiboot_make_mbi): Use relocator and support sections.
15442 (grub_multiboot_add_elfsyms): New function.
15443 (grub_multiboot_free_mbi): Free sections.
15444 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
15445 (grub_linux_real_target): Likewise.
15446 (grub_linux_real_chunk): Likewise.
15447 (grub_linux16_prot_size): Likewise.
15448 (grub_linux16_boot): Use relocator.
15449 (grub_linux_unload): Unload relocator.
15450 (grub_cmd_linux): Use relocator.
15451 (grub_cmd_initrd): Likewise.
15452 * grub-core/loader/i386/pc/ntldr.c: New file.
15453 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
15454 Don't try to guess CPU frequency.
15455 (grub_xnu_set_video): Stretch bitmap.
15456 (grub_xnu_boot): Use relocator.
15457 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
15458 (grub_linux_unload): Free relocator.
15459 (grub_linux_load32): Use relocator.
15460 (grub_linux_load64): Likewise.
15461 (grub_cmd_initrd): Likewise.
15462 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
15463 (grub_multiboot_unload): Unload relocator.
15464 (grub_cmd_multiboot): Use relocator.
15465 (grub_cmd_module): Likewise.
15466 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
15467 Use relocator and support sections.
15468 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
15469 (elf_sec_entsize): Likewise.
15470 (elf_sec_shstrndx): Likewise.
15471 (elf_sections): Likewise.
15472 (grub_multiboot_load): Use relocator.
15473 (grub_multiboot_get_mbi_size): Account for sections.
15474 (grub_multiboot_make_mbi): Use relocator and support sections.
15475 (grub_multiboot_add_elfsyms): New function.
15476 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
15477 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
15478 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
15479 Prototype changed. All users updated.
15480 (grub_xnu_align_heap): Simplified.
15481 (grub_xnu_writetree_toheap): Likewise.
15482 (grub_xnu_unload): Unload relocator.
15483 (grub_cmd_xnu_kernel): Use relocator.
15484 (grub_cmd_xnu_kernel64): Likewise.
15485 (grub_xnu_register_memory): Simplified.
15486 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
15487 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
15488 EFI is finished.
15489 (grub_console_checkkey): Likewise.
15490 (grub_console_getkey): Likewise.
15491 (grub_console_getwh): Likewise.
15492 (grub_console_getxy): Likewise.
15493 (grub_console_gotoxy): Likewise.
15494 (grub_console_cls): Likewise.
15495 (grub_console_setcolorstate): Likewise.
15496 (grub_console_setcursor): Likewise.
15497 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
15498 * grub-core/tests/boot/kbsd.init-i386.S: New file.
15499 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
15500 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
15501 * grub-core/tests/boot/kernel-8086.S: Likewise.
15502 * grub-core/tests/boot/kernel-i386.S: Likewise.
15503 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
15504 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
15505 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
15506 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
15507 * grub-core/tests/boot/knetbsd.cfg: Likewise.
15508 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
15509 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
15510 * grub-core/tests/boot/linux.cfg: Likewise.
15511 * grub-core/tests/boot/linux.init-i386.S: Likewise.
15512 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
15513 * grub-core/tests/boot/linux16.cfg: Likewise.
15514 * grub-core/tests/boot/multiboot.cfg: Likewise.
15515 * grub-core/tests/boot/multiboot2.cfg: Likewise.
15516 * grub-core/tests/boot/ntldr.cfg: Likewise.
15517 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
15518 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
15519 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
15520 New definition.
15521 * include/grub/dl.h (grub_dl_unload_all): Removed.
15522 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
15523 (grub_efi_finish_boot_services): Change prototype.
15524 (grub_efi_is_finished): New variable.
15525 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
15526 Changed prototype.
15527 (grub_efiemu_finish_boot_services): Removed.
15528 (grub_machine_efiemu_init_tables): New prototype.
15529 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
15530 (grub_elf64_phdr_iterate): Likewise.
15531 * include/grub/i386/bsd.h: Include relocator.h.
15532 (freebsd_tag_header): New struct.
15533 (grub_openbsd_bios_mmap): Removed.
15534 (grub_unix_real_boot): Removed.
15535 (grub_freebsd_load_elfmodule32): Changed prototype.
15536 (grub_freebsd_load_elfmodule_obj64): Likewise.
15537 (grub_freebsd_load_elf_meta32): Likewise.
15538 (grub_freebsd_load_elf_meta64): Likewise.
15539 (grub_freebsd_add_meta): Removed.
15540 (grub_netbsd_load_elf_meta32): New prototype.
15541 (grub_netbsd_load_elf_meta64): Likewise.
15542 (grub_bsd_add_meta): Likewise.
15543 (grub_openbsd_ramdisk_descriptor): New struct.
15544 (grub_openbsd_find_ramdisk32): New prototype.
15545 (grub_openbsd_find_ramdisk64): Likewise.
15546 * include/grub/i386/coreboot/loader.h: Removed.
15547 * include/grub/i386/efi/loader.h: Likewise.
15548 * include/grub/i386/ieee1275/loader.h: Likewise.
15549 * include/grub/i386/linux.h (linux_kernel_header): Change void *
15550 to grub_uint32_t.
15551 * include/grub/i386/loader.h: Removed.
15552 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
15553 value.
15554 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
15555 (grub_phys_addr_t): New type.
15556 (grub_vtop): New inline function.
15557 (grub_map_memory): Likewise.
15558 (grub_unmap_memory): Likewise.
15559 * include/grub/i386/multiboot/loader.h: Removed.
15560 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
15561 (NETBSD_BTINFO_CONSOLE): New definition.
15562 (NETBSD_BTINFO_SYMTAB): Likewise.
15563 (NETBSD_BTINFO_MODULES): Likewise.
15564 (NETBSD_BTINFO_FRAMEBUF): Likewise.
15565 (grub_netbsd_bootinfo): New struct.
15566 (grub_netbsd_btinfo_common): Use explicit bitsize.
15567 (grub_netbsd_btinfo_mmap_entry): Removed.
15568 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
15569 (grub_netbsd_btinfo_bootdisk): New struct.
15570 (grub_netbsd_btinfo_symtab): Likewise.
15571 (grub_netbsd_btinfo_serial): Likewise.
15572 (grub_netbsd_btinfo_modules): Likewise.
15573 (grub_netbsd_btinfo_framebuf): Likewise.
15574 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
15575 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
15576 Likewise.
15577 (grub_openbsd_bootargs): Use explicit bitsize.
15578 (grub_openbsd_bootarg_console): New struct.
15579 (GRUB_OPENBSD_COM_MAJOR): New definition.
15580 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
15581 * include/grub/i386/pc/efiemu.h: Removed.
15582 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
15583 * include/grub/i386/qemu/loader.h: Removed.
15584 * include/grub/i386/relocator.h: Rewritten.
15585 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
15586 * include/grub/mips/memory.h: New file.
15587 * include/grub/mips/multiboot.h: Rewritten.
15588 * include/grub/mips/relocator.h: Rewritten.
15589 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
15590 (grub_vtop): New function.
15591 (grub_map_memory): Likewise.
15592 (grub_unmap_memory): Likewise.
15593 * include/grub/misc.h (ALIGN_DOWN): New definition.
15594 * include/grub/mm.h (grub_mm_check_real): New proto.
15595 (GRUB_MM_CHECK): New definition.
15596 * include/grub/mm_private.h: New file.
15597 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
15598 (grub_multiboot_get_mbi_size): Removed.
15599 (grub_multiboot_make_mbi): Change prottype.
15600 (grub_multiboot_set_accepts_video): New proto.
15601 (grub_multiboot_add_elfsyms): Likewise.
15602 (grub_multiboot_payload_eip): New variable.
15603 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
15604 New prototype.
15605 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
15606 New definition.
15607 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
15608 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
15609 * include/grub/powerpc/ieee1275/loader.h: Removed.
15610 * include/grub/powerpc/memory.h: New file.
15611 * include/grub/powerpc/relocator.h: Likewise.
15612 * include/grub/relocator.h: Likewise.
15613 * include/grub/relocator_private.h: Likewise.
15614 * include/grub/sparc64/ieee1275/loader.h: Removed.
15615 * include/grub/x86_64/memory.h: New file.
15616 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
15617 (grub_xnu_heap_malloc): Likewise.
15618 (grub_xnu_heap_real_start): Removed.
15619 (grub_xnu_heap_start): Likewise.
15620 (grub_xnu_relocator): New variable.
15621 (grub_xnu_heap_target_start): Likewise.
15622 * tests/util/grub-shell.in: Support non-pc.
15623 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15624
5303b85d
VS
156252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15628 on malloc error.
15629 (grub_bidi_logical_to_visual): Check that malloc succeded.
15630 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15631 puts.
15632 (grub_xputs_normal): Likewise.
15633
d768d159
VS
156342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15637 extra_dist.
15638
156392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15642
5bf84df4
VS
156432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15646
3626810e
VS
156472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15650 dprintf.
15651
a7363f53
BC
156522010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15653
15654 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15655
902f75f6
VS
156562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * grub-core/normal/term.c (print_more): Fix a memory leak.
15659 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15660 (grub_xputs_normal): Likewise.
15661
3c707967
VS
156622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15665 the begining of the string
15666
2053cc07
VS
156672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * grub-core/script/script.c (grub_script_parse): Free parsed on
15670 failure.
15671
46422ebf
VS
156722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15675 on failure.
15676
9e0fa3f6
VS
156772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15680 return.
15681
3393cf16
VS
156822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15683
15684 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15685 (scroll_up): Fix a memory leak.
15686
b17540cb
VS
156872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15690 errors.
15691
67140446
VS
156922010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 Handle USB pendrives exposed as floppies.
15695
15696 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15697 floppy.
15698 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15699 Check for partitions on all devices.
15700
e35e46fc
VS
157012010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15704 (readkey): Likewise.
15705
d24c6190
BC
157062010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15707
15708 Multiple variable names support to "export" command.
15709
15710 * normal/context.c (grub_cmd_export): "export" command supports
15711 multiple variable names.
15712
04ddcc6a
ST
157132010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15714
15715 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15716 --target=drive output to Mach device name.
15717
0c8b61d8
BC
157182010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15719
15720 New Automake based build system for GRUB.
15721
15722 * ABOUT-NLS: New file.
15723 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15724 in Makefile.util.def file.
15725 * Makefile.util.def: New file. Autogen build definitions file for
15726 GRUB host utils.
15727 * conf/Makefile.common: New file. Common variables for GRUB host
15728 utils and target modules.
15729 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15730 * docs/Makefile.am: New file. Automake file for docs.
15731 * gentpl.py: New file. Python script to generate Autogen
15732 template.
15733 * grub-core/Makefile.am: New file. GRUB target modules' rules
15734 that doesn't fit in Makefile.core.def file.
15735 * grub-core/Makefile.core.def: New file. Autogen build
15736 definitions file for GRUB target modules.
15737 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15738 specific setjmp.S file.
15739 * po/Makefile.am: New file.
15740
15741 * .bzrignore: New ignores.
15742 * INSTALL: New requirements, without Ruby.
15743 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15744 * autogen.sh: Updated to invoke autogen as necessary.
15745 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15746 and defines for Automake conditionals.
15747 * geninit.sh: Refactoring.
15748
15749 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15750 necessary.
15751 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15752 New prototype.
15753
15754 * include/grub/test.h: Fix functional test modules' naming.
15755 * grub-core/tests/example_functional_test.c: Fix test module name.
15756
15757 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15758 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15759 * util/grub-editenv.c: Likewise.
15760 * util/grub-fstest.c: Likewise.
15761 * util/grub-mkdevicemap.c: Likewise.
15762 * util/grub-mkfont.c: Likewise.
15763 * util/grub-mkimage.c: Likewise.
15764 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15765 * util/grub-probe.c: Likewise.
15766 * util/grub-script-check.c: Likewise.
15767 * util/i386/pc/grub-setup.c: Likewise.
15768 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15769
15770 * tests/util/grub-shell.in: Fix override directory path.
15771 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15772 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15773
15774 * util/lvm.c: Update #includes.
15775 * util/raid.c: Likewise.
15776 * util/resolve.c: Likewise.
15777 * grub-core/bus/emu/pci.c: Likewise.
15778 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15779 * grub-core/lib/posix_wrap/string.h: Likewise.
15780 * grub-core/kern/emu/main.c: Likewise.
15781
15782 * grub-core/gensymlist.sh: New file. Script for generating kernel
15783 symbols file.
15784 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15785
15786 * grub-core/gentrigtables.c: Fix unused variable warnings.
15787
15788 * Makefile.in: Removed.
15789 * conf/any-emu.rmk: Removed.
15790 * conf/common.rmk: Removed.
15791 * conf/i386-coreboot.rmk: Removed.
15792 * conf/i386-efi.rmk: Removed.
15793 * conf/i386-ieee1275.rmk: Removed.
15794 * conf/i386-multiboot.rmk: Removed.
15795 * conf/i386-pc.rmk: Removed.
15796 * conf/i386-qemu.rmk: Removed.
15797 * conf/i386.rmk: Removed.
15798 * conf/mips-yeeloong.rmk: Removed.
15799 * conf/mips.rmk: Removed.
15800 * conf/powerpc-ieee1275.rmk: Removed.
15801 * conf/sparc64-ieee1275.rmk: Removed.
15802 * conf/tests.rmk: Removed.
15803 * conf/x86-efi.rmk: Removed.
15804 * conf/x86_64-efi.rmk: Removed.
15805 * gendistlist.sh: Removed.
15806 * geninitheader.sh: Removed.
15807 * genkernsyms.sh.in: Removed.
15808 * genmk.rb: Removed.
15809 * gensymlist.sh.in: Removed.
15810 * mkinstalldirs: Removed.
15811 * boot: Moved ...
15812 * grub-core/boot: ... to here.
15813 * bus: Moved ...
15814 * grub-core/bus: ... to here.
15815 * commands: Moved ...
15816 * grub-core/commands: ... to here.
15817 * disk: Moved ...
15818 * grub-core/disk: ... to here.
15819 * efiemu: Moved ...
15820 * grub-core/efiemu: ... to here.
15821 * font: Moved ...
15822 * grub-core/font: ... to here.
15823 * fs: Moved ...
15824 * grub-core/fs: ... to here.
15825 * gencmdlist.sh: Moved ...
15826 * grub-core/gencmdlist.sh: ... to here.
15827 * genemuinit.sh: Moved ...
15828 * grub-core/genemuinit.sh: ... to here.
15829 * genemuinitheader.sh: Moved ...
15830 * grub-core/genemuinitheader.sh: ... to here.
15831 * genfslist.sh: Moved ...
15832 * grub-core/genfslist.sh: ... to here.
15833 * genhandlerlist.sh: Moved ...
15834 * grub-core/genhandlerlist.sh: ... to here.
15835 * genmoddep.awk: Moved ...
15836 * grub-core/genmoddep.awk: ... to here.
15837 * genmodsrc.sh: Moved ...
15838 * grub-core/genmodsrc.sh: ... to here.
15839 * genpartmaplist.sh: Moved ...
15840 * grub-core/genpartmaplist.sh: ... to here.
15841 * genparttoollist.sh: Moved ...
15842 * grub-core/genparttoollist.sh: ... to here.
15843 * genterminallist.sh: Moved ...
15844 * grub-core/genterminallist.sh: ... to here.
15845 * gentrigtables.c: Moved ...
15846 * grub-core/gentrigtables.c: ... to here.
15847 * genvideolist.sh: Moved ...
15848 * grub-core/genvideolist.sh: ... to here.
15849 * gettext: Moved ...
15850 * grub-core/gettext: ... to here.
15851 * gfxmenu: Moved ...
15852 * grub-core/gfxmenu: ... to here.
15853 * gnulib: Moved ...
15854 * grub-core/gnulib: ... to here.
15855 * hello: Moved ...
15856 * grub-core/hello: ... to here.
15857 * hook: Moved ...
15858 * grub-core/hook: ... to here.
15859 * io: Moved ...
15860 * grub-core/io: ... to here.
15861 * kern: Moved ...
15862 * grub-core/kern: ... to here.
15863 * lib: Moved ...
15864 * grub-core/lib: ... to here.
15865 * loader: Moved ...
15866 * grub-core/loader: ... to here.
15867 * mmap: Moved ...
15868 * grub-core/mmap: ... to here.
15869 * normal: Moved ...
15870 * grub-core/normal: ... to here.
15871 * partmap: Moved ...
15872 * grub-core/partmap: ... to here.
15873 * parttool: Moved ...
15874 * grub-core/parttool: ... to here.
15875 * script: Moved ...
15876 * grub-core/script: ... to here.
15877 * term: Moved ...
15878 * grub-core/term: ... to here
15879 * tests/example_functional_test.c: Moved ...
15880 * grub-core/tests/example_functional_test.c: ... to here.
15881 * tests/lib/functional_test.c: Moved ...
15882 * grub-core/tests/lib/functional_test.c: ... to here.
15883 * tests/lib/test.c: Moved ...
15884 * grub-core/tests/lib/test.c: ... to here.
15885 * video: Moved ...
15886 * grub-core/video: ... to here.
15887
645586e6
BC
158882010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15889
15890 Replace --enable-grub-emu-modules with grub-emu-lite.
15891
15892 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15893 cache.S.
15894
15895 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15896 * kern/emu/full.c: New file. For grub-emu specific initialization.
15897 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15898 * kern/emu/main.c: Call initialization function grub_emu_init.
15899
15900 * Makefile.in: Include grub-emu-lite in install.
15901 * commands/parttool.c: Use grub_no_autoload to differentiate
15902 between grub-emu and grub-emu-lite.
15903 * include/grub/misc.h: New variable grub_no_autoload.
15904
15905 * conf/any-emu.rmk: New rules for grub-emu-lite.
15906 * configure.ac: Remove --enable-grub-emu-modules.
15907 * genmk.rb: Cleanup unnecessary rules.
15908 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15909
15910 * normal/main.c: Don't load list files on grub-emu-lite.
15911 * util/misc.c (grub_arch_sync_caches): Removed.
15912
f86a4030
CW
159132010-08-23 Colin Watson <cjwatson@ubuntu.com>
15914
15915 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15916 grub-mkimage rather than grub-mkelfimage.
15917 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15918
06776944
VS
159192010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15922 a key after CapsLock or NumLock. It's just a qemu bug.
15923
df262419
VS
159242010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15927 needed by libusb wrapper.
15928
b40ea81b
ST
159292010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15930
15931 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15932
dee50575
VS
159332010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15936 --nounzip is passed.
15937
fb1d7b79
VS
159382010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 USB hotunplugging and USB serial support.
15941
15942 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15943 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15944 (grub_uhci_transfer): Respect timeout and set *actual.
15945 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15946 non-standard length.
15947 (grub_usb_device_attach): Autoload modules.
15948 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15949 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15950 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15951 users updated.
15952 (grub_usb_add_hub): Fill nports and children.
15953 (attach_root_port): Receive hub instead of controller.
15954 All users updated. Fill hub->devices.
15955 (grub_usb_root_hub): Allocate hub->devices.
15956 (detach_device): New function.
15957 (poll_nonroot_hub): Fill children and detach devices.
15958 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15959 actual arguments. All users updated.
15960 (grub_usb_bulk_read_extended): New function.
15961 * bus/usb/serial/common.c: New file.
15962 * bus/usb/serial/ftdi.c: Likewise.
15963 * bus/usb/serial/pl2303.c: Likewise.
15964 * commands/terminal.c (handle_command): Support wildcard.
15965 * commands/usbtest.c: Output "Unknown" instead of empty string.
15966 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15967 (usbserial_common_mod_SOURCES): New variable.
15968 (usbserial_common_mod_CFLAGS): Likewise.
15969 (usbserial_common_mod_LDFLAGS): Likewise.
15970 (pkglib_MODULES): Add usbserial_pl2303.mod.
15971 (usbserial_pl2303_mod_SOURCES): New variable.
15972 (usbserial_pl2303_mod_CFLAGS): Likewise.
15973 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15974 (pkglib_MODULES): Add usbserial_ftdi.mod.
15975 (usbserial_ftdi_mod_SOURCES): New variable.
15976 (usbserial_ftdi_mod_CFLAGS): Likewise.
15977 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15978 (pkglib_MODULES): Add serial.mod.
15979 (serial_mod_SOURCES): New variable.
15980 (serial_mod_CFLAGS): Likewise.
15981 (serial_mod_LDFLAGS): Likewise.
15982 * conf/i386-pc.rmk: Likewise.
15983 * conf/mips-yeeloong.rmk: Likewise.
15984 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15985 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15986 * disk/usbms.c (first_available_slot): New variable.
15987 (grub_usbms_attach): Don't reuse free slots due to potential cache
15988 problems.
15989 * include/grub/serial.h: Moved to ..
15990 * include/grub/ns8250.h: ...this.
15991 * include/grub/serial.h: New file.
15992 * include/grub/term.h (grub_term_poll_usb): New variable.
15993 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15994 readkey. All users updated.
15995 (grub_terminfo_output_state): Pass term to put.
15996 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15997 (grub_usb_controller_dev): Add timeout and actual arguments to
15998 transfer. All users updated.
15999 (grub_usb_interface): New field detach_data.
16000 (grub_usb_device): New fields children and nports.
16001 (grub_usb_ep_type_t): New type.
16002 (grub_usb_get_ep_type): New function.
16003 (grub_usb_bulk_read_extended): Likewise.
16004 * include/grub/usbdesc.h (grub_usb_desc): New type.
16005 * include/grub/usbserial.h: New file.
16006 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16007 * kern/term.c (grub_term_poll_usb): New variable.
16008 (grub_getkey): Call grub_term_poll_usb if set.
16009 (grub_checkkey): Likewise.
16010 (grub_getkeystatus): Likewise.
16011 * term/serial.c: Moved controller-specific parts to ...
16012 * term/ns8250.c: ... here.
16013 * term/serial.c: Mostly rewritten.
16014 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16015 according to spec.
16016
21a313de
RM
160172010-08-20 Robert Millan <rmh@gnu.org>
16018
16019 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16020 a separate module and maybe other interesting combinations.
16021
16022 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16023 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16024 (kfreebsd_entry): Add generic filesystem module load routine.
16025 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16026
63c734a6
CW
160272010-08-20 Colin Watson <cjwatson@ubuntu.com>
16028
16029 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16030 "numcenter" (I misunderstood the purpose of this entry).
16031 * docs/grub.texi (sendkey): Likewise.
16032
c4d16542
CW
160332010-08-20 Colin Watson <cjwatson@ubuntu.com>
16034
16035 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16036 status flag options; simply omitting the option is equivalent and
16037 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16038 (keysym_table): Rename "num5numlock" to "numlock".
16039 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16040 can uniformly say that only the last of multiple `sendkey'
16041 invocations has any effect.
16042 * docs/grub.texi (sendkey): New section.
16043
93541d66
CW
160442010-08-19 Colin Watson <cjwatson@ubuntu.com>
16045
16046 * commands/i386/pc/sendkey.c (options): Fix three typos.
16047
b4ece5e1
VS
160482010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 Implement sendkey support.
16051
16052 * commands/i386/pc/sendkey.c: New file.
16053 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16054 (sendkey_mod_SOURCES): New variable.
16055 (sendkey_mod_CFLAGS): Likewise.
16056 (sendkey_mod_LDFLAGS): Likewise.
16057
51f1f5af
CW
160582010-08-18 Colin Watson <cjwatson@ubuntu.com>
16059
16060 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16061 fix warnings from Autoconf.
16062
9da94e05
CW
160632010-08-18 Colin Watson <cjwatson@ubuntu.com>
16064
16065 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16066 to avoid false positives with some assemblers that output things
16067 like "someprefix_func" as part of their output.
16068
729a0f2e
RM
160692010-08-15 Robert Millan <rmh@gnu.org>
16070
16071 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16072 errors.
16073 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16074 grub_get_libzfs_handle() errors.
16075
f3710e08
RM
160762010-08-14 Robert Millan <rmh@gnu.org>
16077
16078 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16079 filesystem is not ZFS.
16080
7a3c13de
BC
160812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16082
16083 Fix for misspelled color names defaulting to black/black (bug
16084 reported by Doug Nazar)
16085
16086 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16087 status to prototype.
16088 * normal/color.c (grub_parse_color_name_pair): Return failure
16089 status.
16090 (grub_env_write_color_normal): Ignore bad color names.
16091 (grub_env_write_color_highlight): Likewise.
16092 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16093
ab8ba50d
BC
160942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16095
16096 "shift" command support to GRUB script.
16097
16098 * include/grub/script_sh.h (grub_script_shift): New prototype.
16099 * script/execute.c (grub_script_shift): New function.
16100 * script/main.c (grub_script_init): Register shift command.
16101 (grub_script_fini): Unregister shift command.
16102 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16103
16104 * tests/grub_script_shift.in: New testcase.
16105 * conf/tests.rmk: Rules for new testcase.
16106
4d61999e
BC
161072010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16108
16109 "continue" command support to GRUB script.
16110
16111 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16112 (grub_script_break): Continue support.
16113 * script/main.c (grub_script_init): Register continue command.
16114 (grub_script_fini): Unregister continue command.
16115
16116 * tests/grub_script_continue.in: New testcase.
16117 * conf/tests.rmk: Rules for new testcase.
16118
4df51e00
BC
161192010-08-12 BVK Chaitanya <bvk@dbook>
16120
16121 "break" command support to GRUB script.
16122
16123 * conf/common.rmk: Rule updates to grub-script-check.
16124 * include/grub/misc.h (grub_min): New function.
16125 * include/grub/script_sh.h (grub_script_init): New prototype.
16126 (grub_script_fini): New prototype.
16127 (grub_script_break): New prototype.
16128 * script/main.c (grub_script_init): New function.
16129 (grub_script_fini): New function.
16130 * script/execute.c (grub_script_break): New function.
16131 * normal/main.c: Calls to grub_script_{init,fini}.
16132 * util/grub-script-check.c (grub_script_break): New function.
16133
16134 * tests/grub_script_break.in: New testcase.
16135 * conf/tests.rmk: Rules for new test case.
16136
f12c8420
BC
161372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16138
16139 Function parameters support to GRUB script.
16140
16141 * script/yylex.l (VARIABLE): Regular expression update.
16142 * script/function.c (grub_script_function_call): Moved ...
16143 * script/execute.c (grub_script_function_call): ... to here.
16144 (grub_script_execute_arglist_to_argv): Removed.
16145 (grub_script_arglist_to_argv): New function.
16146 * script/argv.c: New file.
16147 (grub_script_argv_free): New function.
16148 (grub_script_argv_next): Likewise.
16149 (grub_script_argv_append): Likewise.
16150 (grub_script_argv_split_append): Likewise.
16151 * include/grub/script_sh.h (grub_script_argv): New struct.
16152 (grub_script_argv_free): New function.
16153 (grub_script_argv_next): Likewise.
16154 (grub_script_argv_append): Likewise.
16155 (grub_script_argv_split_append): Likewise.
16156
16157 * conf/common.rmk (normal.mod): New source script/argv.c.
16158
16159 * tests/grub_script_echo1.in: More tests.
16160 * tests/grub_script_vars1.in: Likewise.
16161 * tests/grub_script_functions.in: New test case.
16162 * conf/tests.rmk: Rules for new testcase.
16163
8022b748
BC
161642010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16165
16166 Remove grub_script_cmdblock struct.
16167
16168 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16169 * script/parser.y: Likewise.
16170 * script/execute.c: Rename cmdblock suffix to cmdlist.
16171 * script/script.c: Likewise.
16172 * util/grub-script-check.c: Likewise.
16173
79a6ba61
YB
161742010-08-11 Yves Blusseau <blusseau@zetam.org>
16175
16176 * .bzrignore: add grub-macho2img
16177
d04b9414
VS
161782010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16181
f947ab49
VS
161822010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16183
16184 Remove the dump of sm712 initialisation sequence.
16185
16186 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16187 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16188 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16189 (GRUB_VGA_CR_*): Added many registers.
16190 (GRUB_VGA_SR_*): Likewise.
16191 (GRUB_VGA_GR_*): Likewise.
16192 (grub_vga_write_arx): New function.
16193 (grub_video_hw_config): New struct.
16194 (grub_vga_set_geometry): New function.
16195 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16196 GRUB_PCI_CLASS_SUBCLASS_VGA.
16197 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16198 * video/sm712.c (grub_sm712_write_reg): New function
16199 (grub_sm712_read_reg): Likewise.
16200 (grub_sm712_sr_write): Likewise.
16201 (grub_sm712_gr_write): Likewise.
16202 (grub_sm712_cr_write): Likewise.
16203 (grub_sm712_write_arx): Likewise.
16204 (grub_sm712_cr_shadow_write): Likewise.
16205 (grub_sm712_write_dda_lookup): Likewise.
16206 (grub_video_sm712_setup): Initialise the video rather then
16207 blindly replay the dump.
16208 (main) [TEST]: Add a routine to be able to compile as standalone for
16209 tests.
16210 * video/sm712_init.c (sm712_init): Removed.
16211 (sm712_sr_seq1): New array.
16212 (sm712_sr_seq2): Likewise.
16213
f0206638
VS
162142010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 * include/grub/vga.h: Add missing grub/pci.h include.
16217
2764da3b
YB
162182010-08-10 Yves Blusseau <blusseau@zetam.org>
16219
16220 * util/grub-macho2img.c (main): fix typo
16221
cf0c775e
VS
162222010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16225 (grub_vga_gr_read): Likewise.
16226 (grub_vga_cr_write): Likewise.
16227 (grub_vga_cr_read): Likewise.
16228 (grub_vga_sr_write): Likewise.
16229 (grub_vga_sr_read): Likewise.
16230 (grub_vga_palette_read): Likewise.
16231 (grub_vga_palette_write): Likewise.
16232 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16233 (grub_sm712_sr_read): New function.
16234 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16235 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16236
07f360e9
RM
162372010-08-09 Robert Millan <rmh@gnu.org>
16238
16239 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16240 out unused variables on non-ZFS build.
16241
346c2072
RM
162422010-08-08 Robert Millan <rmh@gnu.org>
16243
16244 Fix path generation for sub-filesystems in ZFS.
16245
16246 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16247 missing slash.
16248
71175420
RM
162492010-08-08 Robert Millan <rmh@gnu.org>
16250
16251 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16252
0d8286f3
RM
162532010-08-08 Robert Millan <rmh@gnu.org>
16254
16255 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
16256 exist, issue a proper error message (rely on `ls' for translated
16257 strings).
16258
55dd2924
RM
162592010-08-08 Robert Millan <rmh@gnu.org>
16260
16261 Fix grub-probe invocation.
16262
16263 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
16264
d3dd9e80
RM
162652010-08-04 Robert Millan <rmh@gnu.org>
16266
16267 * configure.ac: Remove checks for getfsstat() and getmntany().
16268 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
16269 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
16270 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
16271 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
16272 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
16273 function.
16274 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
16275 via find_mount_point_from_dir() and getfsstat() / getmntany().
16276
0de22aa9
RM
162772010-08-04 Robert Millan <rmh@gnu.org>
16278
16279 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16280 (grub_find_zpool_from_mount_point): Merge into ...
16281 (grub_find_zpool_from_dir): ... this.
16282 * kern/emu/misc.c: Likewise.
16283
16284 * kern/emu/misc.c
16285 (grub_make_system_path_relative_to_its_root): Replace
16286 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
16287 with grub_find_zpool_from_dir().
16288 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
16289
62858144
RM
162902010-08-04 Robert Millan <rmh@gnu.org>
16291
16292 Support OpenSolaris in ZFS device resolution.
16293
16294 * configure.ac: Check for getmntany().
16295 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
16296 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
16297 support.
16298
9dd6fd50
RM
162992010-08-03 Robert Millan <rmh@gnu.org>
16300
16301 Fix grub-emu build.
16302
16303 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
16304 * include/grub/emu/misc.h: ... here.
16305
16306 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
16307 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
16308
16309 * util/misc.c: Remove `<grub/util/libzfs.h>'.
16310 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
16311 (grub_get_libzfs_handle): Move to ...
16312 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
16313 (grub_get_libzfs_handle): ... here.
16314
c9f7ff97
BC
163152010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
16316
16317 * script/execute.c (grub_script_execute_cmdline): Check for NULL
16318 as command name case.
16319
a870a783
CW
163202010-08-02 Colin Watson <cjwatson@ubuntu.com>
16321
16322 * disk/raid.c (insert_array): Select unique numbers for named arrays
16323 as well, for use as keys in the disk cache.
16324
c7db243b
RM
163252010-08-01 Robert Millan <rmh@gnu.org>
16326
16327 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
16328 kFreeBSD device name, except on ZFS where the filesystem label is
16329 used.
16330 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
16331 `/boot/zfs/zpool.cache'.
16332 Set mountfrom kernel variable using ${kfreebsd_device}.
16333
f7abdefb
RM
163342010-08-01 Robert Millan <rmh@gnu.org>
16335
16336 Make it even harder to use uninitialized `libzfs_handle' (and
16337 make the interface a bit simpler).
16338
16339 * include/grub/util/misc.h (grub_util_init_libzfs)
16340 (libzfs_handle): Remove.
16341 (grub_get_libzfs_handle): New prototype.
16342
16343 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
16344 attribute.
16345 (grub_util_init_libzfs): Remove.
16346 (grub_get_libzfs_handle): New function.
16347
16348 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
16349 grub_get_libzfs_handle() to obtain a libzfs handle instead of
16350 accessing `libzfs_handle' directly.
16351
c882acc0
RM
163522010-08-01 Robert Millan <rmh@gnu.org>
16353
16354 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16355 (grub_find_zpool_from_mount_point): New function prototypes.
16356
16357 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16358 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16359
16360 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16361 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16362 `static' attribute.
16363
16364 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16365 finding zpool from mount point into ...
16366 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16367
16368 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16369 requested path is part of a ZFS pool, use
16370 grub_find_zpool_from_mount_point() to detect its filesystem name,
16371 and generate a path with `/fsname@path' syntax.
16372
8bfe31d8
CW
163732010-08-01 Colin Watson <cjwatson@ubuntu.com>
16374
16375 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
16376 (void) rather than () so that this is a proper prototype.
16377
553df63d
VS
163782010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
16381
8687cf07
VS
163822010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
16385 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
16386
ea9be8ea
CW
163872010-08-01 Colin Watson <cjwatson@ubuntu.com>
16388
16389 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
16390
6eea041a
CW
163912010-08-01 Colin Watson <cjwatson@ubuntu.com>
16392
16393 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
16394
2cfb45df
CW
163952010-08-01 Colin Watson <cjwatson@ubuntu.com>
16396
16397 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
16398 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
16399 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
16400 disable gfxpayload.
16401 (Shell-like scripting): Add real content.
16402 (Serial terminal): Suggest `terminal_input serial; terminal_output
16403 serial' rather than putting the two commands on separate lines,
16404 since console input will be inoperative after the first command.
16405 (menuentry): Document --class, --users, and --hotkey options.
16406 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
16407 Vladimir Serbinenko).
16408
7decd202
VS
164092010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
164102010-08-01 Colin Watson <cjwatson@ubuntu.com>
16411
16412 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
16413
c882acc0
RM
164142010-08-01 Robert Millan <rmh@gnu.org>
16415
16416 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16417 (grub_find_zpool_from_mount_point): New function prototypes.
16418
16419 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16420 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16421
16422 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16423 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16424 `static' attribute.
16425
16426 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16427 finding zpool from mount point into ...
16428 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16429
16430 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16431 requested path is part of a ZFS pool, use
16432 grub_find_zpool_from_mount_point() to detect its filesystem name,
16433 and generate a path with `/fsname@path' syntax.
16434
deb0caa3
RM
164352010-08-01 Robert Millan <rmh@gnu.org>
16436
16437 Prevent accidental use of uninitialized libzfs_handle.
16438
16439 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
16440 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
16441 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
16442
ce04ef47
CW
164432010-08-01 Colin Watson <cjwatson@ubuntu.com>
16444
16445 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
16446 util/grub.d/10_linux.in). Fixes Debian bug #591093.
16447
ebf53056
RM
164482010-08-01 Robert Millan <rmh@gnu.org>
16449
16450 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 16451
3710bb6b
RM
164522010-07-31 Robert Millan <rmh@gnu.org>
16453
16454 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
16455
8072efeb
RM
164562010-07-31 Robert Millan <rmh@gnu.org>
16457
16458 * kern/emu/misc.c: Add missing license header.
16459
3169f4c7
RM
164602010-07-31 Robert Millan <rmh@gnu.org>
16461
16462 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
16463
16464 * include/grub/util/libnvpair.h: Include `<config.h>'.
16465 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
16466 declaring libnvpair prototypes ourselves.
16467 * include/grub/util/libzfs.h: Include `<config.h>'.
16468 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
16469 declaring libzfs prototypes ourselves.
16470
16471 (libzfs_handle): Moved to ...
16472 * include/grub/util/misc.h (libzfs_handle): ... here.
16473 Include `<grub/util/libzfs.h>'.
16474
c9a00aee
RM
164752010-07-30 Robert Millan <rmh@gnu.org>
16476
16477 * include/grub/emu/misc.h: Add missing license header.
16478
a184f9c8
RM
164792010-07-30 Robert Millan <rmh@gnu.org>
16480
16481 Enable `grub-probe -t device' resolution on ZFS.
16482
16483 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
16484 * include/grub/util/libnvpair.h: New file.
16485 * include/grub/util/libzfs.h: New file.
16486
16487 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
16488 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
16489 `<grub/util/libnvpair.h>'.
16490 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
16491
16492 (find_mount_point_from_dir): New static function.
16493 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
16494 function.
16495 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
16496 find_root_device_from_libzfs() before ressorting to find_root_device().
16497
16498 * include/grub/util/misc.h (grub_util_init_libzfs): New function
16499 prototype.
16500 * util/misc.c: Include `<grub/util/libzfs.h>'.
16501 (grub_util_init_libzfs): New function.
16502 [HAVE_LIBZFS] (libzfs_handle): New global variable.
16503 [HAVE_LIBZFS] (fini_libzfs): New static function.
16504 (grub_util_init_libzfs): New function.
16505 * util/grub-probe.c (main): Call grub_util_init_libzfs().
16506
f7790cdd
RM
165072010-07-30 Robert Millan <rmh@gnu.org>
16508
16509 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
16510 (xmalloc, xrealloc, xstrdup, xasprintf): Add
16511 `warn_unused_result' attribute.
16512 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
16513 (grub_xasprintf, grub_xvasprintf): Likewise.
16514 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
16515
0806b63c
RM
165162010-07-29 Robert Millan <rmh@gnu.org>
16517
16518 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
16519 (probe): Handle `PRINT_FS_LABEL'.
16520 (main): Handle `-t fs_label'.
16521
9f841f5c
RM
165222010-07-29 Robert Millan <rmh@gnu.org>
16523
16524 * configure.ac: Remove grub-mkisofs checks.
16525
46371121
VS
165262010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 * util/ieee1275/grub-install.in: Don't use empty grub_device.
16529 Reported by: Lennart Sorensen.
16530
165312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16532
16533 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
16534 prior to terminal_input/terminal_output separation. It's been over 1.5
16535 years and those versions weren't widely deployed.
16536
a9600892
CW
165372010-07-22 Colin Watson <cjwatson@ubuntu.com>
16538
16539 * disk/raid.c (insert_array): Don't count named arrays when looking
16540 for unused array numbers.
697e053c 16541 Reported and tested by: Michael Guntsche.
a9600892 16542
c03507df
CW
165432010-07-20 Colin Watson <cjwatson@ubuntu.com>
16544
16545 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
16546 implementation of this so that grub-emu links again, with a note
16547 that this should support hotplugging in the future.
16548
b26f1c11
CW
165492010-07-20 Colin Watson <cjwatson@ubuntu.com>
16550
16551 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16552
efc9d7f1
CW
165532010-07-20 Colin Watson <cjwatson@ubuntu.com>
16554
16555 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
16556 handle on failure.
16557 (grub_loopback_close): Remove empty function.
16558 (grub_loopback_dev): Remove close method.
16559
dd8ff5c9
CW
165602010-07-20 Colin Watson <cjwatson@ubuntu.com>
16561
16562 Disable EFI cursor when the EFI console becomes inactive.
16563
16564 * term/efi/console.c (grub_efi_console_init): New function.
16565 (grub_efi_console_fini): New function.
16566 (grub_console_term_output): Register init and fini methods.
16567
5e3bec67
VS
165682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * tests/util/grub-shell-tester.in: Remove bashism and declare as
16571 sh script.
16572
afaec079
VS
165732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * disk/loopback.c (grub_loopback): Replace filename with file.
16576 (delete_loopback): Handle new semantics.
16577 (grub_cmd_loopback): Likewise.
16578 (grub_loopback_iterate): Likewise.
16579 (grub_loopback_close): Likewise.
16580
a6a11f3c
VS
165812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16582
16583 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
16584 with -p "".
16585 Reported by: Tito Keitel.
16586
64a638b0
VS
165872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * docs/grub.texi (Naming convention): Document new naming convention.
16590
ab8ba957
VS
165912010-07-20 Vadim Solomin <vadic052@gmail.com>
165922010-07-20 Colin Watson <cjwatson@ubuntu.com>
16593
16594 Generate device.map in something closer to the old ordering.
16595
16596 * util/deviceiter.c (struct device): New declaration.
16597 (compare_file_names): Rename to ...
16598 (compare_devices): ... this. Sort by kernel name in preference to
16599 the stable by-id name, but keep the latter as a fallback comparison.
16600 Update header comment.
16601 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
16602 of `struct device' rather than of plain file names.
16603
a29d6a4b
TF
166042010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
16605
16606 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
16607 on i386.
16608
39d824e8
VS
166092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 * commands/acpi.c (setup_common_tables): Use sizeof instead of
16612 hardcoding size.
16613 (setv1table): Likewise.
16614
f058276b
FZ
166152010-07-20 Colin Watson <cjwatson@ubuntu.com>
16616
16617 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
16618 removing the homehost if present.
16619 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
16620 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
16621 removing the homehost if present.
16622 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
16623 if possible.
16624 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16625
16626 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16627 parameter. Set its pointer target to 0.
16628 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16629 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16630 `data_offset' value from the superblock for 1.x metadata.
16631 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16632 data on the device.
16633 (insert_array): Record the start sector of data on the device.
16634 (grub_raid_register): Pass start_sector parameters to
16635 grub_raid_list->detect and insert_array.
16636 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16637 member.
16638 (struct grub_raid): Add start_sector parameter to `detect'.
16639
16640 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16641 __attribute__ ((packed)), leaving a comment.
16642 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16643 (grub_mdraid_detect_09): ... here and ...
16644 (grub_mdraid_detect_1x): ... here.
16645
166462010-07-20 Peter Henn <peter.henn@web.de>
16647
16648 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16649 chunk size and disk size, which are already given as sector counts
16650 as distinct from the 0.90 units. Fetch the correct device number
16651 from the role table instead of using the table index.
16652
166532010-07-20 Felix Zielcke <fzielcke@z-51.de>
16654
16655 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16656 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16657 (WriteMostly1): New macro.
16658 Set array->name to NULL for metadata format 0.90. Add support for
16659 metadata 1.x. Fix some comments.
16660 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16661 few comments.
16662 * util/getroot.c (grub_util_get_grub_dev): Add support for
16663 /dev/md/name style devices.
16664
4b761da9
CW
166652010-07-20 Colin Watson <cjwatson@ubuntu.com>
16666
16667 * .bzrignore: Ignore 20_linux_xen.
16668
5771289a
CW
166692010-07-17 Colin Watson <cjwatson@ubuntu.com>
16670
16671 * util/import_unicode.py: Remove unnecessary imports.
16672
5dab68df
AN
166732010-07-17 Aleš Nesrsta <starous@volny.cz>
16674
16675 Hotplugging and USB hub support.
16676
16677 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16678 (grub_ohci): Likewise.
16679 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16680 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16681 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16682 (GRUB_OHCI_CTRL_EDS): Likewise.
16683 (GRUB_OHCI_BULK_EDS): Likewise.
16684 (GRUB_OHCI_TDS): Likewise.
16685 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16686 (grub_ohci_ed_phys2virt): New function.
16687 (grub_ohci_virt_to_phys): Likewise.
16688 (grub_ohci_td_phys2virt): Likewise.
16689 (grub_ohci_td_virt2phys): Likewise.
16690 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16691 attachment.
16692 (grub_ohci_find_ed): New function.
16693 (grub_ohci_alloc_td): Likewise.
16694 (grub_ohci_free_td): Likewise.
16695 (grub_ohci_free_tds): Likewise.
16696 (grub_ohci_transfer): Use previously allocated memory.
16697 (grub_ohci_portstatus): Reset status changed bit.
16698 (grub_ohci_detect_dev): Supply status changed.
16699 (grub_ohci_fini_hw): Free memory.
16700 (grub_ohci_restore_hw): Reallocate memory.
16701 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16702 Reset status change.
16703 (grub_uhci_detect_dev): Supply status_change.
16704 * bus/usb/usb.c (attach_hooks): New var.
16705 (grub_usb_device_attach): New function.
16706 (grub_usb_register_attach_hook_class): Likewise.
16707 (grub_usb_unregister_attach_hook_class): Likewise.
16708 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16709 (grub_usb_add_hub): Reset connection changed bit.
16710 (attach_root_port): New function.
16711 (grub_usb_root_hub): Likewise.
16712 (poll_nonroot_hub): Likewise.
16713 (grub_usb_poll_devices): Likewise.
16714 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16715 * disk/usbms.c (grub_usbms_open): Use device hooks.
16716 (grub_usbms_iterate) :Poll devices.
16717 (grub_usbms_finddevs): Split into ...
16718 (grub_usbms_attach): ... this ...
16719 (grub_usbms_attach): ... and this.
16720 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16721 in detect_dev.
16722 (grub_usb_interface): New fields attached and detach_hook.
16723 (grub_usb_attach_hook_class): New type.
16724 (grub_usb_attach_desc): New struct.
16725 (grub_usb_register_attach_hook_class): New function.
16726 (grub_usb_unregister_attach_hook_class): Likewise.
16727 (grub_usb_poll_devices): Likewise.
16728 (grub_usb_device_attach): Likewise.
16729 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16730 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16731
3222efaf
VS
167322010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16735 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16736 delta determination style. Works with most NetBSD partitions too.
16737
139b714a
VS
167382010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16741 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16742
986aad56
VS
167432010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16746
99be513c
AB
167472010-07-14 Anton Blanchard <anton@samba.org>
16748
16749 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16750 ET_DYN files.
16751
18075f62
GS
167522010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16753
16754 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16755
8d9a5b15
GS
167562010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16757
16758 * kern/partition.c (grub_partition_check_containment): New function to
16759 check that a partition is physically contained in a parent. Since
16760 offsets are relative (and non-negative), this reduces to checking that
16761 the partition ends before its parent.
16762 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16763 (grub_partition_iterate): Likewise.
16764 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16765 comments.
16766 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16767 partitions that start before their parent, and add debug printfs.
16768
19563c25
CW
167692010-07-13 Colin Watson <cjwatson@ubuntu.com>
16770
16771 * Makefile.in (.SUFFIX): Spell correctly, as ...
16772 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16773 bare module name without `.mod', e.g. `test') tried to invoke a
16774 Modula-2 compiler.
16775
1a1f1e67
CW
167762010-07-13 Colin Watson <cjwatson@ubuntu.com>
16777
16778 * README: Point to the Info manual.
16779
811b0dca
JS
167802010-07-13 Jiro SEKIBA <jir@unicus.jp>
16781
16782 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16783 2nd superblock position from partition size.
16784
e4f4eafc
CW
167852010-07-10 Colin Watson <cjwatson@ubuntu.com>
16786
16787 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16788 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16789 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16790 outputs.
16791
4274c30f
VS
167922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 Restructure SCSI .id handling.
16795 Reported and tested by: Aleš Nesrsta.
16796
16797 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16798 (grub_atapi_dev): Changed .name to "ata". New field .id.
16799 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16800 (grub_usbms_dev): New field .id.
16801 * disk/scsi.c (grub_scsi_iterate): Generate name.
16802 (grub_scsi_open): Parse name.
16803 * include/grub/scsi.h (grub_make_scsi_id): New function.
16804 (grub_scsi_dev): Change iterate and open to number instead of naming
16805 busses. All users updated.
16806 (grub_scsi): Remove name. Add .bus.
16807
5bc24388
VS
168082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 * commands/help.c (grub_cmd_help): Fix a typo.
16811
249975ba
VS
168122010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16815 Reported and tested by: Colin Watson.
16816
3eaac1a1
VS
168172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16818
16819 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16820 in this context.
16821
becce1b1
VS
168222010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16825
f7bf0918
CW
168262010-07-07 Colin Watson <cjwatson@ubuntu.com>
16827
16828 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16829 indentation.
16830
0b0f9620
CW
168312010-07-06 Colin Watson <cjwatson@ubuntu.com>
16832
16833 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16834 and disk/raid6_recover.c.
16835 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16836 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16837
1e545469
CW
168382010-07-06 Colin Watson <cjwatson@ubuntu.com>
16839
16840 * term/gfxterm.c (repaint_schedulded): Rename to ...
16841 (repaint_scheduled): ... this. Update all callers.
16842 (repaint_was_schedulded): Rename to ...
16843 (repaint_was_scheduled): ... this. Update all callers.
16844
5357687a
CW
168452010-07-06 Colin Watson <cjwatson@ubuntu.com>
16846
16847 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16848 which we expect to be handled by upper layers.
16849
29d7e783
BC
168502010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16851
16852 * bus/usb/usbhub.c: #include time.h header.
16853
37582066
CW
168542010-07-06 Colin Watson <cjwatson@ubuntu.com>
16855
16856 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16857 entry_name also for entries without stat blocks (e.g. ".."); fixes
16858 corruption of the first entry in a directory.
16859
c8c06953
CW
168602010-07-06 Colin Watson <cjwatson@ubuntu.com>
16861
16862 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16863 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16864 doesn't work otherwise.
16865
e75056f1
CW
168662010-07-05 Colin Watson <cjwatson@ubuntu.com>
16867
16868 * docs/grub.texi (Features): Update list of supported file systems.
16869 (GNU/Linux): Update for GRUB 2.
16870 (Serial terminal): Remove mention of --disable-serial, which was a
16871 GRUB Legacy configure option. Update instructions to use
16872 `terminal_input' and `terminal_output' rather than `terminal'.
16873 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16874 configuration' and `Installing GRUB using grub-install'.
16875 (Menu entry editor): Update for GRUB 2.
16876 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16877 Document new -a, -u, and -v options.
16878 (initrd): New section.
16879 (initrd16): New section.
16880 (linux): New section.
16881 (linux16): New section.
16882 (search): The `var' argument to `--set' is optional.
16883 (GRUB only offers a rescue shell): Go into a little more detail on
16884 drive ordering.
16885
5cf69151
CW
168862010-07-05 Colin Watson <cjwatson@ubuntu.com>
16887
16888 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16889
e3f90044
CW
168902010-07-05 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16893 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16894
38d8f4f3
CW
168952010-07-05 Colin Watson <cjwatson@ubuntu.com>
16896
16897 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16898 install_prefix, in line with install_dos_part and install_bsd_part.
16899 Add new prefix variable, which is copied to install_prefix after
16900 comparing core.img in memory with the one read from disk in the
16901 no-embedding case, and use that rather than overwriting
16902 install_prefix immediately when installing to a partition.
16903 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16904 Bicakci.
16905
57ebd41e
GS
169062010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16907
16908 * configure.ac: Avoid == in test command, it's not portable.
16909 * util/grub.d/30_os-prober.in: Likewise.
16910
cb7f64b2
CW
169112010-07-04 Colin Watson <cjwatson@ubuntu.com>
16912
16913 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16914
6b654bb0
GS
169152010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16916
16917 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16918 multiple (top-level) partmaps.
16919
72a2026d
VS
169202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16921
16922 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16923 Reported by: Tino Keitel.
72a2026d 16924
df3eb88f
VS
169252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 Bidi and diacritics support.
16928
16929 * Makefile.in (widthspec.bin): New target.
16930 (widthspec.h): Likewise.
16931 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16932 * autogen.sh: Generate unidata.c.
16933 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16934 * commands/ls.c (grub_ls_list_devices): Likewise.
16935 (grub_ls_list_files): Likewise.
16936 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16937 (grub_mini_cmd_lsmod): Likewise.
16938 * commands/read.c: Likewise.
16939 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16940 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16941 * lib/arg.c (grub_arg_show_help): Likewise.
16942 * lib/crypto.c (grub_password_get): Likewise.
16943 * normal/auth.c (grub_username_get): Likewise.
16944 * normal/misc.c (grub_normal_print_device_info): Likewise.
16945 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16946 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16947 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16948 (normal/charset.c_DEPENDENCIES): New variable.
16949 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16950 (pkglib_MODULES): Remove charset.mod.
16951 (charset_mod_SOURCES): Removed.
16952 (charset_mod_CFLAGS): Likewise.
16953 (charset_mod_LDFLAGS): Likewise.
16954 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16955 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16956 and term/tparm.c.
16957 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16958 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16959 (kernel_img_HEADERS): Add terminfo.h.
16960 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16961 Fill ->font. Reverse ascii bitmaps.
16962 (grub_font_get_xheight): New function.
16963 * font/font.c (grub_font_get_string_width): Moved from here ...
16964 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16965 * font/font.c (grub_font_draw_string): Moved from here ...
16966 * gfxmenu/font.c (grub_font_draw_string): ... here.
16967 * font/font.c (grub_font_dup_glyph): New function.
16968 (grub_font_blit_glyph): Likewise.
16969 (grub_font_blit_glyph_mirror): Likewise.
16970 (blit_comb): Likewise.
16971 (grub_font_construct_dry_run): Likewise.
16972 (grub_font_get_constructed_device_width): Likewise.
16973 (grub_font_construct_glyph): Likewise.
16974 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16975 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16976 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16977 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16978 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16979 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16980 (grub_font_get_xheight): New proto.
16981 (grub_font_get_constructed_device_width): Likewise.
16982 (grub_font_construct_glyph): Likewise.
16983 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16984 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16985 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16986 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16987 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16988 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16989 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16990 (grub_console_getcharwidth): Likewise.
16991 * include/grub/misc.h (grub_xputs): New proto.
16992 (grub_puts): Inlined.
16993 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16994 (grub_normal_get_line_counter): Removed.
16995 (grub_install_newline_hook): Likewise.
16996 (grub_normal_get_char_counter): New proto.
16997 (grub_normal_reset_more): Likewise.
16998 (grub_xputs_normal): Likewise.
16999 * include/grub/powerpc/ieee1275/console.h: Removed.
17000 * include/grub/sparc64/ieee1275/console.h: Likewise.
17001 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17002 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17003 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17004 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17005 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17006 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17007 (grub_term_input): Pass reference to self. All users updated.
17008 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17009 Pass reference to self. New fields normal_color, highlight_color and
17010 data. All users updated.
17011 (grub_putchar): Removed.
17012 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17013 (grub_unicode_estimate_width): New function.
17014 (grub_term_getcharwidth): Add defaults.
17015 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17016 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17017 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17018 (grub_cls): Remove EXPORT_FUNC.
17019 (grub_setcolorstate): Inline.
17020 (grub_newline_hook): Removed.
17021 * include/grub/terminfo.h: Rewritten. All users updated.
17022 * include/grub/unicode.h: New file.
17023 * include/grub/video.h (grub_video_signed_rect): New type.
17024 * kern/emu/console.c (grub_console_highlight_color): Removed.
17025 (grub_console_normal_color): Likewise.
17026 (grub_console_standard_color): Made static.
17027 (grub_ncurses_putchar): Remove mapping.
17028 (grub_ncurses_getcharwidth): Removed.
17029 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17030 (grub_ncurses_setcolor): Removed.
17031 (grub_ncurses_getcolor): Likewise.
17032 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17033 (grub_console_putchar): ... this.
17034 (grub_console_putchar): Handle argument difference.
17035 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17036 console_init_early and console_init_lately.
17037 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17038 * kern/misc.c (grub_puts): Removed.
17039 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17040 (grub_vsnprintf_real): Remove str = NULL support.
17041 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17042 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17043 * kern/term.c (grub_putcode): Renamed to ...
17044 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17045 (grub_putchar): Removed.
17046 (grub_xputs_dumb): New function.
17047 (grub_xputs): New variable.
17048 * lib/charset.c: Move from here ...
17049 * normal/charset.c: ... to here.
17050 (grub_ucs4_to_utf8): New function.
17051 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17052 (join_types): New variable.
17053 (unpack_join): New function.
17054 (bidi_types): New variable.
17055 (unpack_bidi): New function.
17056 (get_bidi_type): Likewise.
17057 (get_join_type): Likewise.
17058 (is_mirrored): Likewise.
17059 (grub_unicode_get_comb_type): Likewise.
17060 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17061 (is_type_after): Likewise.
17062 (grub_unicode_aglomerate_comb): Likewise.
17063 (bidi_line_wrap): Likewise.
17064 (grub_bidi_line_logical_to_visual): Likewise.
17065 (grub_bidi_logical_to_visual): Likewise.
17066 (grub_unicode_mirror_code): Likewise.
17067 (grub_unicode_shape_code): Likewise.
17068 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17069 Don't use grub_putchar.
17070 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17071 (grub_normal_reader_init): Likewise.
17072 (grub_xputs_saved): New variable.
17073 (GRUB_MOD_INIT): Set grub_xputs.
17074 (GRUB_MOD_FINI): Restore grub_xputs.
17075 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17076 (menu_init): Avoid printing gfxmenu error.
17077 (show_menu): Use grub_normal_get_char_counter.
17078 * normal/menu_entry.c (update_screen): Fix out-of-array.
17079 (complete): Avoid NULL dereferencing.
17080 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17081 * normal/menu_text.c (print_spaces): Removed.
17082 (grub_print_ucs4): Likewise.
17083 (grub_print_message_indented): Use grub_print_ucs4.
17084 (print_message): Use grub_putcode.
17085 (print_entry): Hanlde diacritics.
17086 * normal/term.c (term_state): New type.
17087 (grub_more_lines): Removed.
17088 (term_states): New variable.
17089 (grub_normal_line_counter): Renamed to ..
17090 (grub_normal_char_counter): ...this. All users updated.
17091 (grub_normal_get_line_counter): Renamed to ...
17092 (grub_normal_get_char_counter): ... this.
17093 (grub_normal_reset_more): New function.
17094 (process_newline): Removed.
17095 (print_more): New function.
17096 (grub_install_newline_hook): Removed.
17097 (map_code): New function.
17098 (grub_puts_terminal): Use grub_print_ucs4.
17099 (putglyph): New function.
17100 (putcode_real): Likewise.
17101 (grub_putcode): Use putcode_real.
17102 (get_maxwidth): New function.
17103 (get_startwidth): Likewise.
17104 (print_ucs4_terminal): Likewise.
17105 (find_term_state): Likewise.
17106 (put_glyphs_terminal): Likewise.
17107 (print_backlog): Likewise.
17108 (print_ucs4_real): Likewise.
17109 (grub_print_ucs4): Likewise.
17110 (grub_xputs_normal): Likewise.
17111 * term/efi/console.c (grub_console_putchar): Output diacritics.
17112 (grub_console_getcharwidth): Removed.
17113 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17114 * term/gfxterm.c (clear_char): Free chars.
17115 (scroll_up): Avoid leaking memory.
17116 (grub_gfxterm_putchar): Support diacritics.
17117 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17118 * term/i386/pc/console.c (grub_console_term_output): Declare as
17119 GRUB_TERM_CODE_TYPE_VGA.
17120 * term/i386/pc/vga.c (grub_vga_term): Declare as
17121 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17122 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17123 GRUB_TERM_CODE_TYPE_VGA.
17124 * term/i386/vga_common.c (map_char): Removed.
17125 (grub_console_putchar): Likewise.
17126 (grub_console_getcharwidth): Likewise.
17127 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17128 (colors): Reordered to match terminfo.
17129 (grub_ofconsole_normal_color): Removed.
17130 (grub_ofconsole_writeesc): Likewise.
17131 (grub_ofconsole_highlight_color): Likewise.
17132 (grub_ofconsole_getcharwidth): Likewise.
17133 (grub_ofconsole_setcolorstate): Likewise.
17134 (grub_ofconsole_setcolor): Likewise.
17135 (grub_ofconsole_getcolor): Likewise.
17136 (grub_ofconsole_readkey): Renamed to ...
17137 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17138 key.
17139 (grub_ofconsole_checkkey): Removed.
17140 (grub_ofconsole_getkey): Likewise.
17141 (grub_ofconsole_getxy): Likewise.
17142 (grub_ofconsole_gotoxy): Likewise.
17143 (grub_ofconsole_cls): Likewise.
17144 (grub_ofconsole_refresh): Likewise.
17145 (grub_ofconsole_terminfo_input): New struct.
17146 (grub_ofconsole_terminfo_output): Likewise.
17147 (grub_ofconsole_term_input): Use terminfo.
17148 (grub_ofconsole_term_output): Likewise.
17149 (grub_console_init): Split into ...
17150 (grub_console_init_early): ...this and ...
17151 (grub_console_init_lately): ...this. Use terminfo.
17152 (grub_ofconsole_putchar): Renamed to ...
17153 (put): ... this. Remove mapping.
17154 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17155 * term/serial.c: Simplify using terminfo.
17156 (xpos): Removed.
17157 (ypos): Likewise.
17158 (keep_track): Likewise.
17159 (registered): Likewise.
17160 (input_buf): Likewise.
17161 (npending): Likewise.
17162 (serial_translate_key_sequence): Likewise.
17163 (fill_input_buf): Likewise.
17164 (grub_serial_checkkey): Likewise.
17165 (grub_serial_getkey): Likewise.
17166 (grub_serial_getxy): Likewise.
17167 (grub_serial_gotoxy): Likewise.
17168 (grub_serial_putchar): Likewise.
17169 (grub_serial_cls): Likewise.
17170 (grub_serial_setcolorstate): Likewise.
17171 (grub_serial_setcursor): Likewise.
17172 (serial_hw_init): Use serial_hw_fetch.
17173 (grub_serial_terminfo_input): New variable.
17174 (grub_serial_terminfo_output): Likewise.
17175 (grub_serial_term_input): Use terminfo.
17176 (grub_serial_term_output): Likewise.
17177 * term/terminfo.c (putstr): Use put.
17178 (grub_terminfo_all_free): New function
17179 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17180 (grub_terminfo_output_register): New function.
17181 (grub_terminfo_output_unregister): Likewise.
17182 (grub_terminfo_getxy): Likewise.
17183 (grub_terminfo_readkey): Likewise.
17184 (grub_terminfo_checkkey): Likewise.
17185 (grub_terminfo_getkey): Likewise.
17186 (grub_terminfo_input_init): Likewise.
17187 (print_terminfo): Likewise.
17188 (grub_cmd_terminfo): Handle encoding.
17189 (grub_terminfo_gotoxy): Track position.
17190 (grub_terminfo_cls): Likewise.
17191 (grub_terminfo_putchar): Likewise.
17192 (grub_terminfo_setcolorstate): Handle colors
17193 (grub_terminfo_cursor_on): This ...
17194 (grub_terminfo_cursor_off): ... and this merged into ...
17195 (grub_terminfo_setcursor): ... this.
17196 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17197 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17198 * unicode/BidiMirroring.txt: Likewise.
17199 * unicode/UnicodeData.txt: Likewise.
17200 * unicode/COPYING: Likewise.
17201 * util/grub-editenv.c (grub_putchar): Removed.
17202 (grub_xputs_real): New function.
17203 (grub_xputs): New variable.
17204 * util/grub-fstest.c (grub_putchar): Removed.
17205 (grub_xputs_real): New function.
17206 (grub_xputs): New variable.
17207 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17208 (grub_xputs_real): New function.
17209 (grub_xputs): New variable.
17210 * util/grub-probe.c (grub_putchar): Removed.
17211 (grub_xputs_real): New function.
17212 (grub_xputs): New variable.
17213 * util/grub-script-check.c (grub_putchar): Removed.
17214 (grub_xputs_real): New function.
17215 (grub_xputs): New variable.
17216 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17217 (grub_xputs_real): New function.
17218 (grub_xputs): New variable.
17219 * util/import_unicode.py: New file.
17220 * util/grub-mkfont.c (ft_errmsgs): New array.
17221 (grub_glyph_info): Make bitmap a pointer.
17222 (file_formats): New type WIDTH_SPEC.
17223 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17224 (options): Add width-spec.
17225 (help): Likewise.
17226 (add_char): Renamed to ...
17227 (add_glyph): ... this.
17228 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17229 (glyph_replace): New type.
17230 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17231 (add_char): New function.
17232 (add_subst): Likewise.
17233 (process_cursive): Likewise.
17234 (add_font): Handle GSUB.
17235 (write_font_width_spec): New function.
17236 (main): Sort glyphs.
17237 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17238 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17239 * kern/term.c (grub_cls): Moved from here...
17240 * normal/term.c (grub_cls): ... here.
17241
50f0bcda
CW
172422010-07-02 Colin Watson <cjwatson@ubuntu.com>
17243
17244 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17245 suitable for using within the format argument of printf when
17246 converting grub_size_t.
17247 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17248 "x" to convert grub_size_t arguments.
17249
40372103
VS
172502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17253 too long captions.
17254 (list_get_minimal_size): Take selection box into account.
17255
942a10c7
VS
172562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
17259 NULL font.
17260
2bdb2892
CW
172612010-07-02 Colin Watson <cjwatson@ubuntu.com>
17262
17263 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
17264 devices when iterating over /dev/disk/by-id; they will be handled
17265 later if appropriate, which they aren't always (e.g. LVM).
17266
e03ed6c1
CW
172672010-07-02 Colin Watson <cjwatson@ubuntu.com>
17268
17269 * include/grub/misc.h (grub_reboot): Declare as noreturn.
17270 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
17271 fails.
17272 (grub_halt): Likewise.
17273 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
17274 reset-all fails.
17275 (grub_halt): Don't return, even if all of shut-down, power-off, and
17276 poweroff fail.
17277
47695765
CW
172782010-07-02 Colin Watson <cjwatson@ubuntu.com>
17279
17280 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
17281 arguments, not three.
17282
507736c8
CW
172832010-07-02 Colin Watson <cjwatson@ubuntu.com>
17284
17285 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
17286 * util/grub.d/10_linux.in: Use it to check for LVM, so that
17287 LVM-on-RAID is handled correctly.
17288
e3c8cd37
CW
172892010-07-02 Colin Watson <cjwatson@ubuntu.com>
17290
17291 * docs/grub.texi (Changes from GRUB Legacy): New section.
17292 (Future): Fix typo.
17293
8d4a2fec
CW
172942010-07-02 Colin Watson <cjwatson@ubuntu.com>
17295
17296 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
17297 grub.d/README accidentally ends up executable for one reason or
17298 another. Ignore it.
17299
1c4827be
VS
173002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17301
17302 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
17303 (gpt_partition_map_iterate): Support non-512B sectors.
17304
d9a0c941
VS
173052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * kern/efi/init.c (grub_efi_init): Disable watchdog.
17308 Tested by: Seth Goldberg.
17309
48f27e87
VS
173102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
17313 Properly align mbi.
17314 Reported by: Seth Goldberg.
17315
b0c4f956
VS
173162010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * util/grub-mkrescue.in: Avoid module duplication.
17319
105a2e8c
SF
173202010-07-01 Sean Finney <seanius@seanius.net>
17321
17322 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
17323
5944958c
SF
173242010-07-01 Sean Finney <seanius@seanius.net>
17325
17326 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
17327
173282010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 * disk/lvm.c (grub_lvm_checkvalue): New function.
17331 (grub_lvm_check_flag): Likewise.
17332
b79889ba
RM
173332010-07-01 Robert Millan <rmh@gnu.org>
17334
17335 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
17336 Support 'p' as partition separator on kernel of FreeBSD (used
17337 with GPT labels).
17338 (grub_util_biosdisk_get_grub_dev): Likewise.
17339
ec1d04f1
VS
173402010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 Yeeloong firmware port.
17343
17344 * boot/mips/yeeloong/fwstart.S: New file.
17345 * bus/cs5536.c (gpiodump): New const.
17346 (set_io_space): New function.
17347 (set_iod): Likewise.
17348 (set_p2d): Likewise.
17349 (grub_cs5536_init_geode): Likewise.
17350 * commands/mips/yeeloong/lsspd.c: New file.
17351 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
17352 (serial_mod_SOURCES): New variable.
17353 (serial_mod_CFLAGS): Likewise.
17354 (serial_mod_LDFLAGS): Likewise.
17355 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
17356 term/terminfo.c and term/tparm.c.
17357 (pkglib_IMAGES): Add fwstart.img.
17358 (fwstart_img_SOURCES): New variable.
17359 (fwstart_img_CFLAGS): Likewise.
17360 (fwstart_img_ASFLAGS): Likewise.
17361 (fwstart_img_LDFLAGS): Likewise.
17362 (fwstart_img_FORMAT): Likewise.
17363 (pkglib_MODULES): Add lsspd.mod.
17364 (lsspd_mod_SOURCES): New variable.
17365 (lsspd_mod_CFLAGS): Likewise.
17366 (lsspd_mod_LDFLAGS): Likewise.
17367 (pkglib_MODULES): Add halt.mod.
17368 (halt_mod_SOURCES): New variable.
17369 (halt_mod_CFLAGS): Likewise.
17370 (halt_mod_LDFLAGS): Likewise.
17371 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
17372 (serial_mod_SOURCES): Removed.
17373 (serial_mod_CFLAGS): Likewise.
17374 (serial_mod_LDFLAGS): Likewise.
17375 * disk/ata.c (check_device): New function.
17376 (grub_ata_device_initialize): Use check_device.
17377 (grub_ata_iterate): Recheck devices.
17378 (grub_ata_open): Likewise.
17379 (grub_atapi_iterate): Likewise.
17380 (grub_atapi_open): Likewise.
17381 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
17382 (GRUB_ATA_CH1_PORT1): Likewise.
17383 (GRUB_ATA_CH0_PORT2): Likewise.
17384 (GRUB_ATA_CH1_PORT2): Likewise.
17385 * include/grub/mips/loongson.h: New file.
17386 * include/grub/mips/yeeloong/ec.h: Likewise.
17387 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
17388 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
17389 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
17390 * include/grub/misc.h (grub_halt): Declare as noreturn.
17391 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
17392 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
17393 (UART_ENABLE_FIFO_TRIGGER1): New definition.
17394 (UART_ENABLE_DTRRTS): Likewise.
17395 (UART_ENABLE_MODEM): Removed.
17396 (UART_ENABLE_OUT2): New const.
17397 * include/grub/term.h (grub_term_register_input_active): New function.
17398 (grub_term_register_output_active): Likewise.
17399 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
17400 argument.
17401 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
17402 (init_pci): New function.
17403 (grub_machine_init): Execute platform init when firmware. Init serial.
17404 (grub_halt): Implement.
17405 (grub_exit): Likewise.
17406 (grub_reboot): Likewise.
17407 * term/serial.c (serial_hw_init): Update macros.
17408 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
17409 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
17410 (image_targets): New target mipsel-yeeloong-flash.
17411 (generate_image): Support IMAGE_YEELOONG_FLASH.
17412 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
17413 (grub_video_sm712_setup): Init card.
17414 (grub_video_sm712_set_palette): Removed.
17415 * video/sm712_init.c: New file.
17416
ff4a70d2
CW
174172010-06-30 Colin Watson <cjwatson@ubuntu.com>
17418
17419 * Makefile.in (install-local): Temporarily prepend $(builddir) to
17420 PATH when running help2man and then run it on the unadorned
17421 executable names, rather than passing $(builddir)/* paths to
17422 help2man. This avoids the build directory ending up in generated
17423 manual pages.
17424
1246efeb
CW
174252010-06-29 Colin Watson <cjwatson@ubuntu.com>
17426
17427 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
17428 to avoid accidents when debugging with 'sh -x'.
17429 * util/grub-mkrescue.in: Likewise.
17430 * util/grub.d/00_header.in: Likewise.
17431 * util/grub.d/10_hurd.in: Likewise.
17432 * util/grub.d/10_kfreebsd.in: Likewise.
17433 * util/grub.d/10_linux.in: Likewise.
17434 * util/grub.d/10_netbsd.in: Likewise.
17435 * util/grub.d/10_windows.in: Likewise.
17436 * util/grub.d/20_linux_xen.in: Likewise.
17437 * util/grub.d/30_os-prober.in: Likewise.
17438 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17439
1ba9b889
CW
174402010-06-29 Colin Watson <cjwatson@ubuntu.com>
17441
17442 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
17443 last character in the buffer.
17444 Reported by: Vladimir Serbinenko.
17445
dccaf99d
RM
174462010-06-29 Robert Millan <rmh@gnu.org>
17447
17448 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
17449 (Command-line and menu entry commands): Document `badram' command.
17450
d500ed12
RM
174512010-06-28 Robert Millan <rmh@gnu.org>
17452
17453 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
17454 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
17455 command using ${GRUB_BADRAM} as parameter.
17456
20bc84a6
CW
174572010-06-28 Colin Watson <cjwatson@ubuntu.com>
17458
17459 * docs/grub.texi (Device map): New section.
17460 (Themes): New section (stub).
17461 * Makefile.in (docs/grub.info): The info documentation now builds
17462 without errors. Make sure it stays that way.
17463
4045dee1
VS
174642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 Use normal parser for menu entries.
17467 Reported by: Thomas Frauendorfer
17468
17469 * include/grub/parser.h (grub_parser_execute): Don't export.
17470 * normal/menu.c (grub_menu_execute_entry_real): New function.
17471 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
17472
bca58c7b
CW
174732010-06-28 Colin Watson <cjwatson@ubuntu.com>
17474
17475 * docs/grub.texi (Embedded configuration): New section (replacing
17476 old "Preset Menu" stub).
17477 (Images): New section.
17478 (configfile): Note that any menu entries defined in `file' are shown
17479 immediately.
17480
dec53e63
JT
174812010-06-28 Josh Triplett <josh@joshtriplett.org>
17482
17483 * mmap/i386/pc/mmap_helper.S: Set CF on return.
17484
c06e40f7
CW
174852010-06-28 Colin Watson <cjwatson@ubuntu.com>
17486
17487 * util/grub-install.in: Add --debug-image= option.
17488
cb88052b
CW
174892010-06-28 Colin Watson <cjwatson@ubuntu.com>
17490
17491 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
17492 possible on Linux.
17493
17494 * util/deviceiter.c (check_device): Rename to ...
17495 (check_device_readable_unique): ... this. Update all callers.
17496 Maintain and check a list of which devices (by canonicalized name)
17497 have already been seen.
17498 (clear_seen_devices): New function.
17499 (compare_file_names) [__linux__]: New function.
17500 (grub_util_iterate_devices): Clear the list of seen devices on exit
17501 and (just in case) on entry.
17502 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
17503 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
17504 seen-devices list, superseded by general code in check_device.
17505
bbe34652
CW
175062010-06-28 Colin Watson <cjwatson@ubuntu.com>
17507
17508 * commands/cat.c (options): New variable.
17509 (grub_cmd_cat): Parse options. If the --dos option is given, print
17510 DOS-style "\r\n" line endings as simple newlines (Debian bug
17511 #586358).
17512 (GRUB_MOD_INIT): Use extcmd.
17513 (GRUB_MOD_FINI): Likewise.
17514 * docs/grub.texi (cat): Document --dos.
17515
412e09f3
VS
175162010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 XEN with Linux grub-mkconfig support.
17519
17520 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
17521 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
17522 GRUB_CMDLINE_XEN_DEFAULT.
17523 * util/grub.d/20_linux_xen.in: New file.
17524
53f3ef38 175252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
17526
17527 Initialise VGA video on qemu ourselves.
17528
17529 * boot/i386/qemu/boot.S: Don't call 0xc000.
17530 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
17531 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
17532 (kernel_img_HEADERS): Add pci.h.
17533 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
17534 * configure.ac: Force unifont on qemu and yeeloong.
17535 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
17536 (grub_vga_palette_write): Use correct register.
17537 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
17538 Call grub_qemu_init_cirrus.
17539 * kern/i386/qemu/init.c: New file.
17540 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
17541
17542 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
17543
c75be4fb
PR
175442010-06-26 Pavel Roskin <proski@gnu.org>
17545
17546 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
17547 13.
17548
d8034603
CW
175492010-06-26 Colin Watson <cjwatson@ubuntu.com>
17550
17551 * docs/grub.texi (Simple configuration): Explain that
17552 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
17553 set to `true' to disable their respective recovery entries, not
17554 merely set.
17555
3fa06487
CW
175562010-06-26 Colin Watson <cjwatson@ubuntu.com>
17557
17558 Make the `source' command slightly faster.
17559
17560 * normal/main.c (grub_normal_execute): Don't re-read list files when
17561 nested.
17562
e9b29642
CW
175632010-06-23 Colin Watson <cjwatson@ubuntu.com>
17564
17565 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
17566 field position and mask size to red fields from mode_info, not
17567 green.
17568 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
17569 Remove redundant tag->common.framebuffer_type assignment.
17570 Reported by: Seth Goldberg.
17571
e726542f
CW
175722010-06-23 Colin Watson <cjwatson@ubuntu.com>
17573
17574 Sync up other versions of the Linux loader with Robert Millan's
17575 change of 2010-01-09, "Make loader output a bit more user-friendly".
17576
17577 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
17578 grub_dprintf().
17579 (grub_cmd_linux): Likewise.
17580 (grub_cmd_initrd): Likewise.
17581 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
17582 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17583
d6e98a17
CW
175842010-06-21 Colin Watson <cjwatson@ubuntu.com>
17585
17586 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
17587 larger than MEMORY_MAP_SIZE.
17588
14d3f08e
BC
175892010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
17590
17591 Fix parallel build.
17592
17593 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
17594 dependency.
17595 * script/parser.y: #include grub_script.tab.h header.
17596
4f9613a3
VS
175972010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 Support >3GiB and <16MiB RAM in i386-qemu.
17600
17601 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
17602 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
17603 (grub_lower_mem): Removed.
17604 (grub_upper_mem): Likewise.
17605 (mem_size): Made static.
17606 (above_4g): New variable.
17607 (grub_machine_mmap_init): Detect small mem_size and above_4g.
17608 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
17609 support.
17610
05e51879
VS
176112010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17612
17613 Cirrus 5446 and Bochs video cards support.
17614
17615 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
17616 video_bochs.mod
17617 (video_cirrus_mod_SOURCES): New variable.
17618 (video_cirrus_mod_CFLAGS): Likewise.
17619 (video_cirrus_mod_LDFLAGS): Likewise.
17620 (video_bochs_mod_SOURCES): Likewise.
17621 (video_bochs_mod_CFLAGS): Likewise.
17622 (video_bochs_mod_LDFLAGS): Likewise.
17623 * include/grub/vga.h: New file.
17624 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17625 (grub_video_fb_set_page_t): New type.
17626 (grub_video_fb_setup): New prototype.
17627 (grub_video_fb_swap_buffers): Likewise.
17628 (grub_video_fb_get_info_and_fini): Likewise.
17629 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17630 (CRTC_DATA_PORT): Likewise.
17631 (CRTC_CURSOR): Likewise.
17632 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17633 (CRTC_CURSOR_ADDR_LOW): Likewise.
17634 (CRTC_CURSOR_DISABLE): Likewise.
17635 (update_cursor): Use grub_vga_cr_write.
17636 (grub_vga_text_setcursor): Likewise.
17637 * video/bochs.c: New file.
17638 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17639 (palette): Likewise.
17640 (palette_size): Likewise.
17641 (framebuffer): New variable.
17642 (grub_video_fb_init): Use 'framebuffer'.
17643 (grub_video_fb_fini): Likewise.
17644 (grub_video_fb_get_info): Likewise.
17645 (grub_video_fb_get_palette): Likewise.
17646 (grub_video_fb_set_palette): Likewise.
17647 (grub_video_fb_set_viewport): Likewise.
17648 (grub_video_fb_get_viewport): Likewise.
17649 (grub_video_fb_map_color): Likewise.
17650 (grub_video_fb_map_rgb): Likewise.
17651 (grub_video_fb_map_rgba): Likewise.
17652 (grub_video_fb_unmap_color): Likewise.
17653 (grub_video_fb_unmap_color_int): Likewise.
17654 (grub_video_fb_fill_rect): Likewise.
17655 (grub_video_fb_blit_bitmap): Likewise.
17656 (grub_video_fb_blit_render_target): Likewise.
17657 (grub_video_fb_scroll): Likewise.
17658 (grub_video_fb_create_render_target): Likewise.
17659 (grub_video_fb_doublebuf_blit_init): Likewise.
17660 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17661 (doublebuf_pageflipping_update_screen): New function.
17662 (doublebuf_pageflipping_init): Likewise.
17663 (grub_video_fb_setup): Likewise.
17664 (grub_video_fb_swap_buffers): Likewise.
17665 (grub_video_fb_get_info_and_fini): Likewise.
17666 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17667 All users updated.
17668 (doublebuf_pageflipping_commit): Restructured into ...
17669 (doublebuf_pageflipping_set_page): ... this.
17670 (doublebuf_pageflipping_update_screen): Removed.
17671 (doublebuf_pageflipping_init): Likewise.
17672 (double_buffering_init): Likewise.
17673 (grub_video_vbe_setup): Use grub_video_fb_setup.
17674 (grub_video_vbe_swap_buffers): Removed.
17675 (grub_video_vbe_set_active_render_target): Likewise.
17676 (grub_video_vbe_get_active_render_target): Likewise.
17677 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17678 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17679 grub_video_fb_set_active_render_target and
17680 grub_video_fb_get_active_render_target.
17681 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17682 (SEQUENCER_DATA_PORT): Likewise.
17683 (MAP_MASK_REGISTER): Likewise.
17684 (CRTC_ADDR_PORT): Likewise.
17685 (CRTC_DATA_PORT): Likewise.
17686 (START_ADDR_HIGH_REGISTER): Likewise.
17687 (START_ADDR_LOW_REGISTER): Likewise.
17688 (GRAPHICS_ADDR_PORT): Likewise.
17689 (GRAPHICS_DATA_PORT): Likewise.
17690 (READ_MAP_REGISTER): Likewise.
17691 (INPUT_STATUS1_REGISTER): Likewise.
17692 (INPUT_STATUS1_VERTR_BIT): Likewise.
17693 (get_map_mask): Use grub_vga_sr_read.
17694 (set_map_mask): Use grub_vga_sr_write.
17695 (set_read_map): Use grub_vga_gr_write.
17696 (set_start_address): Use grub_vga_cr_write.
17697 * video/sm712.c (framebuffer): Remove leftover fields.
17698
4321c64a
CW
176992010-06-20 Colin Watson <cjwatson@ubuntu.com>
17700
17701 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17702 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17703 instead. Replace the gfxterm backend check with a check that
17704 ${GRUB_PREFIX}/video.lst is non-empty.
17705 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17706 again.
17707 (load_video): New generated function. Call it before loading
17708 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17709 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17710 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17711 * docs/grub.texi (Simple configuration): Document
17712 GRUB_VIDEO_BACKEND.
17713
177142010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17715
17716 Use video functions in linux and xnu loaders.
17717
17718 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17719 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17720 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17721 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17722 loader/i386/pc/linux.c.
17723 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17724 (find_line_len): Removed.
17725 (find_framebuf): Likewise.
17726 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17727 * loader/i386/efi/xnu.c: Removed.
17728 * loader/i386/pc/xnu.c: Moved from here...
17729 * loader/i386/xnu.c: ...here.
17730
17731 Enable priorities in video drivers.
17732
17733 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17734 (grub_video_adapter): New field prio.
17735 (grub_video_register): Respect prio when inserting.
17736 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17737 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17738 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17739 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17740 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17741 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17742 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17743
17744 Fix SDL driver ID.
17745
17746 * include/grub/video.h (grub_video_driver_id_t): New value
17747 GRUB_VIDEO_DRIVER_SDL.
17748 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17749
7d24e434
CW
177502010-06-17 Colin Watson <cjwatson@ubuntu.com>
17751
17752 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17753 argument to printf.
17754 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17755
c88a83f6
CW
177562010-06-17 Colin Watson <cjwatson@ubuntu.com>
17757
17758 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17759 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17760
094dfb69
CW
177612010-06-17 Colin Watson <cjwatson@ubuntu.com>
17762
17763 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17764 directly, and recommend grub-install instead.
17765 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17766
2164da6b
CW
177672010-06-17 Colin Watson <cjwatson@ubuntu.com>
17768
17769 Fix i386-pc prefix handling with nested partitions (Debian bug
17770 #585068). Note that the case where the core image is booted using
17771 multiboot and relocated from its original location still requires
17772 more work.
17773
17774 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17775 with "(,", fill the boot drive in between those two characters, but
17776 expect that a full partition specification including partition map
17777 names will follow.
17778 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17779 specified, write a prefix without the drive name but including a
17780 full partition specification.
17781
044e2e60
CW
177822010-06-16 Colin Watson <cjwatson@ubuntu.com>
17783
17784 * util/grub-mkconfig.in: Ignore non-option arguments, for
17785 compatibility with older versions (before 2010-06-12) which did the
17786 same. In particular, this makes it easier to ship an update-grub
17787 wrapper which is compatible with that used with GRUB Legacy (Debian
17788 bug #586056).
17789
5591324f
GS
177902010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17791
17792 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17793 for manual page generation.
17794
662e24d5
GS
177952010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17796
17797 * po/POTFILES: Remove leftover commands/handler.c.
17798
8d70754e
CW
177992010-06-14 Colin Watson <cjwatson@ubuntu.com>
17800
17801 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17802 left this script non-functional.
17803
41160e2e
CW
178042010-06-14 Colin Watson <cjwatson@ubuntu.com>
17805
17806 * docs/man/grub-emu.h2m: New file.
17807
b5309cc1
CW
178082010-06-13 Colin Watson <cjwatson@ubuntu.com>
17809
17810 * docs/grub.texi (Commands): Document reduced command set in rescue
17811 mode.
17812 (cpuid): New section.
17813
fcb2d090
GS
178142010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17815
17816 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17817 new partition naming style.
17818 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17819
96e5c556
BC
178202010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17821
17822 Add "-o grub.iso" like cmdline options support.
17823
17824 * util/grub-install.in: Improve cmdline option parsing.
17825 * util/grub-mkconfig.in: Likewise.
17826 * util/grub-mkrescue.in: Likewise.
17827 * util/grub-reboot.in: Likewise.
17828 * util/grub-set-default.in: Likewise.
17829 * util/i386/efi/grub-install.in: Likewise.
17830 * util/ieee1275/grub-install.in: Likewise.
17831 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17832
c16be99b
CW
178332010-06-12 Colin Watson <cjwatson@ubuntu.com>
17834
17835 * .bzrignore: Ignore 41_custom.
17836
ce08a9fb
TS
178372010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17838
17839 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17840
7beac90c
CW
178412010-06-12 Colin Watson <cjwatson@ubuntu.com>
17842
17843 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17844 prototype declarations.
17845
17846 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17847 generating fs, partmap, and video lists.
17848 * include/grub/fs.h (grub_fs_register): Omit prototype if
17849 GRUB_LST_GENERATOR is defined.
17850 * include/grub/partition.h (grub_partition_map_register): Likewise.
17851 * include/grub/video.h (grub_video_register): Likewise.
17852
1c8f0f8d
JM
178532010-06-12 Javier Martín <lordhabbit@gmail.com>
17854
17855 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17856
a6085973
TS
178572010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17858
17859 * util/grub-mkrescue.in: Support --xorriso argument.
17860
25c56d29
VS
178612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17864 Suggested by: Thomas Schmitt.
17865
e03e4b24
VS
178662010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17867
17868 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17869 Suggested by: Thomas Schmitt.
17870
57711df6
VS
178712010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17872
17873 custom.cfg support.
17874
17875 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17876 * util/grub.d/41_custom.in: New file.
17877
ee62c427
CW
178782010-06-12 Colin Watson <cjwatson@ubuntu.com>
17879
17880 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17881 been merged back into normal.
17882
283af07a
CW
178832010-06-11 Colin Watson <cjwatson@ubuntu.com>
17884
17885 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17886 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17887
56a0d956
CW
178882010-06-11 Colin Watson <cjwatson@ubuntu.com>
17889
17890 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17891 when generating manual pages.
17892 * docs/man/grub-bin2h.h2m: New file.
17893 * docs/man/grub-editenv.h2m: New file.
17894 * docs/man/grub-fstest.h2m: New file.
17895 * docs/man/grub-install.h2m: New file.
17896 * docs/man/grub-macho2img.h2m: New file.
17897 * docs/man/grub-mkconfig.h2m: New file.
17898 * docs/man/grub-mkdevicemap.h2m: New file.
17899 * docs/man/grub-mkfont.h2m: New file.
17900 * docs/man/grub-mkimage.h2m: New file.
17901 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17902 * docs/man/grub-mkrelpath.h2m: New file.
17903 * docs/man/grub-mkrescue.h2m: New file.
17904 * docs/man/grub-ofpathname.h2m: New file.
17905 * docs/man/grub-pe2elf.h2m: New file.
17906 * docs/man/grub-probe.h2m: New file.
17907 * docs/man/grub-reboot.h2m: New file.
17908 * docs/man/grub-script-check.h2m: New file.
17909 * docs/man/grub-set-default.h2m: New file.
17910 * docs/man/grub-setup.h2m: New file.
17911
3a37e322
VS
179122010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 Use FOR_* macros instead of *_iterate whenever possible.
17915
17916 * commands/handler.c: Removed.
17917 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17918 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17919 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17920 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17921 (grub_probe_SOURCES): Remove kern/parser.c.
17922 (util/grub-script-check.c_DEPENDENCIES): Removed.
17923 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17924 and grub_script_check_init.c.
17925 (grub_script_check_init.lst): Removed.
17926 (grub_script_check_init.h): Likewise.
17927 (grub_script_check_init.c): Likewise.
17928 (pkglib_MODULES): Remove handler.mod and sh.mod.
17929 (handler_mod_SOURCES): Removed.
17930 (handler_mod_CFLAGS): Likewise.
17931 (handler_mod_LDFLAGS): Likewise.
17932 (normal_mod_SOURCES): Remove normal/handler.c.
17933 Add script/main.c, script/script.c, script/execute.c,
17934 script/function.c, script/lexer.c, grub_script.tab.c
17935 and grub_script.yy.c.
17936 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17937 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17938 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17939 (grub_setup_SOURCES): Remove kern/parser.c.
17940 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17941 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17942 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17943 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17944 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17945 (grub_setup_SOURCES): Remove kern/parser.c.
17946 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17947 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17948 * include/grub/command.h (grub_command_iterate): Removed.
17949 (FOR_COMMANDS): New macro.
17950 * include/grub/dl.h (grub_dl): New member next.
17951 (grub_dl_iterate): Removed.
17952 (grub_dl_head): New variable declaration.
17953 (FOR_DL_MODULES): New macro.
17954 * include/grub/fs.h: Include list.h.
17955 (grub_fs): Make next first element.
17956 (grub_fs_list): New variable declaration.
17957 (grub_fs_register): Make inline.
17958 (grub_fs_unregister): Likewise.
17959 (grub_fs_iterate): Removed.
17960 (FOR_FILESYSTEMS): New macro.
17961 * include/grub/handler.h: Removed.
17962 * include/grub/list.h (grub_list_hook_t): Removed.
17963 (grub_list_test_t): Likewise.
17964 (grub_list_pop): Likewise.
17965 (grub_list_iterate): Likewise.
17966 (grub_list_insert): Likewise.
17967 (FOR_LIST_ELEMENTS): New macro.
17968 * include/grub/parser.h (grub_parser_class): Removed.
17969 (grub_parser_register): Likewise.
17970 (grub_parser_unregister): Likewise.
17971 (grub_parser_get_current): Likewise.
17972 (grub_parser_set_current): Likewise.
17973 (grub_register_rescue_parser): Likewise.
17974 (grub_rescue_parse_line): New function.
17975 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17976 * include/grub/script_sh.h (grub_script_function_list): New variable
17977 declaration.
17978 (FOR_SCRIPT_FUNCTIONS): New macro.
17979 (grub_script_function_iterate): Removed.
17980 (grub_normal_parse_line): New prototype.
17981 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17982 (FOR_DISABLED_TERM_INPUTS): Likewise.
17983 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17984 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17985 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17986 element.
17987 (grub_video_register): Inline.
17988 (grub_video_unregister): Likewise.
17989 (grub_video_adapter_list): New variable declaration.
17990 (grub_video_iterate): Removed.
17991 (FOR_VIDEO_ADAPTERS): New macro.
17992 * kern/dl.c (grub_dl_list): Removed. All users updated.
17993 (grub_dl_iterate): Removed.
17994 * kern/fs.c (grub_fs_list): Make global.
17995 (grub_fs_register): Removed.
17996 (grub_fs_unregister): Likewise.
17997 (grub_fs_iterate): Likewise.
17998 * kern/handler.c: Removed.
17999 * kern/list.c (grub_list_pop): Removed.
18000 (grub_list_iterate): Likewise.
18001 (grub_list_insert): Likewise.
18002 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18003 (grub_prio_list_insert): Don't use grub_list_insert.
18004 * kern/main.c (grub_register_rescue_parser): Don't call
18005 grub_register_rescue_parser.
18006 * kern/parser.c (grub_parser_class): Removed.
18007 (grub_parser_execute): Use grub_rescue_parse_line.
18008 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18009 (grub_rescue_parser): Removed.
18010 (grub_register_rescue_parser): Likewise.
18011 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18012 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18013 (grub_auth_check_authentication): Likewise.
18014 * normal/completion.c (iterate_command): Removed.
18015 (grub_normal_do_completion): Use FOR_COMMANDS.
18016 * normal/handler.c: Removed.
18017 * normal/main.c (read_config_file): Remove parser changing.
18018 (grub_normal_execute): Don't call read_handler_list.
18019 (grub_normal_read_line_real): Statically allocate prompt.
18020 (grub_cmdline_run): Use grub_normal_parse_line.
18021 (GRUB_MOD_FINI): Don't call free_handler_list.
18022 * normal/menu_entry.c (run): Likewise.
18023 * script/function.c (grub_script_function_list): Make global.
18024 (grub_script_function_iterate): Removed.
18025 * script/main.c (grub_normal_parse_line): Make global.
18026 (grub_sh_parser): Removed.
18027 (GRUB_MOD_INIT): Likewise.
18028 (GRUB_MOD_FINI): Likewise.
18029 * tests/lib/functional_test.c (grub_functional_test): Use
18030 FOR_LIST_ELEMENTS.
18031 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18032 (grub_test_run): Use FOR_LIST_ELEMENTS.
18033 * tests/lib/unit_test.c (main): Likewise.
18034 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18035 grub_list_pop.
18036 * util/grub-fstest.c (grub_term_input_class): Removed.
18037 (grub_term_output_class): Likewise.
18038 * util/grub-probe.c: Likewise.
18039 * util/i386/pc/grub-setup.c: Likewise.
18040 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18041 * util/grub-script-check.c (main): Don't call grub_init_all and
18042 grub_fini_all.
18043 * video/video.c (grub_video_adapter_list): Make global.
18044 (grub_video_register): Removed.
18045 (grub_video_unregister): Likewise.
18046 (grub_video_iterate): Likewise.
18047
6289c3a7
VS
180482010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18051 reported by Henrique Ferreiro.
18052
91460247
RM
180532010-06-09 Robert Millan <rmh@gnu.org>
18054
18055 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18056 ones, when both are available.
18057
0ea7c4f9
GS
180582010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18059
18060 Make --version uniform and avoid hard-coded program name.
18061
18062 * util/grub-mkimage.c (main): Use `program_name' instead of
18063 hard-coded string.
18064 * util/i386/pc/grub-setup.c (main): Likewise.
18065 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18066 * util/grub-install.in: Save the basename of $0 in $self, and use the
18067 latter in informational messages. Use the same format for --version
18068 as the binary programs.
18069 * util/grub-mkconfig.in: Likewise.
18070 * util/grub-mkrescue.in: Likewise.
18071 * util/grub-reboot.in: Likewise.
18072 * util/grub-set-default.in: Likewise.
18073 * util/i386/efi/grub-install.in: Likewise.
18074 * util/ieee1275/grub-install.in: Likewise.
18075 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18076
e8a6f3b6
GS
180772010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18078
18079 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18080 embedding area. Use <= instead of == when checking for non-emptiness.
18081
f4d095d7
GS
180822010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18083
18084 * configure.ac: Add `.' to the directories searched for unifont.
18085
50e532ca
CW
180862010-06-08 Colin Watson <cjwatson@ubuntu.com>
18087
18088 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18089 grub_script.yy.h.
18090
d39f3dec
CW
180912010-06-08 Colin Watson <cjwatson@ubuntu.com>
18092
18093 * docs/grub.texi (History): Expand to cover GRUB 2.
18094 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18095 commands, not `terminal'.
18096 (serial): Likewise.
18097 (terminal_input): New section.
18098 (terminal_output): New section.
18099 (uppermem): New section (stub).
18100 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18101
6ef0ddb4
CW
181022010-06-08 Colin Watson <cjwatson@ubuntu.com>
18103
18104 * docs/grub.texi (Security): Menu entries are unrestricted by
18105 default, not restricted to superusers as I had previously thought.
18106 Reword to account for this.
18107
e0f4c438
CW
181082010-06-07 Colin Watson <cjwatson@ubuntu.com>
18109
18110 * kern/emu/misc.c (device_mapper_null_log): New function.
18111 (grub_device_mapper_supported): New function.
18112 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18113 prototype.
18114 * kern/emu/hostdisk.c (find_partition_start): Check whether
18115 device-mapper is supported before trying to use it.
18116 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18117
da908200
CW
181182010-06-07 Colin Watson <cjwatson@ubuntu.com>
18119
18120 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18121 (File name syntax): Likewise.
18122 (help): --all is no longer supported in GRUB 2. Be more precise
18123 about pattern matching.
18124
fb55c3ac
CW
181252010-06-07 Colin Watson <cjwatson@ubuntu.com>
18126
18127 * normal/completion.c (grub_normal_do_completion): When completing
18128 arguments to "set" and the current word contains an equals sign,
18129 skip to after the equals sign before starting completion.
18130
258c2573
CW
181312010-06-07 Colin Watson <cjwatson@ubuntu.com>
18132
18133 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18134
ee75515e
CW
181352010-06-07 Colin Watson <cjwatson@ubuntu.com>
18136
18137 * docs/grub.texi (Network): New section.
18138 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18139 `(nd)' as in GRUB Legacy.
18140 (pxe_unload): New section.
18141
a6a700aa
CW
181422010-06-07 Colin Watson <cjwatson@ubuntu.com>
18143
18144 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18145 in the rescue shell, so recommend using `set' instead. Thanks,
18146 Jordan Uggla.
18147
4003dd38
CW
181482010-06-07 Colin Watson <cjwatson@ubuntu.com>
18149
18150 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18151 (password): New section.
18152 (password_pbkdf2): New section.
18153 (search): New section.
18154 (Security): New section.
18155 (Troubleshooting): New section, currently very incomplete.
18156 (Invoking grub-mkpasswd-pbkdf2): New section.
18157 (Internals): New section, currently very incomplete.
18158
e1cbcc40
CW
181592010-06-07 Colin Watson <cjwatson@ubuntu.com>
18160
18161 * util/grub.d/00_header.in: Add some more quoting (of
18162 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18163 work again.
18164 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18165
db8fa1ad
CW
181662010-06-07 Colin Watson <cjwatson@ubuntu.com>
18167
18168 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18169 to `count', fixing variable shadowing that broke the -c option.
18170
181712010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
18172
18173 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18174 in case they contain spaces.
18175
f28a9212
CW
181762010-06-04 Colin Watson <cjwatson@ubuntu.com>
18177
18178 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
18179 "part_" to partmap module names, in line with grub-install.
18180 Reported by: Jindřich Makovička (Debian bug #584426).
18181
9cdfe32f
CW
181822010-06-04 Colin Watson <cjwatson@ubuntu.com>
18183
18184 * util/grub-mkimage.c: Make target-related error messages slightly
18185 more helpful; -O talks about "format". Explicitly point to the use
18186 of -O if no target is specified.
18187 Reported by: Didier Raboud (Debian bug #584415).
18188
795b593a
CW
181892010-06-03 Colin Watson <cjwatson@ubuntu.com>
18190
18191 * INSTALL: Document several build requirements for optional features
18192 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18193
9d9b5833
GS
181942010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18195
18196 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18197 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18198 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18199
0819fec8
CW
182002010-06-02 Colin Watson <cjwatson@ubuntu.com>
18201
18202 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18203 Thanks to Jordan Uggla for spotting this.
18204
49396b4f
VS
182052010-06-02 Aleš Nesrsta <starous@volny.cz>
18206
18207 Finally make USB usable.
18208
18209 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18210 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18211 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18212 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18213 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18214 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18215 (GRUB_OHCI_FSMPS): Likewise.
18216 (GRUB_OHCI_PERIODIC_START): Likewise.
18217 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18218 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18219 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18220 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18221 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18222 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18223 (grub_ohci_transaction): Likewise.
18224 (grub_ohci_transfer): Improve condition detection algorithms.
18225 Handle toggle property. Program the transactions correctly.
18226 Improve error handling. Various important fixups.
18227 (grub_ohci_portstatus): Put register writes in right order.
18228 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18229 (grub_uhci_transfer): Don't show "failed" message on success.
18230 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18231 array.
18232 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18233 determine its size.
18234 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18235 before initialization is completed. Use IN direction for empty
18236 transfers. Use last_trans and compute toggle.
18237 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18238 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18239 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18240 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18241 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18242 (grub_usb_device): Increase toggle to 256.
18243 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18244 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18245 GRUB_USBMS_SUBCLASS_SFF8070.
18246 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18247 (grub_scsi_inquiry): New member page and alloc_length.
18248 (grub_scsi_request_sense): New structure.
18249 (grub_scsi_request_sense_data): Likewise.
18250 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18251 control.
18252 * disk/scsi.c (grub_scsi_request_sense): New function.
18253 (grub_scsi_test_unit_ready): Likewise.
18254 (grub_scsi_inquiry): Fill new fields.
18255 (grub_scsi_read_capacity): Likewise.
18256 (grub_scsi_read10): Add request sense at the end.
18257 (grub_scsi_read12): Likewise.
18258 (grub_scsi_write10): Likewise.
18259 (grub_scsi_write12): Likewise.
18260 (grub_scsi_open): Add Test Unit Ready.
18261 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
18262 Support additional subclasses. Con't clear halt yet. Activate the
18263 proper config. Calculate LUNs correctly.
18264 (grub_usbms_transfer): Various important fixups.
18265
182662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18267
18268 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
18269 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
18270 (grub_ohci_fini_hw): New function.
18271 (grub_ohci_restore_hw): Likewise.
18272 (GRUB_MOD_INIT(ohci)): Register preboot hook.
18273 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
18274 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
18275
182762010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18277
18278 Dedicated DMA allocations.
18279
18280 * bus/pci.c (grub_memalign_dma32): New function
18281 (grub_dma_free): Likewise.
18282 (grub_dma_get_virt): Likewise.
18283 (grub_dma_get_phys): Likewise.
18284 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
18285 (grub_ohci_pci_iter): Use dma32_alloc.
18286 (grub_ohci_transfer): Likewise.
18287 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18288 (grub_usb_bulk_readwrite): Likewise.
18289 * include/grub/pci.h: Add declarations.
18290
182912010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18292
18293 CS5536 support.
18294
18295 * bus/cs5536.c: New file.
18296 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
18297 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
18298 (cs5536_mod_SOURCES): New variable.
18299 (cs5536_mod_CFLAGS): Likewise.
18300 (cs5536_mod_LDFLAGS): Likewise.
18301 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
18302 machine/pci.h.
18303 (kernel_img_SOURCES): Add bus/cs5536.c.
18304 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
18305 usb_keyboard.mod.
18306 (usb_mod_SOURCES): New variable.
18307 (usb_mod_CFLAGS): New variable.
18308 (usb_mod_LDFLAGS): New variable.
18309 (usbtest_mod_SOURCES): New variable.
18310 (usbtest_mod_CFLAGS): New variable.
18311 (usbtest_mod_LDFLAGS): New variable.
18312 (ohci_mod_SOURCES): New variable.
18313 (ohci_mod_CFLAGS): New variable.
18314 (ohci_mod_LDFLAGS): New variable.
18315 (usbms_mod_SOURCES): New variable.
18316 (usbms_mod_CFLAGS): New variable.
18317 (usbms_mod_LDFLAGS): New variable.
18318 (usb_keyboard_mod_SOURCES): New variable.
18319 (usb_keyboard_mod_CFLAGS): New variable.
18320 (usb_keyboard_mod_LDFLAGS): New variable.
18321 * include/grub/smbus.h: New file.
18322 * include/grub/cs5536.h: New file.
18323
0b35b2a9
CW
183242010-06-02 Colin Watson <cjwatson@ubuntu.com>
18325
18326 * util/grub.d/00_header.in: Add safety check to make sure that
18327 ${locale_dir} exists before trying to probe it.
18328
ca0afd5b
CW
183292010-06-02 Colin Watson <cjwatson@ubuntu.com>
18330
18331 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
18332 per the GNU Coding Standards; this is now too obscure to be worth
18333 documenting.
18334 (QNX): Likewise.
18335 (chainloader): Remove cross-reference to `SCO UnixWare'.
18336
1c41aa78
CW
183372010-06-02 Colin Watson <cjwatson@ubuntu.com>
18338
18339 * docs/grub.texi (Chain-loading): New section.
18340 (DOS/Windows): New section, borrowed from GRUB Legacy with details
18341 adjusted for GRUB 2.
18342 (SCO UnixWare): Likewise.
18343 (QNX): Likewise.
18344 (chainloader): Add reference to `Block list syntax'.
18345 (drivemap): New section.
18346 (parttool): New section.
18347
bb8ea0f5
CW
183482010-06-02 Colin Watson <cjwatson@ubuntu.com>
18349
18350 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
18351 the grub shell'.
18352 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
18353 (Installing GRUB using grub-install): Remove reference to the grub
18354 shell; mention `grub-mkimage' and `grub-setup' instead.
18355 (Invoking grub-install): Likewise.
18356 (Interface): Add reference to `Menu entry editor'.
18357 (serial): Remove `--device' option.
18358
288dd6ed
CW
183592010-06-02 Colin Watson <cjwatson@ubuntu.com>
18360
18361 * docs/grub.texi (Configuration): New section, documenting
18362 configuration file generation using grub-mkconfig. I've left a slot
18363 for documenting the full shell scripting format but have not yet
18364 started on writing that up.
18365 (Invoking grub-mkconfig): New section.
18366
34c9f0e9
CW
183672010-06-02 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * docs/grub.texi (direntry): Remove grub-terminfo reference.
18370 (GNU GRUB manual): Likewise.
18371 (General commands): Update description of `terminfo' for GRUB 2.
18372
9121567e
CW
183732010-06-02 Colin Watson <cjwatson@ubuntu.com>
18374
18375 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
18376 (GRUB_MOD_INIT): Fix capitalisation.
18377 * docs/grub.texi (Command-line and menu entry commands): Document
18378 gettext and gptsync commands.
18379
ab631611
CW
183802010-06-02 Colin Watson <cjwatson@ubuntu.com>
18381
18382 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
18383 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
18384
bde4a9ac
CW
183852010-06-01 Colin Watson <cjwatson@ubuntu.com>
18386
18387 Add btrfs probing support, currently only in the single-device case.
18388
18389 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
18390 function.
18391 (grub_guess_root_device): Call find_root_device_from_mountinfo
18392 before looking in /dev.
18393
b1d17e10
VS
183942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
18397 GRUB_DISK_SIZE_UNKNOWN.
18398 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
18399
dfbfe004
JS
184002010-05-31 Jiro SEKIBA <jir@unicus.jp>
18401
18402 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
18403 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
18404 corrupted or not synced properly.
18405
c2ffc8e9
VS
184062010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
18409 Reported by: Seth Goldberg.
18410
56293166
VS
184112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18412
18413 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
18414 addition of dest.
18415 Reported by: Seth Goldberg.
18416
7620e7de
VS
184172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18418
18419 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
18420 Reported by: Seth Goldberg.
18421
c837af3f
VS
184222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18423
18424 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
18425 64-bit address as signed on MIPS.
18426
c7c75cf4
CW
184272010-05-28 Colin Watson <cjwatson@ubuntu.com>
18428
18429 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
18430 to the empty string.
18431
fa4b8490
BC
184322010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
18433
18434 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
18435
18436 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
18437 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
18438 * kern/misc.c (__enable_execute_stack): Disable on
18439 GRUB_MACHINE_EMU.
18440
a33075b9
CW
184412010-05-28 Colin Watson <cjwatson@ubuntu.com>
18442
18443 Make grub-probe work with symbolic links under /dev/mapper as well
18444 as with real block devices. The Linux world seems to be (at best)
18445 in transition here, and GRUB shouldn't get caught in the middle.
18446
18447 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
18448 /dev/mapper.
18449
d8708134
CW
184502010-05-27 Colin Watson <cjwatson@ubuntu.com>
18451
18452 * util/grub-script-check.c (main): Ensure defined behaviour on empty
18453 input files (in which case exit zero).
18454
db2102a0
CW
184552010-05-27 Colin Watson <cjwatson@ubuntu.com>
18456
18457 * kern/emu/misc.c (canonicalize_file_name): realpath can still
18458 return NULL for various reasons even if it has a maximum-length
18459 buffer: for example, there might be a symlink loop, or the path
18460 might exceed PATH_MAX. If this happens, return NULL.
18461
5fdba519
RM
184622010-05-27 Robert Millan <rmh@gnu.org>
18463
18464 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
18465 partmap module to handle cross-partmap setups.
18466 Reported by Orestes Mas. Gràcies!
18467
d1d368e4
CW
184682010-05-27 Colin Watson <cjwatson@ubuntu.com>
18469
18470 * util/grub-mkrescue.in: Initialise override_dir rather than
18471 assuming that it's unset or empty in the environment.
18472
95ac3c73
GS
184732010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
18474
18475 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
18476 variable index into p_index to suppress a warning with -Wshadow.
18477
7d8c0213
BC
184782010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
18479
18480 * INSTALL: Added flex >= 2.5.35 requirement.
18481
db4d5813
VS
184822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
18485
f24f4300
VS
184862010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 cmostest support.
18489
18490 * commands/i386/cmostest.c: New file.
18491 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
18492 (cmostest_mod_SOURCES): New variable.
18493 (cmostest_mod_CFLAGS): Likewise.
18494 (cmostest_mod_LDFLAGS): Likewise.
18495 * conf/i386-pc.rmk: Likewise.
18496 * docs/grub.texi (Vendor power-on keys): New section.
18497 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
18498 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
18499 and GRUB_BUTTON_CMOS_ADDRESS.
18500 * util/grub.d/00_header.in: Handle powering-on by separate button.
18501
ad603f61
VS
185022010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
18505 Removed drawing_scrollbar argument. All users updated
18506 Fixes #29792.
18507 Reported by Jo Shields
18508
3ecb080a
VS
185092010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
18512 buffer since gfxterm handles double repaint.
18513
5f2316c1
VS
185142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
18517 * term/gfxterm.c (real_scroll): Likewise.
18518
9a25f885
VS
185192010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
18522 before calling BIOS.
18523
39fbb79a
VS
185242010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 * include/grub/i18n.h: Always enable grub_gettext.
18527
228cfa97
VS
185282010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
18531 partition naming style.
18532
21717c8f
CW
185332010-05-21 Colin Watson <cjwatson@ubuntu.com>
18534
18535 * util/grub-mkconfig.in: Fix handling of -o so that it works when
18536 not the first option.
18537
c0f48e65
CW
185382010-05-20 Colin Watson <cjwatson@ubuntu.com>
18539
18540 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
18541
96779aec
CW
185422010-05-20 Colin Watson <cjwatson@ubuntu.com>
18543
18544 * util/misc.c: Move inclusion of <limits.h> to ...
18545 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
18546
fa9d256e
GS
185472010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
18548
18549 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
18550 Fix merge error in NetBSD code.
18551 (find_partition_start) [__NetBSD__]: Likewise.
18552
123b7a85
BC
185532010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
18554
18555 Fix grub-mkrescue usage unit testing.
18556
18557 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
18558
74276c0d
CF
185592010-05-18 Christian Franke <franke@computer.org>
18560
18561 * util/grub.d/10_windows.in: Use path names instead of
18562 drive letters to prevent warning from Cygwin 1.7.
18563 Add drivemap command to menuentry if needed.
18564
c4f7b523
ST
185652010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
18566
18567 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
18568 gnumach and gnumach.gz.
18569
95b97950
VS
185702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * include/grub/i18n.h (gettext): Inline instead of using #define.
18573 (grub_gettext): Likewise.
18574 (_): Likewise.
18575
01b8d2d7
VS
185762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
18579 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
18580 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
18581 (main): Add a slash after pkglibdirroot.
18582
654e1d1e
VS
185832010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18584
18585 * util/grub-install.in: Add missing "in" keyword.
18586
26966aeb
VS
185872010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
18590 Reported by: Seth Goldberg.
18591
75006747
VS
185922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
18595
74cbf5bd
CW
185962010-05-18 Colin Watson <cjwatson@ubuntu.com>
18597
18598 * configure.ac: Check for Linux device-mapper support.
18599
18600 * util/hostdisk.c (device_is_mapped): New function.
18601 (find_partition_start): New function, partly broken out from
18602 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
18603 device-mapper support added.
18604 (linux_find_partition): Use find_partition_start.
18605 (convert_system_partition_to_system_disk): Add `st' argument.
18606 Support Linux /dev/mapper/* devices if device-mapper support is
18607 available; only DM-RAID devices are understood at present.
18608 (find_system_device): Add `st' argument. Pass it to
18609 convert_system_partition_to_system_disk.
18610 (grub_util_biosdisk_get_grub_dev): Pass stat result to
18611 find_system_device and convert_system_partition_to_system_disk. Use
18612 find_partition_start.
18613
18614 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
18615 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
18616 * util/deviceiter.c [__linux__]: Define MINOR.
18617 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
18618 * util/mkdevicemap.c (grub_putchar): New function.
18619 (grub_getkey): New function.
18620 (grub_refresh): New function.
18621 (main): Set debug=all if -v -v is used.
18622
355b51e9
CW
186232010-05-18 Colin Watson <cjwatson@ubuntu.com>
18624
18625 Fix build with non-GNU libcs.
18626
18627 * util/misc.c (canonicalize_file_name): Move to ...
18628 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18629 grub_make_system_path_relative_to_its_root.
18630
7fb5c25f
CW
186312010-05-18 Colin Watson <cjwatson@ubuntu.com>
18632
18633 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18634 we handle finding grub-mkimage. Default to finding grub-mkimage in
18635 ${bindir} with program_transform_name applied, and provide a
18636 --grub-mkimage option to override this.
18637
1d3293d6
VS
186382010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18639
18640 Remove grub-mkisofs.
18641
18642 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18643 (grub_mkisofs_SOURCES): Removed.
18644 (grub_mkisofs_CFLAGS): Removed.
18645 * util/mkisofs/defaults.h: Removed.
18646 * util/mkisofs/eltorito.c: Likewise.
18647 * util/mkisofs/exclude.h: Likewise.
18648 * util/mkisofs/hash.c: Likewise.
18649 * util/mkisofs/include/: Likewise.
18650 * util/mkisofs/include/fctldefs.h: Likewise.
18651 * util/mkisofs/include/mconfig.h: Likewise.
18652 * util/mkisofs/include/prototyp.h: Likewise.
18653 * util/mkisofs/include/statdefs.h: Likewise.
18654 * util/mkisofs/iso9660.h: Likewise.
18655 * util/mkisofs/joliet.c: Likewise.
18656 * util/mkisofs/match.c: Likewise.
18657 * util/mkisofs/match.h: Likewise.
18658 * util/mkisofs/mkisofs.c: Likewise.
18659 * util/mkisofs/mkisofs.h: Likewise.
18660 * util/mkisofs/msdos_partition.h: Likewise.
18661 * util/mkisofs/multi.c: Likewise.
18662 * util/mkisofs/name.c: Likewise.
18663 * util/mkisofs/rock.c: Likewise.
18664 * util/mkisofs/tree.c: Likewise.
18665 * util/mkisofs/write.c: Likewise.
18666
5dde9afe
VS
186672010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 Unify grub-mkimage accross platforms.
18670
18671 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18672 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18673 (grub_mkelfimage_SOURCES): Removed.
18674 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18675 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18676 (bin_UTILITIES): Add grub-mkimage.
18677 (grub_mkimage_SOURCES): New variable.
18678 (kernel_img_HEADERS): Remove machine/kernel.h.
18679 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18680 (pkglib_PROGRAMS): Add kernel.img.
18681 (kernel_img_HEADERS): Add machine/kernel.h.
18682 (kernel_img_FORMAT): Removed.
18683 (bin_UTILITIES): Remove grub-mkimage.
18684 (grub_mkimage_SOURCES): Removed.
18685 (grub_mkimage_CFLAGS): Likewise.
18686 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18687 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18688 (pkglib_PROGRAMS): Add kernel.img.
18689 (bin_UTILITIES): Remove grub-mkimage.
18690 (grub_mkimage_SOURCES): Removed.
18691 (grub_mkimage_CFLAGS): Likewise.
18692 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18693 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18694 (pkglib_PROGRAMS): Add kernel.img.
18695 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18696 (pkglib_PROGRAMS): Add kernel.img.
18697 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18698 (grub_mkimage_SOURCES): Removed.
18699 (grub_mkimage_CFLAGS): Likewise.
18700 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18701 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18702 (pkglib_PROGRAMS): Add kernel.img.
18703 (bin_UTILITIES): Remove grub-mkimage.
18704 (grub_mkimage_SOURCES): Removed.
18705 (grub_mkimage_CFLAGS): Likewise.
18706 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18707 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18708 (grub_mkimage_SOURCES): Removed.
18709 (grub_mkimage_CFLAGS): Likewise.
18710 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18711 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18712 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18713 (grub_pe32_optional_header): ... this.
18714 (grub_pe64_optional_header): ... and this. All users updated.
18715 (GRUB_PE32_PE32_MAGIC): Split into ..
18716 (GRUB_PE32_PE32_MAGIC): .. this.
18717 (GRUB_PE32_PE64_MAGIC): .. and this.
18718 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18719 * include/grub/elf.h (PT_GNU_STACK): New definition.
18720 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18721 * include/grub/i386/efi/kernel.h: Likewise.
18722 * include/grub/i386/kernel.h: Likewise.
18723 * include/grub/i386/pc/kernel.h: Likewise.
18724 * include/grub/i386/qemu/boot.h: Likewise.
18725 * include/grub/mips/kernel.h: Likewise.
18726 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18727 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18728 * include/grub/powerpc/kernel.h: Likewise.
18729 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18730 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18731 * include/grub/sparc64/kernel.h: Likewise.
18732 * include/grub/x86_64/efi/kernel.h: Likewise.
18733 * include/grub/x86_64/kernel.h: Likewise.
18734 * include/grub/offsets.h: New file.
18735 * include/grub/kernel.h (grub_module_info): Split into ...
18736 (grub_module_info32): ... this.
18737 (grub_module_info64): ... and this.
18738 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18739 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18740 (grub_boot_blocklist): Moved from here ...
18741 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18742 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18743 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18744 * include/grub/types.h (grub_target_to_host16): Removed.
18745 (grub_target_to_host32): Likewise.
18746 (grub_target_to_host64): Likewise.
18747 (grub_host_to_target16): Likewise.
18748 (grub_host_to_target32): Likewise.
18749 (grub_host_to_target64): Likewise.
18750 (grub_host_to_target_addr): Likewise.
18751
18752 Support grub-mkrescue for efi, coreboot and qemu.
18753
18754 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18755 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18756 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18757 * util/grub-mkrawimage.c: Moved from here ...
18758 * util/grub-mkimage.c: ... here. All users updated.
18759 (ALIGN_ADDR): Use image_target.
18760 (TARGET_NO_FIELD): New const.
18761 (image_target_desc): New type.
18762 (image_targets): New array.
18763 (grub_target_to_host64): Use image_target.
18764 (grub_target_to_host32): Likewise.
18765 (grub_target_to_host16): Likewise.
18766 (grub_host_to_target64): Likewise.
18767 (grub_host_to_target32): Likewise.
18768 (grub_host_to_target16): Likewise.
18769 (grub_host_to_target_addr): Likewise.
18770 (generate_image): Handle multiimage.
18771 (main): Require -O parameter. All users updated.
18772 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18773 util/efi/grub-mkimage.c
18774 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18775 New option --rom-directory.
18776 Use xorriso.
18777 * util/i386/efi/grub-mkimage.c: Removed.
18778 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18779 (grub_target_to_host32): Likewise.
18780 (grub_target_to_host64): Likewise.
18781 (grub_host_to_target16): Likewise.
18782 (grub_host_to_target32): Likewise.
18783 (grub_host_to_target64): Likewise.
18784 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18785 (grub_target_to_host32): Likewise.
18786 (grub_target_to_host64): Likewise.
18787 (grub_host_to_target16): Likewise.
18788 (grub_host_to_target32): Likewise.
18789 (grub_host_to_target64): Likewise.
18790
f4fc97d0
BC
187912010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18792
18793 Source tree is reorganized for emu build.
18794
18795 * include/grub/util/console.h: Move from here...
18796 * include/grub/emu/console.h: ...to here.
18797 * include/grub/util/getroot.h: Move from here...
18798 * include/grub/emu/getroot.h: ...to here.
18799 * include/grub/util/hostdisk.h: Move from here...
18800 * include/grub/emu/hostdisk.h: ...to here.
18801 * util/console.c: Move from here...
18802 * kern/emu/console.c: ...to here.
18803 * util/getroot.c: Move from here...
18804 * kern/emu/getroot.c: ...to here.
18805 * util/grub-emu.c: Move from here...
18806 * kern/emu/main.c: ...to here.
18807 * util/hostdisk.c: Move from here...
18808 * kern/emu/hostdisk.c: ...to here.
18809 * util/hostfs.c: Move from here...
18810 * kern/emu/hostfs.c: ...to here.
18811 * util/mm.c: Move from here...
18812 * kern/emu/mm.c: ...to here.
18813 * util/pci.c: Move from here...
18814 * bus/emu/pci.c: ...to here.
18815 * util/sdl.c: Move from here...
18816 * video/emu/sdl.c: ...to here.
18817 * util/time.c: Move from here...
18818 * kern/emu/time.c: ...to here.
18819 * util/usb.c: Move from here...
18820 * bus/usb/emu/usb.c: ...to here.
18821
18822 * include/grub/emu/misc.h: New header for grub-emu functions.
18823 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18824
18825 * conf/any-emu.rmk: Rule updates for above renames.
18826 * conf/common.rmk: Likewise.
18827 * conf/i386-pc.rmk: Likewise.
18828 * conf/i386-qemu.rmk: Likewise.
18829 * conf/mips.rmk: Likewise.
18830 * conf/sparc64-ieee1275.rmk: Likewise.
18831 * conf/x86-efi.rmk: Likewise.
18832
18833 * disk/lvm.h: #include updates for above renames.
18834 * util/grub-mkrelpath.c: Likewise.
18835 * util/grub-probe.c: Likewise.
18836 * util/i386/pc/grub-setup.c: Likewise.
18837 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18838 * kern/emu/console.c: Likewise.
18839 * kern/emu/getroot.c: Likewise.
18840 * kern/emu/hostdisk.c: Likewise.
18841 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18842
18843 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18844 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18845 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18846 * util/misc.c: Remove grub-emu functions.
18847
cced9145
VS
188482010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 Fix gfxmenu crash.
18851 Reported by: Thorsten Grützmacher.
18852
18853 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18854 timeout hook.
18855 (circprog_set_property): Register and unregister timeout hook.
18856 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18857 (label_destroy): Free template. and unregister hook.
18858 (label_set_state): New function.
18859 (label_set_property): Handle templates and hooks.
18860 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18861 timeout hook.
18862 (progress_bar_set_property): Register and unregister timeout hook.
18863 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18864 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18865 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18866 (update_timeout_visit): Removed.
18867 (update_timeouts): New function.
18868 (redraw_timeouts): Likewise.
18869 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18870 (grub_gfxmenu_clear_timeout): Likewise.
18871 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18872 (grub_gfxmenu_timeout_notify): Likewise.
18873 (grub_gfxmenu_timeout_notifications): New external variable.
18874 (grub_gfxmenu_timeout_register): New function.
18875 (grub_gfxmenu_timeout_unregister): Likewise.
18876
c6e5caab
VS
188772010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18878
18879 Transform (broken) vga terminal into (working) vga video driver.
18880
18881 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18882 video/i386/pc/vga.c.
18883 * include/grub/video.h (grub_video_driver_id):
18884 Add GRUB_VIDEO_DRIVER_VGA.
18885 * term/i386/pc/vga.c: Renamed to ...
18886 * video/i386/pc/vga.c: ...this
18887 (DEBUG_VGA): Removed.
18888 (CHAR_WIDTH): Likewise.
18889 (CHAR_HEIGHT): Likewise.
18890 (TEXT_WIDTH): Likewise.
18891 (TEXT_HEIGHT): Likewise.
18892 (DEFAULT_FG_COLOR): Likewise.
18893 (DEFAULT_BG_COLOR): Likewise.
18894 (colored_char): Likewise.
18895 (xpos): Likewise.
18896 (ypos): Likewise.
18897 (cursor_state): Likewise.
18898 (fg_color): Likewise.
18899 (bg_color): Likewise.
18900 (text_buf): Likewise.
18901 (page): Likewise.
18902 (font): Likewise.
18903 (framebuffer): New variable.
18904 (set_read_map): Disabled.
18905 (setup): New variable.
18906 (is_target): Likewise.
18907 (grub_vga_mod_init): Likewise.
18908 (grub_vga_mod_fini): Likewise.
18909 (check_vga_mem): Likewise.
18910 (write_char): Likewise.
18911 (write_cursor): Likewise.
18912 (scroll_up): Likewise.
18913 (grub_vga_putchar): Likewise.
18914 (grub_vga_getcharwidth): Likewise.
18915 (grub_vga_getwh): Likewise.
18916 (grub_vga_getxy): Likewise.
18917 (grub_vga_gotoxy): Likewise.
18918 (grub_vga_cls): Likewise.
18919 (grub_vga_setcolorstate): Likewise.
18920 (grub_vga_setcursor): Likewise.
18921 (grub_video_vga_init): New function.
18922 (grub_video_vga_setup): Likewise.
18923 (grub_video_vga_fini): Likewise.
18924 (update_target): Likewise.
18925 (grub_video_vga_blit_bitmap): Likewise.
18926 (grub_video_vga_blit_render_target): Likewise.
18927 (grub_video_vga_set_active_render_target): Likewise.
18928 (grub_video_vga_get_active_render_target): Likewise.
18929 (grub_video_vga_swap_buffers): Likewise.
18930 (grub_video_vga_set_palette): Likewise.
18931 (grub_video_vga_get_info_and_fini): Likewise.
18932 (grub_vga_term): Removed.
18933 (grub_video_vga_adapter): New variable.
18934 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18935 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18936
2bf61a98
VS
189372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 * video/readers/jpeg.c: Indented.
18940
09ddcd11
VS
189412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 Various jpeg cleanups.
18944
18945 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18946 (grub_jpeg_decode_quan_table): Use sizeof.
18947 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18948
e5507505
PH
189492010-05-05 Peter Hurley <No e-mail available> (tiny change)
18950
18951 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18952 tables. Ignore non-last ac bit.
18953 (grub_jpeg_decode_quan_table): Likewise.
18954
7e720a9b
VS
189552010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18958 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18959 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18960 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18961 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18962 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18963
a7fc080b
VS
189642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18967 error.
18968
2bf6012d
VS
189692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18970
18971 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18972
265d68cd
VS
189732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18976 condition.
18977
189782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18979
18980 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18981 part.
18982
265d68cd 189832010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18984
18985 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18986 pointers.
18987
265d68cd 189882010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18989
18990 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18991
d1b61374
CF
189922010-05-01 Christian Franke <franke@computer.org>
18993
18994 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18995 Remove broken Cygwin path conversion.
18996 * util/misc.c: [__CYGWIN__] Add include and define.
18997 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18998 for Cygwin 1.7.
18999 (make_system_path_relative_to_its_root): Simplify loop, replace early
19000 return by break.
19001 [__CYGWIN__] Add conversion to win32 path.
19002 Include "/" case in trailing slash removal.
19003
3558c6e9
VS
190042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19005
19006 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19007 Reported by: Seth Goldberg
19008
f5f3ff93
VS
190092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * commands/help.c (grub_cmd_help): Fix a typo.
19012 Reported by: Seth Goldberg
19013
d8b5cd40
VS
190142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19017 name and add N_.
19018 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19019 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19020 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19021 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19022 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19023 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19024 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19025 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19026 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19027 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19028 * normal/context.c (GRUB_MOD_INIT): Likewise.
19029 * normal/main.c (GRUB_MOD_INIT): Likewise.
19030 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19031 * term/serial.c (GRUB_MOD_INIT): Likewise.
19032 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19033
88c14915
VS
190342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19037 extra == 0.
19038
165134bc
VS
190392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19040
19041 * commands/iorw.c: New file.
19042 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19043 (iorw_mod_SOURCES): New variable.
19044 (iorw_mod_CFLAGS): Likewise.
19045 (iorw_mod_LDFLAGS): Likewise.
19046
c5ac9b32
VS
190472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 Hotkey support
19050
19051 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19052 * normal/main.c (hotkey_aliases): New variable.
19053 (grub_normal_add_menu_entry): Parse "--hotkey".
19054 * normal/menu_text.c (run_menu): Handle hotkeys.
19055
ce60689c
VS
190562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19057
19058 * kern/i386/coreboot/init.c (grub_machine_init): Call
19059 grub_machine_mmap_init on qemu.
19060
0359d006
VS
190612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 * boot/i386/qemu/boot.S: Add a missing .code16.
19064
7819a456
VS
190652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19066
19067 Use LBIO on coreboot.
19068
19069 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19070 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19071 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19072 New declaration.
19073 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19074 grub_machine_mmap_init on coreboot.
19075 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19076 GRUB_LINUXBIOS_MEMBER_LINK.
19077 (grub_machine_mmap_iterate): Fix declaration.
19078 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19079
7210dca9
VS
190802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19081
19082 Split coreboot and multiboot ports.
19083
19084 * conf/i386-multiboot.rmk: New file.
19085 * configure.ac: Add multiboot port.
19086 * include/grub/i386/multiboot/boot.h: New file.
19087 * include/grub/i386/multiboot/console.h: Likewise.
19088 * include/grub/i386/multiboot/init.h: Likewise.
19089 * include/grub/i386/multiboot/kernel.h: Likewise.
19090 * include/grub/i386/multiboot/loader.h: Likewise.
19091 * include/grub/i386/multiboot/memory.h: Likewise.
19092 * include/grub/i386/multiboot/serial.h: Likewise.
19093 * include/grub/i386/multiboot/time.h: Likewise.
19094 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19095 * loader/multiboot.c: Likewise.
19096 * loader/multiboot_mbi2.c: Likewise.
19097 * util/grub-mkrescue.in: Generate multiboot rescue.
19098
6f8aaf68
VS
190992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19100
3080f7a7
VS
19101 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19102
191032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
19106
19107 * commands/terminal.c (abstract_terminal): New struct.
19108 (handle_command): New function. Based on grub_cmd_terminal_input.
19109 (grub_cmd_terminal_input): Use handle_command.
19110 (grub_cmd_terminal_output): Use handle_command.
19111
a8ebb841
BC
191122010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19113
19114 Fix comment handling.
19115
19116 * tests/grub_script_comments.in: New testcase.
19117 * conf/tests.rmk: Rules for new testcase.
19118 * script/yylex.l: Updated flex rules.
19119
bb06ba08
ST
191202010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19121
19122 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
19123 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19124 if argc is 1.
bb06ba08 19125
cc9d2425
VS
191262010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19127
19128 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19129 autogen issues.
19130
460d8402
CF
191312010-04-26 Christian Franke <franke@computer.org>
19132
19133 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19134 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19135 (grub_get_prefix): Remove function.
19136 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19137 make_system_path_relative_to_its_root ().
19138 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19139
553c01f9
CF
191402010-04-24 Christian Franke <franke@computer.org>
19141
19142 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19143 (kernel_img_LDFLAGS): Remove -static-libgcc.
19144
2aec1692
CF
191452010-04-24 Christian Franke <franke@computer.org>
19146
19147 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19148 and CHECK_END_SYMBOL if grub-emu is built.
19149 Unset TARGET_OBJ2ELF if grub-emu is built
19150 without module support.
19151
f67dc308
JS
191522010-04-24 Jiro SEKIBA <jir@unicus.jp>
19153
19154 Nilfs2 support.
19155
19156 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19157 (grub_fstest_SOURCES): Likewise.
19158 (pkglib_MODULES): Add nilfs2.mod.
19159 (nilfs2_mod_SOURCES): New variable.
19160 (nilfs2_mod_CFLAGS): Likewise.
19161 (nilfs2_mod_LDFLAGS): Likewise.
19162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19163 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19164 * fs/nilfs2.c: New file.
19165
4ba8d354
VS
191662010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19169 is not supported.
19170
0d2c20c6
GS
191712010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19172
19173 Add grub-mkconfig support for NetBSD.
19174
19175 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19176 * util/grub-mkconfig.in: export new NetBSD specific variables.
19177 * po/POTFILES-shell: added 10_netbsd.in.
19178 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
19179
bc4a2d83
BC
191802010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19181
19182 Fix emu build with grub-emu-pci and grub-emu-modules.
19183
19184 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19185 functions.
19186 * include/grub/libpciaccess.h: New file.
19187 * conf/any-emu.rmk: Update kernel headers for emu build.
19188
f48c87aa
VS
191892010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19192
18959385
VS
191932010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19196
0037de3f
VS
191972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19200 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19201 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19202 util/ieee1275/ofpath.c.
19203 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19204 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19205 * include/grub/sparc64/ieee1275/boot.h
19206 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19207 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19208 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19209 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19210 const char *.
19211 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19212 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19213 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19214 install.
19215
38e55e90
GS
192162010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19217
19218 * util/grub-mkconfig.in: Corrected two == equality tests.
19219 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19220 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19221 expect a number appended to it.
19222 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19223 expects a number appended to it.
19224
a9e6ff28
VS
192252010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19228
0b830b8f
VS
192292010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19230
19231 * util/hostdisk.c (make_device_name): Change to new partition naming.
19232
0973daeb
VS
192332010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19234
19235 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19236
460d8402 192372010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
19238
19239 * Makefile.in: Add missing localedir setting.
19240
0b456309
CW
192412010-04-14 Colin Watson <cjwatson@ubuntu.com>
19242
19243 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19244 mistake in r2156. Noticed by Anthony Fok.
19245
19246 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19247 @localedir@.
19248 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19249
08f46d62
BC
192502010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19251
19252 Fix a spurious, uninitialized variable warning.
19253
19254 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19255 Initialize variable, shdr.
19256 (grub_freebsd_load_elfmodule): Likewise.
19257 (grub_freebsd_load_elf_meta): Likewise.
19258
8c4a72d4
BC
192592010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
19260
19261 Fix for escaped dollar in double quoted strings.
19262
19263 * script/yylex.l: Updated flex rules.
19264 * conf/tests.rmk: Rule for new testcase.
19265 * tests/grub_script_dollar.in: New testcase.
19266
ce44826e
CPE
192672010-04-13 Carles Pina i Estany <carles@pina.cat>
192682010-04-13 Colin Watson <cjwatson@ubuntu.com>
19269
19270 Enclose all translated strings in grub.cfg in single quotes, and
19271 escape them appropriately (Ubuntu bug #552921).
19272
19273 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
19274 * util/grub.d/10_hurd.in: Use it.
19275 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19276 * util/grub.d/10_linux.in (linux_entry): Likewise.
19277
4b0cd8f8
VS
192782010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19279
19280 Fix cygwin compilation.
19281
19282 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
19283 * include/grub/misc.h (__register_frame_info)
19284 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
19285 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19286 * kern/misc.c (__register_frame_info)
19287 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
19288 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19289
01fcf061
VS
192902010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
19293
5d04b11e
VS
192942010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 Unify libgcc processing.
19297
19298 * Makefile.in (kernel_img_LDFLAGS): New variable.
19299 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
19300 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
19301 overwriting.
19302 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
19303 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
19304 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
19305 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
19306 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
19307 overwriting. Remove -lgcc and -static-libgcc
19308 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
19309 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19310 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19311 (kernel_img_LDFLAGS): Append instead of overwriting.
19312 Remove -lgcc and -static-libgcc
19313 * conf/sparc64-ieee1275.rmk: Likewise.
19314 * include/grub/powerpc/libgcc.h: Move to ...
19315 * include/grub/libgcc.h: .. this.
19316 * include/grub/libgcc.h: Don't export most of the function on x86.
19317 (__bswapsi2): New export.
19318 (__bswapdi2): Likewise.
19319 * include/grub/mips/libgcc.h: Removed.
19320 * include/grub/sparc64/libgcc.h: Likewise.
19321
b7f3ac29
VS
193222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
19325 disk_info_msg (conflicts with gettexting into languages with cases).
19326
2c7031b1
GS
193272010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
19328
19329 Add grub-probe support for NetBSD.
19330
19331 * util/getroot.c (find_root_device): Convert block device to
19332 character device on NetBSD.
19333 * util/probe.c (probe): Require character device on NetBSD.
19334 * util/hostdisk.c: NetBSD specific headers.
19335 (configure_device_driver): new function to tune device driver
19336 parameters (currently only for NetBSD floppy driver).
19337 (grub_util_biosdisk_open): NetBSD specific code (get disk size
19338 via disklabel ioctl).
19339 (open_device): call configure_device_driver on NetBSD.
19340 (convert_system_partition_to_system_disk): NetBSD specific code.
19341 (device_is_wholedisk): Likewise.
19342 (grub_util_biosdisk_get_grub_dev): Likewise.
19343 (make_device_name): Fixed a typo in bsd_part_str.
19344 * configure.ac: check for opendisk() and getrawpartition() on
19345 NetBSD and set LIBUTIL.
19346 * Makefile.in: add LIBUTIL to LIBS.
19347
f516290c
BC
193482010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19349
19350 Documentation fix.
19351
19352 * util/grub-script-check.c: Better help message.
19353
d8dcc0df
BC
193542010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19355
19356 Fix FreeBSD build.
19357
19358 * configure.ac: Flex version check.
19359 * conf/common.rmk: Add -Wno-error to sh.mod.
19360 * script/yylex.l: Remove all #pragma.
19361
6734334a
VS
193622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 * include/grub/util/misc.h (canonicalise_file_name): Add missing
19365 prototype.
19366 Reported by: Seth Goldberg.
19367
daea6abd
VS
193682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
19371 Rename "module" to "module2".
19372 Reported by: Seth Goldberg.
19373
f2fd9d2b
VS
193742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
19377 EXPORT_FUNC.
19378 Reported by: Seth Goldberg.
19379
be124579
VS
193802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 * lib/posix_wrap/locale.h: Add missing file.
19383 Reported by: Seth Goldberg.
19384
ef5da797
VS
193852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 grub-emu module load support.
19388
19389 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
19390 NO_DYNAMIC_MODULES switched to this.
19391 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
19392 (CFLAGS): Likewise.
19393 * conf/any-emu.rmk: Generate symlist.
19394 (kernel_img_HEADERS): Add util/datetime.h.
19395 (kernel_img_HEADERS) [sdl]: Add sdl.h.
19396 (kernel_img_HEADERS) [libusb]: Add libusb.h.
19397 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
19398 kern/$(target_cpu)/cache.S.
19399 * configure.ac (grub-emu-modules): New option.
19400 * genmk.rb: Handle multiple source lists.
19401 * include/grub/sdl.h: New file.
19402 * include/grub/libusb.h: Likewise.
19403 * util/grub-emu.c (main): Hanle (host) root.
19404 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
19405 GRUB_ERR_UNKNOWN_DEVICE.
19406 * util/misc.c: Move mm functions to ...
19407 * util/mm.c: ... here. All users updated.
19408
47822096
VS
194092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19410
19411 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
19412 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
19413 missing files.
19414 (maintainer-clean): Remove libgcrypt-grub.
19415
5d7e7445
VS
194162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
19419
25f4e252
EC
194202010-04-09 EFI Coder <eficoder@hotmail.com>
19421
19422 * normal/menu_text.c (print_message): Clean up the message and show
19423 the Fn information when on EFI
19424 * term/efi/console.c (grub_console_checkkey): Add F4 support.
19425
027de555
VS
194262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
19429 All users updated.
19430 * normal/crypto.c (read_crypto_list): Likewise.
19431 * normal/dyncmd.c (read_command_list): Likewise.
19432 * normal/term.c (read_terminal_list): Likewise.
19433 * normal/main.c (read_lists): Use explicit prefix.
19434 (read_lists_hook): Use read_lists.
19435 (grub_normal_execute): Likewise.
19436
47779711
VS
194372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
19440 Reported by: Thomas Schmitt.
19441 Add -no-emul-boot to grub-mkisofs parameters.
19442
1118c32e
VS
194432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 * font/font.c: Indented.
19446
7d652447
BC
194472010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19448
19449 Elif support to GRUB script (by Deepak Vankadaru).
19450
19451 * tests/grub_script_if.in: New testcase.
19452 * conf/tests.rmk: Rule for new testcase.
19453 * script/parser.y: Grammar rules for elif.
19454
34bb22df
BC
194552010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19456
19457 While and until loops support to GRUB script.
19458
19459 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
19460 (grub_script_create_cmdwhile): New function prototype.
19461 (grub_script_execute_cmdwhile): New function prototype.
19462 * script/execute.c (grub_script_execute_cmdwhile): New function.
19463 * script/parser.y (command): New commands.
19464 (whilecmd): New grammar rule.
19465 (untilcmd): New grammar rule.
19466 * script/script.c (grub_script_create_cmdwhile): New function.
19467 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
19468 function.
19469
19470 * tests/grub_script_while1.in: New testcase.
19471 * conf/tests.rmk: Rule for new testcase.
19472
e215d8e0
VS
194732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
19476 as *.jpg.
19477
d7c43ba1
MV
194782010-04-09 Mario Vazquez <mariovazq@gmail.com>
19479
19480 GRUB_BACKGROUND support.
19481
19482 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
19483 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
19484
d64795c0
VS
194852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19486
19487 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 19488 Idea by: Mario Vazquez
d64795c0
VS
19489
19490 * util/grub.d/00_header.in: Load pf2 and image modules.
19491
f267f83a
VS
194922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 grub-mkconfig multiple terminal support.
19495
19496 * util/grub-mkconfig.in: Handle multiple terminals correctly.
19497 * util/grub.d/00_header.in: Likewise.
19498
b7841ceb
VS
194992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * Makefile.in: Specify files explicitly instead of using $< and $@ since
19502 we use cd $(srcdir).
19503
df60998c
CW
195042010-04-08 Colin Watson <cjwatson@ubuntu.com>
19505
19506 * util/grub.d/10_linux.in: Only use the first word of
19507 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
19508 spaces in GRUB_DISTRIBUTOR.
19509 * util/grub.d/10_kfreebsd.in: Likewise.
19510 * util/grub.d/10_hurd.in: Likewise.
19511
fa09c82e
BC
195122010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
19513
14e18ae3 19514 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
19515
19516 * tests/util/grub-shell.in: Remove -serial stdio option.
19517
daf892b3
BC
195182010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 POSIX header file wrappers.
19521
19522 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
19523 equivalents.
19524 * lib/posix_wrap/ctype.h: Likewise.
19525 * lib/posix_wrap/errno.h: Likewise.
19526 * lib/posix_wrap/langinfo.h: Likewise.
19527 * lib/posix_wrap/limits.h: Likewise.
19528 * lib/posix_wrap/localcharset.h: Likewise.
19529 * lib/posix_wrap/stdint.h: Likewise.
19530 * lib/posix_wrap/stdio.h: Likewise.
19531 * lib/posix_wrap/stdlib.h: Likewise.
19532 * lib/posix_wrap/string.h: Likewise.
19533 * lib/posix_wrap/sys/types.h: Likewise.
19534 * lib/posix_wrap/unistd.h: Likewise.
19535 * lib/posix_wrap/wchar.h: Likewise.
19536 * lib/posix_wrap/wctype.h: Likewise.
19537 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
19538 (grub_script.yy.h): Likewise.
19539 * script/yylex.l: Remove POSIX emulation #defines.
19540 * Makefile.in (POSIX_CFLAGS): New variable.
19541 (GNULIB_UTIL_CFLAGS): Likewise.
19542
19543 Regexp support.
19544
19545 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
19546 (regexp_mod_SOURCES): New variable.
19547 (regexp_mod_CFLAGS): Likewise.
19548 (regexp_mod_LDFLAGS): Likewise.
19549 * commands/regexp.c: New file.
19550 * gnulib/regcomp.c: New file. Imported from gnulib.
19551 * gnulib/regex.c: Likewise.
19552 * gnulib/regex_internal.c: Likewise.
19553 * gnulib/regex_internal.h: Likewise.
19554 * gnulib/regexec.c: Likewise.
19555 * gnulib/regex.h: Likewise.
19556
974ac4f7
VS
195572010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
19560 unsupported video mode types.
19561
2622c3ff
VS
195622010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
19565
064cb524
VS
195662010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19567
19568 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
19569 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
19570
a8c3b552
VS
195712010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19572
19573 Remove unused grub_vga_get_font.
19574
19575 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
19576 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
19577
187bbe3d
GS
195782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19579
19580 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
19581 * include/grub/misc.h: Likewise.
19582
b9396631
GS
195832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19584
19585 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
19586 for which failure is fatal.
19587
50479feb
GS
195882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19589
19590 * util/grub-install.in: Use mkdir -p to create grub directory.
19591 * util/i386/efi/grub-install.in: Likewise.
19592 * util/ieee1275/grub-install.in: Likewise.
19593
b1654fdf
GS
195942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19595
19596 * Makefile.in (LEX): new variable.
19597
bd5a6415
GS
195982010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19599
19600 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
19601 `=' and added double quotes on operands of this equality test.
19602
3db3a82b
VS
196032010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19604
19605 * Makefile.in (uninstall): Remove a leftover debug echo.
19606 Reported by: Grégoire Sutre
19607
38023412
VS
196082010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 MIPS multiboot2 support.
19611
19612 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
19613 (multiboot2_mod_SOURCES): New variable.
19614 (multiboot2_mod_CFLAGS): Likewise.
19615 (multiboot2_mod_LDFLAGS): Likewise.
19616 (multiboot2_mod_ASFLAGS): Likewise.
19617 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
19618 definition.
19619 (MULTIBOOT_ENTRY_REGISTER): Likewise.
19620 (MULTIBOOT_MBI_REGISTER): Likewise.
19621 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
19622 (MULTIBOOT_ELF32_MACHINE): Likewise.
19623 (MULTIBOOT_ELF64_MACHINE): Likewise.
19624 * include/grub/mips/multiboot.h: New file.
19625 * include/grub/video.h (grub_video_driver_id): New type
19626 GRUB_VIDEO_DRIVER_SM712.
19627 (grub_video_get_info_and_fini): Export.
19628 (grub_video_get_palette): Likewise.
19629 (grub_video_get_driver_id): Likewise.
19630 * include/multiboot2.h: Resynced with spec.
19631 * loader/i386/multiboot.c: Moved from here ...
19632 * loader/multiboot.c: ... here. All users updated.
19633 (grub_multiboot_boot): Use platform-specific macros.
19634 * loader/i386/multiboot_elfxx.c: Moved from here ...
19635 * loader/multiboot_elfxx.c: ... here. All users updated.
19636 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19637 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19638 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19639
47674667
VS
196402010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 Import gnulib argp module.
19643
19644 * gnulib/argp-ba.c: New file.
19645 * gnulib/argp-eexst.c: Likewise.
19646 * gnulib/argp-fmtstream.c: Likewise.
19647 * gnulib/argp-fmtstream.h: Likewise.
19648 * gnulib/argp-fs-xinl.c: Likewise.
19649 * gnulib/argp-help.c: Likewise.
19650 * gnulib/argp-namefrob.h: Likewise.
19651 * gnulib/argp-parse.c: Likewise.
19652 * gnulib/argp-pin.c: Likewise.
19653 * gnulib/argp-pv.c: Likewise.
19654 * gnulib/argp-pvh.c: Likewise.
19655 * gnulib/argp-version-etc.c: Likewise.
19656 * gnulib/argp-version-etc.h: Likewise.
19657 * gnulib/argp-xinl.c: Likewise.
19658 * gnulib/argp.h: Likewise.
19659
495442ed
VS
196602010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19661
19662 * kern/device.c (grub_device_iterate): Clear errors after failed
19663 opening device.
19664
f9fd65df
VS
196652010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19666
19667 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19668 returned by firmware.
19669
af09641e
VS
196702010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19673 compilation on coreboot and qemu
19674
016883a5
VS
196752010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 * include/multiboot2.h: Resync with spec.
19678
f97e1f7d
VS
196792010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19680
19681 Multiboot2 tag support
19682
19683 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19684 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19685 Remove loader/multiboot_loader.c.
19686 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19687 (grub_multiboot2_real_boot): Likewise.
19688 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19689 (grub_get_multiboot_mmap_count): New proto.
19690 (grub_fill_multiboot_mmap): Likewise.
19691 (grub_multiboot_set_video_mode): Likewise.
19692 (grub_multiboot_set_console): Likewise.
19693 (grub_multiboot_load): Likewise.
19694 (grub_multiboot_load_elf): Likewise.
19695 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19696 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19697 * include/multiboot.h: Resynced with specification.
19698 * include/multiboot2.h: Resynced with specification.
19699 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19700 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19701 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19702 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19703 users updated.
19704 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19705 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19706 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19707 Removed.
19708 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19709 Moved from here...
19710 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19711 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19712 Moved from here...
19713 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19714 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19715 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19716 All users updated.
19717 * loader/i386/multiboot_mbi2.c: New file.
19718
3506b90b
VS
197192010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 Resync with gnulib.
19722
19723 * Makefile.in (GNULIB_CFLAGS): New variable.
19724 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19725 (grub_script_check_CFLAGS): New variable.
19726 * gnulib/alloca.h: Resync with gnulib.
19727 * gnulib/error.c: Likewise.
19728 * gnulib/error.h: Likewise.
19729 * gnulib/fnmatch.c: Likewise.
19730 * gnulib/fnmatch_loop.c: Likewise.
19731 * gnulib/getdelim.c: Likewise.
19732 * gnulib/getline.c: Likewise.
19733 * gnulib/getopt.c: Likewise.
19734 * gnulib/getopt1.c: Likewise.
19735 * gnulib/getopt_int.h: Likewise.
19736 * gnulib/gettext.h: Likewise.
19737 * gnulib/progname.c: Likewise.
19738 * gnulib/progname.h: Likewise.
19739
394a3120
GS
197402010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19741
19742 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19743 which is the case with --disabled-nls.
19744
19745 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19746 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19747 * util/misc.c: Likewise.
19748 * util/mkisofs/mkisofs.c: Likewise.
19749 * util/mkisofs/mkisofs.h: Likewise.
19750
969d1c78
VS
197512010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19752
19753 Simplify Apple CC support.
19754
19755 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19756 Add 0 byte at the end not to have a symbol with empty target.
19757 * mmap/i386/pc/mmap_helper.S: Likewise.
19758 * genmk.rb: Ignore errors 2030 and 2050.
19759 * kern/i386/pc/startup.S: Use LOCAL when possible.
19760
8d2977bb
BC
197612010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19762
19763 Testcase and the fix for final semicolon on cmdline.
19764
19765 * tests/grub_script_final_semicolon.in: New testcase.
19766 * conf/tests.rmk: Rules for the new testcase.
19767 * script/parser.y: Grammar fix.
19768
a7bd6915
BC
197692010-03-26 BVK Chaitanya <bvk@localhost>
19770
19771 Blank lines testcase for GRUB script.
19772
19773 * tests/grub_script_blanklines.in: New testcase.
19774 * conf/tests.rmk: Rules for the new testcase.
19775
e4ff6628
VS
197762010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 Don't use __FILE__.
19779
19780 * genmk.rb: Add -DGRUB_FILE to all C targets.
19781 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19782 * include/grub/list.h: Likewise.
19783 * include/grub/misc.h: Likewise.
19784 * include/grub/mm.h: Likewise.
19785 * include/grub/test.h: Likewise.
19786 * kern/mm.c: Likewise.
19787 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19788
6a5cf6b6
VS
197892010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 Sunpc partitions support.
19792
19793 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19794 (grub_fstest_SOURCES): Likewise.
19795 (pkglib_MODULES): Add part_sunpc.mod.
19796 (part_sunpc_mod_SOURCES): New variable.
19797 (part_sunpc_mod_CFLAGS): Likewise.
19798 (part_sunpc_mod_LDFLAGS): Likewise.
19799 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19800 * partmap/sunpc.c: New file.
19801
746d9045
BC
198022010-03-26 BVK Chaitanya <bvk@localhost>
19803
19804 For loop support to GRUB script.
19805
19806 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19807 (grub_script_create_cmdfor): New function prototype.
19808 (grub_script_execute_cmdfor): New function prototype.
19809 * script/execute.c (grub_script_execute_cmdfor): New function.
19810 * script/parser.y (command): New for command.
19811 (forcmd): New grammar rule.
19812 * script/script.c (grub_script_create_cmdfor): New function.
19813 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19814 function.
19815 * tests/grub_script_for1.in: New testcase.
19816 * conf/tests.rmk: Rules for new testcase.
19817
18486b18
VS
198182010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 Nested partitions
19821
19822 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19823 'partition' is NULL, grub_partition_get_start already does that.
19824 * commands/loadenv.c (check_blocklists): Likewise.
19825 (write_blocklists): Likewise.
19826 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19827 (grub_fstest_SOURCES): Likewise.
19828 (pkglib_MODULES): Add part_bsd.mod.
19829 (part_bsd_mod_SOURCES): New variable.
19830 (part_bsd_mod_CFLAGS): Likewise.
19831 (part_bsd_mod_LDFLAGS): Likewise.
19832 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19833 (grub_emu_SOURCES): Likewise.
19834 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19835 * include/grub/bsdlabel.h: New file.
19836 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19837 'get_name'.
19838 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19839 (grub_partition_map_list): New variable.
19840 (grub_partition_map_register): Inline.
19841 (grub_partition_map_unregister): Likewise.
19842 (FOR_PARTITION_MAPS): New macro.
19843 (grub_partition_map_iterate): Removed.
19844 (grub_partition_get_start): Handle nested partitions.
19845 * include/grub/msdos_partition.h: Remove bsd-related entries.
19846 (grub_pc_partition): Remove.
19847 * kern/disk.c (grub_disk_close): Free partition data.
19848 (grub_disk_adjust_range): Handle nested partitions.
19849 * kern/partition.c (grub_partition_map_probe): New function.
19850 (grub_partition_probe): Parse name to number, handle subpartitions.
19851 (get_partmap): New function.
19852 (grub_partition_iterate): Handle subpartitions.
19853 (grub_partition_get_name): Likewise.
19854 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19855 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19856 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19857 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19858 Set 'number'.
19859 (acorn_partition_map_probe): Remove.
19860 (acorn_partition_map_get_name): Likewise.
19861 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19862 Set 'number'.
19863 Set 'index' to 0 since there can be only one partition entry per sector.
19864 (amiga_partition_map_probe): Remove.
19865 (amiga_partition_map_get_name): Likewise.
19866 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19867 Set 'number'.
19868 Set 'offset' and 'index' to real positions of partitions.
19869 (apple_partition_map_probe): Remove.
19870 (apple_partition_map_get_name): Likewise.
19871 * partmap/bsdlabel.c: New file.
19872 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19873 Set 'number'.
19874 Allocate 'data' so it can be correctly freed.
19875 Set 'index' to offset inside sector.
19876 (gpt_partition_map_probe): Remove.
19877 (gpt_partition_map_get_name): Likewise.
19878 * partmap/msdos.c (grub_partition_parse): Remove.
19879 (pc_partition_map_iterate): Don't force raw access.
19880 Set 'number'.
19881 Make 'ext_offset' a local variable.
19882 (pc_partition_map_probe): Remove.
19883 (pc_partition_map_get_name): Remove.
19884 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19885 Set 'number'.
19886 (sun_partition_map_probe): Remove.
19887 (sun_partition_map_get_name): Likewise.
19888 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19889 (grub_pcpart_type): Likewise.
19890 * util/hostdisk.c (open_device): Handle new numbering scheme.
19891 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19892 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19893 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19894 * util/grub-install.in: Insert all subpartition modules.
19895 * util/ieee1275/grub-install.in: Likewise.
19896
a3940f88
AG
198972010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19898
19899 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19900 grammar.
19901
21b99926 199022010-03-24 Colin Watson <cjwatson@ubuntu.com>
19903
19904 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19905
bed1d352
CW
199062010-03-21 Colin Watson <cjwatson@ubuntu.com>
19907
19908 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19909 match where 'make install' puts them.
19910 * util/i386/efi/grub-install.in: Likewise.
19911
c9f58427
CW
199122010-03-19 Colin Watson <cjwatson@ubuntu.com>
19913
19914 * .bzrignore: Add gentrigtables, grub-script-check,
19915 grub_script_check_init.c, grub_script_check_init.h, and
19916 trigtables.c.
19917
f84afb27
VS
199182010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19919
19920 * kern/parser.c: Indented.
19921
ed0e3d30
VS
199222010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19925
0ea81d98
VS
199262010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19929 alpha_mask_size == 0 case.
19930
0cdc2a09
BC
199312010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19932
19933 GRUB shell lexer and parser improvements.
19934
19935 * conf/any-emu.rmk: Build rule updates.
19936 * conf/common.rmk: Likewise.
19937 * conf/i386-coreboot.rmk: Likewise.
19938 * conf/i386-efi.rmk: Likewise.
19939 * conf/i386-ieee1275.rmk: Likewise.
19940 * conf/i386-pc.rmk: Likewise.
19941 * conf/powerpc-ieee1275.rmk: Likewise.
19942 * conf/x86_64-efi.rmk: Likewise.
19943
19944 * configure.ac: Configure check for flex.
19945
19946 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19947 types.
19948 (grub_lexer_param): Struct member updates.
19949 (grub_parser_param): Likewise.
19950 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19951 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19952 (grub_script_lexer_init): Prototype update.
19953 (grub_script_lexer_record_start): Likewise.
19954 (grub_script_lexer_record_stop): Likewise.
19955 (grub_script_lexer_yywrap): New function prototype.
19956 (grub_script_lexer_fini): Likewise.
19957 (grub_script_execute_argument_to_string): Removed by...
19958 (grub_script_execute_argument_to_argv): ...better version.
19959
19960 * script/execute.c (ROUND_UPTO): New macro.
19961 (grub_script_execute_cmdline): Out of memory fixes.
19962 (grub_script_execute_menuentry): Likewise.
19963 (grub_script_execute_argument_to_string): Removed. Update all
19964 users by...
19965 (grub_script_execute_argument_to_argv): ...better version.
19966 * script/function.c (grub_script_function_create): Use
19967 grub_script_execute_argument_to_argv instead of
19968 grub_script_execute_argument_to_string.
19969
19970 * script/lexer.c (check_varstate): Removed.
19971 (check_textstate): Removed.
19972 (grub_script_lexer_record_start): Likewise.
19973 (grub_script_lexer_record_stop): Likewise.
19974 (recordchar): Replaced with...
19975 (grub_script_lexer_record): ...new function.
19976 (nextchar): Removed.
19977 (grub_script_lexer_init): Rewritten.
19978 (grub_script_yylex): Rewritten.
19979 (append_newline): New function.
19980 (grub_script_lexer_yywrap): New function.
19981 (grub_script_lexer_fini): New function.
19982 (grub_script_yyerror): Sets error flag.
19983
19984 * script/yylex.l: New file.
19985 (grub_lexer_yyfree): Wrapper for flex yyffre.
19986 (grub_lexer_yyalloc): Likewise.
19987 (grub_lexer_yyrealloc): Likewise.
19988 * script/parser.y: Refactored.
19989
19990 * script/script.c (grub_script_arg_add): Out of memory fixes.
19991 (grub_script_add_arglist): Likewise.
19992 (grub_script_create_cmdline): Likewise.
19993 (grub_script_create_cmdmenu): Likewise.
19994 (grub_script_add_cmd): Likewise.
19995 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19996 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19997 unnecessary code.
19998
19999 * tests/grub_script_echo1.in: New testcase.
20000 * tests/grub_script_vars1.in: New testcase.
20001 * tests/grub_script_echo_keywords.in: New testcase.
20002
1d63a066
VS
200032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20004
20005 Remove some redundancy in build system.
20006
20007 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20008 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20009 (TARGET_LDFLAGS): Add -nostdlib.
20010 (TARGET_IMG_LDFLAGS): Likewise.
20011 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20012 anything since mmap isn't available.
20013 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20014 Add util/time.c.
20015 (pkglib_MODULES): Remove reboot.mod.
20016 (reboot_mod_SOURCES): Removed.
20017 (reboot_mod_CFLAGS): Likewise.
20018 (reboot_mod_LDFLAGS): Likewise.
20019 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20020 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20021 (DEFSYMFILES): Add kernel_syms.lst.
20022 (kernel_img_HEADERS): Add common headers.
20023 (symlist.c): New target.
20024 (kernel_syms.lst): Likewise.
20025 (pkglib_MODULES): Add memdisk.mod.
20026 (memdisk_mod_SOURCES): New variable.
20027 (memdisk_mod_CFLAGS): Likewise.
20028 (memdisk_mod_LDFLAGS): Likewise.
20029 (pkglib_MODULES): Add reboot.mod.
20030 (reboot_mod_SOURCES): New variable.
20031 (reboot_mod_CFLAGS): Likewise.
20032 (reboot_mod_LDFLAGS): Likewise.
20033 (pkglib_MODULES): Add date.mod.
20034 (date_mod_SOURCES): New variable.
20035 (date_mod_CFLAGS): Likewise.
20036 (date_mod_LDFLAGS): Likewise.
20037 (pkglib_MODULES): Add datehook.mod.
20038 (datehook_mod_SOURCES): New variable.
20039 (datehook_mod_CFLAGS): Likewise.
20040 (datehook_mod_LDFLAGS): Likewise.
20041 (pkglib_MODULES): Add lsmmap.mod.
20042 (lsmmap_mod_SOURCES): New variable.
20043 (lsmmap_mod_CFLAGS): Likewise.
20044 (lsmmap_mod_LDFLAGS): Likewise.
20045 (pkglib_MODULES): Add boot.mod.
20046 (boot_mod_SOURCES): New variable.
20047 (boot_mod_CFLAGS): Likewise.
20048 (boot_mod_LDFLAGS): Likewise.
20049 * conf/i386-coreboot.rmk: Removed redundant parts.
20050 * conf/i386-ieee1275.rmk: Likewise.
20051 * conf/i386-pc.rmk: Likewise.
20052 * conf/mips-yeeloong.rmk: Likewise.
20053 * conf/mips.rmk: Likewise.
20054 * conf/powerpc-ieee1275.rmk: Likewise.
20055 * conf/sparc64-ieee1275.rmk: Likewise.
20056 * conf/x86_64-efi.rmk: Likewise.
20057 * conf/i386-coreboot.rmk: Moved qemu parts ..
20058 * conf/i386-qemu.rmk: ... here
20059 * conf/i386-efi.rmk: Moved common parts to...
20060 * conf/x86-efi.rmk: ... here.
20061 * conf/i386.rmk: Added modules common to all x86 variants.
20062 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20063 * disk/memdisk.c: Remove grub/machine/kernel.h.
20064 * gensymlist.sh.in: Include symbol.h.
20065 * hook/datehook.c: Correct module name.
20066 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20067 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20068 * include/grub/i386/efi/serial.h: New file.
20069 * include/grub/x86_64/efi/serial.h: Likewise.
20070 * util/time.c: Likewise.
20071 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20072
463ac55f
CK
200732010-03-14 Colin King <colin.king@ubuntu.com>
200742010-03-14 Colin Watson <cjwatson@ubuntu.com>
20075
20076 Shrink the pre-partition-table part of boot.img by eight bytes.
20077
20078 * boot/i386/pc/boot.S (ERR): New macro.
20079 (chs_mode): Use ERR.
20080 (geometry_error): Likewise.
20081 (hd_probe_error): Remove. This is only used once, so we wrwite
20082 it inline instead.
20083 (read_error): Instead of printing read_error_string, just set up
20084 %si and fall through to ...
20085 (error_message): ... this new function, also used by ERR.
20086
08e46ede
CW
200872010-03-14 Colin Watson <cjwatson@ubuntu.com>
20088
20089 Speed up consecutive hostdisk operations on the same device.
20090
20091 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20092 (grub_util_biosdisk_open): Initialise disk->data.
20093 (struct linux_partition_cache): New structure.
20094 (linux_find_partition): Cache partition start positions; these are
20095 expensive to compute on every read and write.
20096 (open_device): Cache open file descriptor in disk->data, so that we
20097 don't have to reopen it and flush the buffer cache for consecutive
20098 operations on the same device.
20099 (grub_util_biosdisk_close): New function.
20100 (grub_util_biosdisk_dev): Set `close' member.
20101
20102 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20103 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20104 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20105 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20106 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20107
4a6d2d06
VS
201082010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20109
20110 Compile parts of grub-emu as modules.
20111
20112 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20113 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20114 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20115 (all-local): Add $(GRUB_EMU).
20116 (install-local): Install $(GRUB_EMU).
20117 (uninstall): Uninstall $(GRUB_EMU).
20118 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20119 * kern/dl.c: Likewise.
20120 * commands/sleep.c: Not include machine/time.h.
20121 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20122 (COMMON_CFLAGS): Likewise.
20123 (sbin_UTILITIES): Remove grub-emu.
20124 (grub_emu_SOURCES): Removed.
20125 (kernel_img_RELOCATABLE): New variable.
20126 (pkglib_PROGRAMS): Add kernel.img.
20127 (kernel_img_SOURCES): New variable
20128 (kernel_img_CFLAGS): Likewise.
20129 (kernel_img_LDFLAGS): Likewise.
20130 (TARGET_NO_STRIP): Likewise.
20131 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20132 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20133 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20134 (grub-emu): New target.
20135 (GRUB_EMU): New variable.
20136 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20137 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20138 * loader/xnu.c: Likewise.
20139 * include/grub/pci.h: Likewise.
20140 * genemuinit.sh: New file.
20141 * genemuinitheader.sh: Likewise.
20142 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20143 Support TARGET_NO_DYNAMIC_MODULES.
20144 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20145 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20146 * disk/loopback.c: Likewise.
20147 * font/font_cmd.c: Likewise.
20148 * partmap/acorn.c: Likewise.
20149 * partmap/amiga.c: Likewise.
20150 * partmap/apple.c: Likewise.
20151 * partmap/gpt.c: Likewise.
20152 * partmap/msdos.c: Likewise.
20153 * partmap/sun.c: Likewise.
20154 * parttool/msdospart.c: Likewise.
20155 * term/gfxterm.c: Likewise.
20156 * video/bitmap.c: Likewise.
20157 * video/readers/jpeg.c: Likewise.
20158 * video/readers/png.c: Likewise.
20159 * video/readers/tga.c: Likewise.
20160 * video/video.c: Likewise.
20161 * util/grub-emu.c (read_command_list): Removed.
20162 (main): Don't call util_init_nls.
20163 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20164 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20165
91fdd2ed
VS
201662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20169 date.mod, datehook.mod.
20170 (datetime_mod_SOURCES): New variable.
20171 (datetime_mod_CFLAGS): Likewise.
20172 (datetime_mod_LDFLAGS): Likewise.
20173 (date_mod_SOURCES): Likewise.
20174 (date_mod_CFLAGS): Likewise.
20175 (date_mod_LDFLAGS): Likewise.
20176 (datehook_mod_SOURCES): Likewise.
20177 (datehook_mod_CFLAGS): Likewise.
20178 (datehook_mod_LDFLAGS): Likewise.
20179 * conf/sparc64-ieee1275.rmk: Likewise.
20180 * lib/ieee1275/datetime.c: New file.
20181
873ccae6
VS
201822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20185 (ieee1275_fb_mod_SOURCES): New variable.
20186 (ieee1275_fb_mod_CFLAGS): Likewise.
20187 (ieee1275_fb_mod_LDFLAGS): Likewise.
20188 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20189 New proto.
20190 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20191 (HEAP_MAX_ADDR): Likewise.
20192 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20193 type.
20194 Correct stop condition.
20195 (grub_ieee1275_devices_iterate): New function.
20196 * video/ieee1275.c: New file.
20197
601c97c0
VS
201982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20201
20202 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20203 as scratch.
20204 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20205 SCRATCH_PAD_DISKBOOT as scratch.
20206 (bootit): Pass Openfirmware pointer in %o4.
20207 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20208 of 0x200000.
20209 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20210 with util/grub-mkrawimage.c.
20211 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20212 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20213 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20214 (grub_aout_load) [GRUB_UTIL]: Likewise.
20215 * include/grub/kernel.h (grub_modules_get_end): New proto.
20216 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20217 (SCRATCH_PAD_BOOT): New definition.
20218 (SCRATCH_PAD_DISKBOOT): Likewise.
20219 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20220 * include/grub/sparc64/ieee1275/ieee1275.h
20221 (grub_ieee1275_original_stack): New variable
20222 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20223 New definition
20224 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20225 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20226 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20227 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20228 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20229 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20230 (grub_platform_image_format_t): New type.
20231 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20232 * kern/main.c (grub_modules_get_end)
20233 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20234 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20235 (codestart): Switch stacks.
20236 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20237 variable.
20238 (grub_heap_init): Use grub_modules_get_end.
20239 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20240 stack.
20241 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20242 (main): Likewise.
20243 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20244
d68b491e
TG
202452010-03-14 Thorsten Glaser <tg@mirbsd.org>
20246
20247 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20248
4e02ed50
MK
202492010-03-08 Matt Kraai <kraai@ftbfs.org>
20250
20251 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20252 bug #559005).
20253
1f15fc1e
VS
202542010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 * genmoddep.awk: Output all missing symbols and not only first.
20257
fce5d8ff
VS
202582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 * NEWS: Put the date of 1.98 release.
20261
d1e8a02f
VS
202622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20263
20264 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
20265 ft2build.h.
20266
696fd607
VS
202672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20268
20269 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
20270 completition in the middle of string.
20271
33e2e6f3
VS
202722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20273
20274 * util/grub-mkrescue.in: Use mktemp with explicit template.
20275
b1f6d291
VS
202762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20277
20278 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
20279
2ac227c7
VS
202802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20281
20282 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
20283 right pointer.
20284
8f9a632b
VS
202852010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20286
20287 Fix FreeBSD compilation.
20288
20289 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
20290 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
20291
60b03859
VS
202922010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20293
20294 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20295
48a5a769
VS
202962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
20299
3ab4bd77
VS
203002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
20303
d116e0d8
RM
203042010-03-04 Robert Millan <rmh.grub@aybabtu.com>
20305
20306 Support relative image path in theme file.
20307
20308 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
20309 (image_set_property): Handle theme_dir and relative path.
20310
c7ef54aa
VS
203112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * configure.ac: Alias amd64 to x86_64.
20314
fcee14ed
VS
203152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 * NEWS: mention multiboot on EFI.
20318
d0780363
VS
203192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * kern/main.c (grub_load_modules): Handle errors from init functions of
20322 embeded modules.
20323
41168ea4
VS
203242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 * normal/autofs.c (autoload_fs_module): Handle errors.
20327
b54d93ac
VS
203282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 Disable linux.mod on qemu-mips since it's not functional and leads
20331 to compilation failure.
20332
20333 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
20334 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
20335 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
20336 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
20337 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
20338 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
20339 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
20340 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
20341 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
20342 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
20343 Reported by: BVK Chaitanya
20344
fc8345da
JU
203452010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
20346
20347 * INSTALL: Add gettext as a dependency and add qemu to a new section
20348 "Prerequisites for make-check".
20349
4760f979
CF
203502010-03-04 Christian Franke <franke@computer.org>
20351
20352 * util/grub-pe2elf.c: Add missing include "progname.h".
20353
f209b5b2
VS
203542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * normal/crypto.c (read_crypto_list): Fix a typo.
20357 Reported by: Seth Goldberg.
20358
b4b7be98
VS
203592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 20362 Reported by: Seth Goldberg.
b4b7be98 20363
c0ee0385
VS
203642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
20367 ascii.bitmaps.
20368
a8efbf64
VS
203692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 20372 Reported by: Seth Goldberg.
a8efbf64 20373
08dcd913
VS
203742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * util/i386/efi/grub-install.in: Copy gettext files.
20377
c4d0b332
VS
203782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
20381
c6f2fe52
VS
203822010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 Wait for user entry basing on presence of output rather than on errors.
20385
20386 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
20387 (grub_install_newline_hook): Likewise.
20388 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
20389 * normal/menu.c (show_menu): Check line_counter to determine presence
20390 of output.
20391 * normal/term.c (grub_normal_line_counter): New variable.
20392 (grub_normal_get_line_counter): New function.
20393 (grub_install_newline_hook): Likewise.
20394
5382b1e4
VS
203952010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20396
20397 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
20398
5519963b
VS
203992010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * configure.ac: Update version to 1.98.
20402
72b28631
VS
204032010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * util/grub.d/10_linux.in (linux_entry): Don't default to
20406 gfxpayload=keep if Linux doesn't support video handover.
20407
c140a180
VS
204082010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 Don't compile video modules on yeeloong since video subsystem is part
20411 of kernel.
20412
20413 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
20414 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
20415 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
20416 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
20417 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20418 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
20419 * include/grub/bitmap_scale.h: Likewise.
20420 * include/grub/bufio.h: Likewise.
20421 * include/grub/font.h: Likewise.
20422 * include/grub/gfxterm.h: Likewise.
20423 * include/grub/video.h: Likewise.
20424 * include/grub/vbe.h: Don't include video_fb.h.
20425 * video/i386/pc/vbe.c: Include video_fb.h.
20426 * commands/i386/pc/vbetest.c: Include video.h.
20427
a0ca21c2
CW
204282010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
20429
20430 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
20431 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
20432 default entry if GRUB_SAVEDEFAULT=true. This allows using
20433 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
20434 saving a new default on every boot.
20435
4a8a763c
VS
204362010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * normal/crypto.c (read_crypto_list): Fix a memory leak.
20439 * normal/term.c (read_terminal_list): Likewise.
20440 * normal/main.c (grub_normal_init_page): Likewise.
20441 (grub_normal_read_line_real): Likewise.
20442
607ffde2
VS
204432010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
20446 memory leak.
20447 Reported by: Seth Goldberg.
20448
2b8fa975
CW
204492010-02-24 Joey Korkames <joey+lists@kidfixit.com>
20450
20451 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
20452 duplicate declaration of `start'.
20453
618307dd
VS
204542010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
20457 filename.
20458 Reported by: Georgy Buranov
20459
7dd05b96 204602010-02-20 Carles Pina i Estany <carles@pina.cat>
20461
20462 * util/grub-mkrawimage.c (usage): Change string formatting to
20463 improve gettext.
20464
d1484a42
MRA
204652010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20466
20467 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
20468 backspace keys.
20469
42b1d186
VS
204702010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
20473 Reported by: Michael Suchanek.
20474
204752010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
20476
20477 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
20478 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
20479
d9f31a41
VS
204802010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 Remove any reference to non-free fonts.
20483
20484 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
20485 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
20486 uses non-free components.
20487 * font/font.c (grub_font_get_name): Remove example name.
20488 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
20489 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20490 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
20491 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
20492
2793c71e
GB
204932010-02-16 Georgy Buranov <gburanov@gmail.com>
20494
20495 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
20496
402e3779
VS
204972010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20498
20499 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
20500 Double divisor.
20501 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
20502 features.
20503 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
20504
0dd1e0dd
VS
205052010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20506
20507 * gensymlist.sh.in: Use TARGET_CC instead of CC.
20508
6fa7cfce
ST
205092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20510
20511 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
20512 * docs/grub.texi (Command-line and menu entry commands): Document play
20513 command.
20514
37c8483b
ST
205152010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20516
20517 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
20518 parse arguments as inline tempo and notes. Move code for playing notes
20519 to...
20520 (play): ... new function.
20521
14da0fb7
ST
205222010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20523
20524 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
20525 grub_uint16_t instead of short.
20526 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
20527 disk from little endian to cpu endianness.
20528
04459e70
ST
205292010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
20530
20531 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
20532 GRUB_TICKS_PER_SECOND instead of 120.
20533
a0876943
VS
205342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20535
20536 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
20537 escape sequence after \e.
20538
e29f95dc
VS
205392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20540
20541 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
20542 non-ASCII characters.
20543
d27859b2
VS
205442010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20545
20546 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
20547 set root in single quotes to prevent \, from being unescaped.
20548
bc028f2f
VS
205492010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20550
20551 Prevent unknown commands from stopping menuentry execution.
20552
20553 * script/execute.c (grub_script_execute_cmdline): Print error after
20554 unknown command.
20555
095f5f82
VS
205562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
20559 Reported by: Pavel Pisa.
20560
8c717950
VS
205612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
20564
904935c3
VS
205652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20566
20567 Merge grub_ieee1275_map_physical into grub_map and rename to
20568 grub_ieee1275_map
20569
20570 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
20571 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
20572 Remove.
20573 * kern/ieee1275/openfw.c (grub_map): Rename to ...
20574 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
20575 necessary.
20576 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
20577
5b59a4e3
VS
205782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
20581 opening and not after.
20582
69e137e8
VS
205832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
20586 constants.
20587
2c0fcc36
VS
205882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
20591 (alloc_phys): Use ALIGN_UP instead of align_addr.
20592
8c6052ce
VS
205932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20594
20595 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
20596
17cec782
VS
205972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
20600
e0128bbd
VS
206012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
20604 verbose dprintf.
20605
ca62070b
VS
206062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 Fix over-4GiB seek on sparc64.
20609
20610 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
20611 Replace pos_i and pos_lo with pos. All users updated.
20612 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20613 New constant.
20614 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20615 Likewise.
20616 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
20617 and pos_lo.
20618
bdca2607
VS
206192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * util/grub-mkrawimage.c (main): Call set_program_name.
20622
da278c4d
VS
206232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 Properly align 64-bit targets.
20626
20627 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20628 (generate_image): Use ALIGN_ADDR.
20629
b274d734
VS
206302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 Properly create cross-endian images.
20633
20634 * include/grub/types.h (grub_host_to_target_addr): New macro
20635 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20636
82da2062
VS
206372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20638
20639 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20640
7cae4377
VS
206412010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20642
20643 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20644
20645 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20646 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20647 (grub_linux_boot): Divide by 64K when on VESA.
20648
65a533e7
VS
206492010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20650
20651 Support GRUB_GFXPAYLOAD_LINUX.
20652
20653 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20654 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20655
dd01d397
VS
206562010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20657
20658 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20659 to show messages instead of discarding them.
20660 Process errors after executing command and not before. Keep old method
20661 too as precaution.
20662
660960d6
VS
206632010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 * configure.ac: Check for ft2build.h.
20666
62509f04
VS
206672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20670
473df63d
VS
206712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20672
20673 * genkernsyms.sh.in: Use TARGET_CC.
20674
c98d2a13
CW
206752010-02-07 Colin Watson <cjwatson@ubuntu.com>
20676
20677 * NEWS: Update.
20678
6e14234c
VS
206792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20682 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20683 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20684
b255e9cf
YB
206852010-02-07 Yves Blusseau <blusseau@zetam.org>
20686
6e14234c 20687 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20688
98e6959d
VS
206892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20690
20691 Fix warnings in grub-emu when compiling with maximum warning options.
20692
20693 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20694 (grub_arch_modules_addr): Return 0 and not NULL.
20695 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20696 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20697 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20698 of disk to dsk to avoid shadowing.
74e4934e
VS
20699 (find_free_slot): Fix prototype.
20700 * util/getroot.c (grub_util_is_dmraid): Make static.
20701 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20702 Add missing prototype.
20703 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20704
74e31b5c
VS
207052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20708 appropriately.
20709
6b2ad14b
VS
207102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20713 code out.
20714
8f891adc
VS
207152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20716
20717 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20718 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20719 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20720 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20721 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20722 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20723
74b45184
VS
207242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20725
20726 * include/grub/err.h (grub_err_printf): Don't export.
20727
a4bced77
VS
207282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20731
007d0695
VS
207322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20735 * kern/misc.c (grub_gettext_dummy): Make static.
20736
b6c0d9c2
VS
207372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20738
20739 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20740 by non-valid ones.
20741 * kern/term.c (grub_putchar): Likewise.
20742
f51a90d0
VS
207432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20744
20745 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20746 buggy hook call and memory leak.
20747
6846cec5
VS
207482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20749
20750 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20751
468d69fe
VS
207522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20753
20754 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20755
51906b8c
VS
207562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20759 modevar.
20760 Return grub_errno on allocation error.
20761
09706ce5
VS
207622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20763
20764 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20765
911df80c
YB
207662010-02-06 Yves Blusseau <blusseau@zetam.org>
20767
20768 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20769 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20770
3746a6bc
VS
207712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20774 non-pxe disk.
20775 (grub_pxefs_open): Likewise.
20776
09706ce5
VS
207772010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20778
20779 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20780 * util/grub.d/10_kfreebsd.in: Likewise.
20781 * util/grub.d/10_linux.in: Likewise.
20782
7cc192d9
VS
207832010-02-06 Colin D Bennett <colin@gibibit.com>
20784
20785 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20786 (gfxmenu_mod_SOURCES): New variable.
20787 (gfxmenu_mod_CFLAGS): Likewise.
20788 (gfxmenu_mod_LDFLAGS): Likewise.
20789 * include/grub/term.h (grub_term_set_current_output): Declare
20790 argument as const.
20791 * docs/gfxmenu-theme-example.txt: New file.
20792 * gfxmenu/gfxmenu.c: Likewise.
20793 * gfxmenu/gui_box.c: Likewise.
20794 * gfxmenu/gui_canvas.c: Likewise.
20795 * gfxmenu/gui_circular_progress.c: Likewise.
20796 * gfxmenu/gui_image.c: Likewise.
20797 * gfxmenu/gui_label.c: Likewise.
20798 * gfxmenu/gui_list.c: Likewise.
20799 * gfxmenu/gui_progress_bar.c: Likewise.
20800 * gfxmenu/gui_string_util.c: Likewise.
20801 * gfxmenu/gui_util.c: Likewise.
20802 * gfxmenu/icon_manager.c: Likewise.
20803 * gfxmenu/model.c: Likewise.
20804 * gfxmenu/named_colors.c: Likewise.
20805 * gfxmenu/theme_loader.c: Likewise.
20806 * gfxmenu/view.c: Likewise.
20807 * gfxmenu/widget-box.c: Likewise.
20808 * include/grub/gfxmenu_model.h: Likewise.
20809 * include/grub/gfxmenu_view.h: Likewise.
20810 * include/grub/gfxwidgets.h: Likewise.
20811 * include/grub/gui.h: Likewise.
20812 * include/grub/gui_string_util.h: Likewise.
20813 * include/grub/icon_manager.h: Likewise.
20814
208152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20816
20817 Agglomerate scrolling in gfxterm.
20818
20819 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20820 (grub_virtual_screen_setup): Initialise 'total_screen'.
20821 (write_char): Split to ...
20822 (paint_char): ... this ...
20823 (write_char): ... and this.
20824 (paint_char): Handle delayed scrolling.
20825 (draw_cursor): Likewise.
20826 (scroll_up): Split to ...
20827 (real_scroll): ... this ...
20828 (scroll_up): ... and this.
20829 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20830 characters.
20831 (grub_gfxterm_refresh): Call real_scroll.
20832
208332010-02-06 Colin D Bennett <colin@gibibit.com>
20834
20835 * include/grub/misc.h (grub_iscntrl): New inline function.
20836 (grub_isalnum): Likewise.
20837 (grub_strtol): Likewise.
20838
208392010-02-06 Colin D Bennett <colin@gibibit.com>
20840
20841 * normal/menu_text.c (get_entry_number): Move from here ...
20842 * normal/menu.c (get_entry_number): ... moved here.
20843 * include/grub/menu.h (grub_menu_get_default_entry_index):
20844 New prototype.
20845 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20846 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20847 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20848 (grub_menu_viewer_should_return): Likewise.
20849 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20850 * normal/menu_text.c (run_menu): Enable menu switching.
20851 * normal/menu_viewer.c (should_return): New variable.
20852 (menu_viewer_changed): Likewise.
20853 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20854 (grub_menu_viewer_should_return): New function.
20855 (menuviewer_write_hook): Likewise.
20856 (grub_menu_viewer_init): Likewise.
20857
208582010-02-06 Colin D Bennet <colin@gibibit.com>
208592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 Support for gfxterm in a window.
20862
20863 * include/grub/gfxterm.h: New file.
20864 * include/grub/video.h (struct grub_video_rect): New declaration.
20865 (grub_video_rect_t): Likewise.
20866 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20867 (refcount): New variable.
20868 (render_target): Likewise.
20869 (window): Likewise.
20870 (repaint_callback): Likewise.
20871 (grub_virtual_screen_setup): Use 'render_target'.
20872 (init_window): New function.
20873 (grub_gfxterm_init_window): Likewise.
20874 (grub_gfxterm_init): Check reference counter.
20875 Use init_window.
20876 (destroy_window): New function.
20877 (grub_gfxterm_destroy_window): Likewise.
20878 (grub_gfxterm_fini): Check reference counter.
20879 Use destroy_window.
20880 (redraw_screen_rect): Restore viewport.
20881 Use 'render_target' and 'window'.
20882 Call 'repaint_callback'.
20883 (write_char): Use 'render_target'.
20884 (draw_cursor): Likewise.
20885 (scroll_up): Restore viewport.
20886 Use 'render_target' and 'window'.
20887 Call 'repaint_callback'.
20888 (grub_gfxterm_cls): Likewise.
20889 (grub_gfxterm_refresh): Use 'window'.
20890 (grub_gfxterm_set_repaint_callback): New function.
20891 (grub_gfxterm_background_image_cmd): Use 'window'.
20892 (grub_gfxterm_get_term): New function.
20893 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20894
208952010-02-06 Colin D Bennett <colin@gibibit.com>
20896
20897 Bitmap scaling support.
20898
20899 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20900 (bitmap_scale_mod_SOURCES): New variable.
20901 (bitmap_scale_mod_CFLAGS): Likewise.
20902 (bitmap_scale_mod_LDFLAGS): Likewise.
20903 * include/grub/bitmap_scale.h: New file.
20904 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20905 (background_image_cmd_options): New variable.
20906 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20907 (cmd): Rename and change type to ...
20908 (background_image_cmd_handle): ... this. All users updated.
20909 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20910 * video/bitmap_scale.c: New file.
20911
209122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 SDL support.
20915
20916 * Makefile.in (LIBSDL): New variable.
20917 (enable_grub_emu_sdl): Likewise.
20918 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20919 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20920 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20921 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20922 * util/sdl.c: New file.
20923
209242010-02-06 Colin D Bennett <colin@gibibit.com>
209252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 Double buffering support.
20928
20929 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20930 * include/grub/video.h: Update comment.
20931 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20932 New type.
20933 (grub_video_fb_doublebuf_blit_init): New prototype.
20934 * term/gfxterm.c (scroll_up): Support double buffering.
20935 (grub_gfxterm_refresh): Likewise.
20936 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20937 (grub_video_fb_doublebuf_blit_init): Likewise.
20938 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20939 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20940 'displayed_page', 'render_page' and 'update_screen'.
20941 (grub_video_vbe_fini): Free offscreen buffer.
20942 (doublebuf_pageflipping_commit): New function.
20943 (doublebuf_pageflipping_update_screen): Likewise.
20944 (doublebuf_pageflipping_init): Likewise.
20945 (double_buffering_init): Likewise.
20946 (grub_video_vbe_setup): Enable doublebuffering.
20947 (grub_video_vbe_swap_buffers): Implement.
20948 (grub_video_vbe_set_active_render_target): Handle double buffering.
20949 (grub_video_vbe_get_active_render_target): Likewise.
20950 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20951 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20952 (grub_video_vbe_enable_double_buffering): Likewise.
20953 (grub_video_vbe_swap_buffers): Use update_screen.
20954 (grub_video_set_mode): Use double buffering.
20955
209562010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20957
20958 * maintainance/gentrigtables.py: Remove.
20959 * lib/trig.c: Likewise.
20960
20961 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20962
20963 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20964 `trigtables.c'.
20965 (trigtables.c): New rule.
20966 (gentrigtables): Likewise.
20967 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20968
209692010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20970
20971 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20972 integer constants.
20973
209742010-02-06 Colin D Bennet <colin@gibibit.com>
20975
20976 Trigonometry support.
20977
20978 * include/grub/trig.h: New file.
20979 * lib/trig.c: Likewise.
20980 * maintainance/gentrigtables.py: Likewise.
20981 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20982 (trig_mod_SOURCES): New variable.
20983 (trig_mod_CFLAGS): Likewise.
20984 (trig_mod_LDFLAGS): Likewise.
20985
5562834e
VS
209862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20987
20988 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20989 disk devices.
20990
4f8528fc
VS
209912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20994 error.
20995
2b4068e9
VS
209962010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * util/hostdisk.c (open_device): Don't use partition device when reading
20999 before the partition.
21000 (grub_util_biosdisk_read): Don't read from partition and before the
21001 partition in single operation.
21002 (grub_util_biosdisk_write): Don't write to partition and before the
21003 partition in single operation.
21004
399f6e4d
TL
210052010-02-03 Torsten Landschoff <torsten@debian.org>
21006
21007 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21008 last sectors.
21009
996649b0
VS
210102010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21013 CDROM reads.
21014 (grub_biosdisk_write): Refuse to write to CDROM.
21015
3b205d4d
VS
210162010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21019
61e89d9d
VS
210202010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21021
21022 * font/font.c (find_glyph): Check that bmp_idx is available before
21023 using it.
21024 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21025 with (font == NULL).
21026
bf7fcba2
CS
210272010-01-28 Christian Schmitt <chris@ilovelinux.de>
21028
21029 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21030
f45d2663
BC
210312010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21032
21033 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21034 * util/grub-script-check.c (getline): Fix empty lines case.
21035
ec1444e6
RM
210362010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21037
21038 * Makefile.in (check): Exit with fail status when one of the tests
21039 fails.
21040 * tests/example_functional_test.c (example_test): Fix reversed assert.
21041 * tests/example_unit_test.c (example_test): Likewise.
21042
2e1cb9bb
CW
210432010-01-28 Colin Watson <cjwatson@ubuntu.com>
21044
21045 * util/grub.d/10_linux.in: This script does not use any of the
21046 contents of gettext.sh, only the external command `gettext', so stop
21047 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21048 the same prefix as GRUB.)
21049 * util/grub.d/10_kfreebsd.in: Likewise.
21050
63533ab0
VS
210512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21052
21053 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21054 of the line.
21055
989e1f93
VS
210562010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21059 last sectors.
21060
e709ebe2
VS
210612010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21062
21063 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21064 having a 4KiB and not 32KiB buffer size.
21065
27dea7ed
RM
210662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21067
21068 * util/hostfs.c: Include `<errno.h>'.
21069 (grub_hostfs_read): Handle errors from fseeko() and fread().
21070
67667b9c
RM
210712010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21072
21073 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21074 loop when using read hooks on files whose size isn't sector-aligned.
21075
c294d9d8
RM
210762010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21077
21078 Remove unused parameter.
21079
21080 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21081 (grub_iso9660_open): Remove initialization of `data->length'.
21082
af75a9f1
RM
210832010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21084
21085 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21086 memleak conditions.
21087
254e2ce5 210882010-01-27 Carles Pina i Estany <carles@pina.cat>
21089
21090 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21091 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21092
b510928c 210932010-01-26 Carles Pina i Estany <carles@pina.cat>
21094
21095 * util/bin2h.c (usage): Fix warning (space after backslash).
21096
aa2f9dd2 210972010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 21098
21099 * font/font.c: Include `grub/fontformat.h.
21100 Remove font file format constants.
21101 (grub_font_load): Use the new macros.
21102 * include/grub/fontformat.h: New file.
21103 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21104 (write_font_pf2): Use the new macros.
21105
94e7e712
RM
211062010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21107
21108 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21109 does.
21110
3973a59a
RM
211112010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21112
21113 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21114
21115 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21116 (_start): Macroify `0x7F'.
21117
21118 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21119 (make_install_device): Use "(pxe)" as fallback prefix when booting
21120 via PXE.
21121
42e0cba3
GS
211222010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * configure.ac: Reset LIBS after check for libgcc symbols.
21125
847effd8
CW
211262010-01-25 Colin Watson <cjwatson@ubuntu.com>
21127
21128 * util/hostdisk.c (open_device): Add trailing newline to debug
21129 message.
21130
ea4a7e35
GS
211312010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21132
21133 * configure.ac: Check for `limits.h'.
21134 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21135
67951a53
RM
211362010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21137
21138 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21139 capitalize error strings.
21140
c273d4ce
ST
211412010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21142
21143 * util/grub.d/10_hurd.in: Add a recovery mode.
21144
69be5b74
VS
211452010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 * configure.ac: Check for libgcc symbols with -nostdlib.
21148
fc9e5810
BC
211492010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21150
21151 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21152
4b358c0a
VS
211532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21154
21155 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21156 stack since heap may be unavailable at that point.
21157 (grub_ofconsole_gotoxy): Likewise.
21158
454fcd1c
VS
211592010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21160
21161 * configure.ac: Check for _restgpr_14_x.
21162 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21163 and _savegpr_* prototypes.
21164
566863ca
RM
211652010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21166
21167 Use generic grub_reboot() for i386-efi.
21168
21169 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21170 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21171 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21172
bf86e59a
VS
211732010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21174
21175 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21176 presence of "prefix" variable as it breaks when normal.mod is
21177 embedded.
21178
d645e0f8
VS
211792010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21182 stack since heap is unavailable at that point.
21183
f9ab2e25
VS
211842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21185
21186 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21187 (grub_freebsd_bootinfo): Rewritten.
21188 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21189
01fc7054
VS
211902010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21191
21192 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21193
caab4fd6
RM
211942010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21195
21196 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21197 domain now.
21198
67eb1427
FZ
211992010-01-20 Felix Zielcke <fzielcke@z-51.de>
21200
21201 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21202 around for handling "/" to the correct fix. Fix a memory leak. Use
21203 xstrdup instead of strdup.
21204
a9ed4ff3
VS
212052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21208
212092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
21210
21211 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21212
21213 * font/font.c (struct grub_font): New member 'bmp_idx'.
21214 (font_init): Initialise 'bmp_idx'.
21215 (load_font_index): Fill 'bmp_idx'.
21216 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21217
48209f4f
VS
212182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21219
21220 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21221 unnecessary calls.
21222
9f0a4bb7
VS
212232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21224
21225 Move context handling out of the kernel.
21226
21227 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21228 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21229 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21230 * conf/i386-efi.rmk: Likewise.
21231 * conf/i386-ieee1275.rmk: Likewise.
21232 * conf/i386-pc.rmk: Likewise.
21233 * conf/powerpc-ieee1275.rmk: Likewise.
21234 * conf/sparc64-ieee1275.rmk: Likewise.
21235 * conf/x86_64-efi.rmk: Likewise.
21236 * include/grub/env.h: Include grub/menu.h.
21237 (grub_env_var_type): Removed.
21238 (grub_env_var): Replaced field 'type' with 'global'.
21239 (grub_env_find): New prototype.
21240 (grub_env_context_open): Remove EXPORT_FUNC.
21241 (grub_env_context_close): Likewise.
21242 (grub_env_export): Likewise.
21243 (grub_env_set_data_slot): Removed.
21244 (grub_env_get_data_slot): Likewise.
21245 (grub_env_unset_data_slot): Likewise.
21246 (grub_env_unset_menu): New prototype.
21247 (grub_env_set_menu): Likewise.
21248 (grub_env_get_menu): Likewise.
21249 * include/grub/env_private.h: New file.
21250 * include/grub/normal.h (grub_context_init): New prototype.
21251 (grub_context_fini): Likewise.
21252 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21253 * normal/context.c (grub_cmd_export): ... to here.
21254 * kern/env.c: Include env_private.h.
21255 (HASHSZ): Moved to include/grub/env_private.h.
21256 (grub_env_context): Likewise.
21257 (grub_env_sorted_var): Likewise.
21258 (current_context): Renamed from this ...
21259 (grub_current_context): ...to this. 'static' removed. All users updated.
21260 (grub_env_find): Removed 'static'.
21261 (grub_env_context_open): Moved to normal/context.c.
21262 (grub_env_context_close): Likewise.
21263 (grub_env_export): Likewise.
21264 (mangle_data_slot_name): Removed.
21265 (grub_env_set_data_slot): Likewise.
21266 (grub_env_get_data_slot): Likewise.
21267 (grub_env_unset_data_slot): Likewise.
21268 * kern/main.c (grub_set_root_dev): Don't export root.
21269 It will be done later.
21270 (grub_main): Don't export prefix.
21271 It will be done later.
21272 * normal/context.c: New file.
21273 * normal/main.c (free_menu): Use grub_env_unset_menu.
21274 (grub_normal_add_menu_entry): Use grub_env_get_menu.
21275 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
21276 (GRUB_MOD_INIT(normal)): Call grub_context_init.
21277 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
21278
8dd35b8c
VS
212792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 setpci support.
21282
21283 * commands/setpci.c: New file.
21284 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
21285 (setpci_mod_SOURCES): New variable.
21286 (setpci_mod_CFLAGS): Likewise.
21287 (setpci_mod_LDFLAGS): Likewise.
21288
449193d5
VS
212892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21290
21291 Byte-addressable PCI configuration space.
21292
21293 * bus/pci.c (grub_pci_make_address): Use byte address instead of
21294 dword address.
21295 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
21296 GRUB_PCI_REG_CACHELINE.
21297 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
21298 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
21299 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
21300 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
21301 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
21302 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
21303 grub_pci_make_address.
21304 (lock_rom_area): Likewise.
21305 * commands/lspci.c (grub_lspci_iter): Use macroses
21306 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
21307 of grub_pci_make_address.
21308 * disk/ata.c (grub_ata_pciinit): Likewise.
21309 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
21310 (GRUB_PCI_REG_VENDOR): Likewise.
21311 (GRUB_PCI_REG_DEVICE): Likewise.
21312 (GRUB_PCI_REG_COMMAND): Likewise.
21313 (GRUB_PCI_REG_STATUS): Likewise.
21314 (GRUB_PCI_REG_REVISION): Likewise.
21315 (GRUB_PCI_REG_CLASS): Likewise.
21316 (GRUB_PCI_REG_CACHELINE): Likewise.
21317 (GRUB_PCI_REG_LAT_TIMER): Likewise.
21318 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
21319 (GRUB_PCI_REG_BIST): Likewise.
21320 (GRUB_PCI_REG_ADDRESSES): Likewise.
21321 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21322 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21323 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21324 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21325 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21326 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21327 (GRUB_PCI_REG_CIS_POINTER): Likewise.
21328 (GRUB_PCI_REG_SUBVENDOR): Likewise.
21329 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
21330 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
21331 (GRUB_PCI_REG_CAP_POINTER): Likewise.
21332 (GRUB_PCI_REG_IRQ_LINE): Likewise.
21333 (GRUB_PCI_REG_IRQ_PIN): Likewise.
21334 (GRUB_PCI_REG_MIN_GNT): Likewise.
21335 (GRUB_PCI_REG_MAX_LAT): Likewise.
21336 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
21337 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
21338 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 21339 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
21340 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
21341 space.
21342
96d73208
RM
213432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21344
21345 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
21346 can be reliably determined to be supported.
21347
d4484482
RM
213482010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21349
21350 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
21351 that VESA is supported.
21352 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
21353 supported.
21354
00308ecf
VS
213552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
21358
f66924a4
RM
213592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21360
21361 * util/misc.c (make_system_path_relative_to_its_root): Work around
21362 special-casing of "/", as previous incarnation of this routine did.
21363
cbca0ada
VS
213642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 Fix any-emu compilation.
21367
21368 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
21369 * grub_bin2h_SOURCES: New variable.
21370
34a66d99
RM
213712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21372
21373 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
21374
94fabf58
RM
213752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21376
21377 * util/grub.d/00_header.in: Fix handling of locale_dir.
21378
02cf98ca
VS
213792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
21382 as possible unifont location (Gentoo).
21383 Reported by: Alexander Brüning
21384
327dbcd7
VS
213852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 Don't try to generate lists for kernel.img.
21388
21389 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
21390 (pkglib_MODULES): Remove kernel.img.
21391 (kernel_img_EXPORTS): Removed.
21392 (kernel_img_RELOCATABLE): New variable.
21393 * conf/x86_64-efi.rmk: Likewise.
21394 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
21395
ca467290
VS
213962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
21399 grub_xasprintf or grub_snprintf.
21400 (grub_vsprintf): Likewise.
21401 (grub_snprintf): New proto.
21402 (grub_vsnprintf): Likewise.
21403 (grub_xasprintf): Likewise.
21404 (grub_xvasprintf): Likewise.
21405 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
21406 (grub_sprintf): Removed.
21407 (grub_vsnprintf): New function.
21408 (grub_snprintf): Likewise.
21409 (grub_xvasprintf): Likewise.
21410 (grub_xasprintf): Likewise.
21411 (grub_vsprintf): Renamed to ...
21412 (grub_vsnprintf_real): ...this. New argument max_len.
21413
aca655fd
BC
214142010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
21415
21416 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
21417 fix grub-script-check warning.
21418
7ee92c32
VS
214192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 * include/grub/font.h (grub_font_load): Fix prototype.
21422
f80927ca
VS
214232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
21426
119c50ea
VS
214272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21428
21429 * include/grub/x86_64/at_keyboard.h: New file.
21430
47d5f3c1
VS
214312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21432
21433 * loader/mips/linux.c: Include missing grub/i18n.h.
21434
55ff5266
RM
214352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21436
21437 * normal/menu.c (notify_execution_failure): Clarify error message.
21438
c893cc87
RM
214392009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21440
21441 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
21442 return value (and revert all return statements). Update users.
21443
917dd370
CW
214442010-01-20 Dan Merillat <debian@dan.merillat.org>
21445
21446 * kern/device.c (grub_device_iterate): Allocate new part_ent
21447 structure based on sizeof (*p) rather than sizeof (p->next), to
21448 account for structure padding.
21449
21450 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
21451 disk is NULL, which might happen for LVM physical volumes with no
21452 LVM signature.
21453
d4a4ee57
RM
214542009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21455
21456 * loader/mips/linux.c (grub_cmd_initrd)
21457 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
21458
214592009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21460
21461 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
21462 (grub_video_video_init, grub_video_bitmap_init)
21463 (grub_font_manager_init, grub_term_gfxterm_init)
21464 (grub_at_keyboard_init): New extern declarations.
21465 (grub_machine_init): Initialize gfxterm and at_keyboard.
21466
21467 * kern/main.c (grub_main): Revert grub_printf delay kludge.
21468
21469 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
21470 `gfxterm.mod' into core image.
21471
21472 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21473 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21474 (kernel_img_FORMAT): Copy to ...
21475
21476 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21477 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21478 (kernel_img_FORMAT): ... here, and ...
21479
21480 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21481 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21482 (kernel_img_FORMAT): ... here.
21483
21484 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
21485 and input (at_keyboard) terminals in kernel.
21486 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
21487
21488 (pkglib_MODULES): Remove `pci.mod'.
21489 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
21490 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
21491 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21492 (at_keyboard_mod_LDFLAGS): Remove variables.
21493
214942010-01-11 Felix Zielcke <fzielcke@z-51.de>
21495
21496 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
21497
214982009-12-10 Robert Millan <rmh.grub@aybabtu.com>
21499
21500 * include/grub/mips/libgcc.h: Only export symbols for functions
21501 that libgcc provides.
21502
215032009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 MIPS support.
21506
21507 * bus/bonito.c: New file.
21508 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
21509 GRUB_PCI_NUM_DEVICES.
21510 * term/i386/pc/serial.c: Move to ...
21511 * term/serial.c: ... here. All users updated.
21512 * util/i386/pc/grub-mkimage.c: Move to ...
21513 * util/grub-mkrawimage.c: ... here. All users updated.
21514 * term/i386/pc/at_keyboard.c: Move to ...
21515 * term/at_keyboard.c: ... here. All users updated.
21516 * conf/mips-qemu-mips.rmk: New file.
21517 * conf/mips-yeeloong.rmk: Likewise.
21518 * conf/mips.rmk: Likewise.
21519 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
21520 mipsel-qemu-mips.
21521 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
21522 to port addresses.
21523 (grub_ata_pciinit): Support CS5536.
21524 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
21525 * font/font_cmd.c (loadfont_command): Open file before passing it to
21526 grub_font_load.
21527 (pseudo_file_read): New function.
21528 (pseudo_file_close): Likewise.
21529 (pseudo_fs): New structure.
21530 (load_font_module): New function.
21531 (GRUB_MOD_INIT(font_manager)): Load embedded font.
21532 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
21533 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
21534 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
21535 * include/grub/i386/at_keyboard.h: Split into ...
21536 * include/grub/at_keyboard.h: ... this ...
21537 * include/grub/i386/at_keyboard.h: ... and this.
21538 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
21539 New prototype.
21540 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
21541 updated.
21542 (grub_elf64_size): Likewise.
21543 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
21544 filename.
21545 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
21546 * include/grub/i386/coreboot/serial.h: Rewritten.
21547 * include/grub/i386/ieee1275/serial.h: Include
21548 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
21549 * include/grub/i386/pc/serial.h: Moved from here ...
21550 * include/grub/serial.h: ... to here. All users updated.
21551 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
21552 (GRUB_PCI_NUM_BUS): Likewise.
21553 (GRUB_PCI_NUM_DEVICES): Likewise.
21554 (grub_pci_device_map_range): Add missing volatile keyword.
21555 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
21556 * include/grub/mips/at_keyboard.h: New file.
21557 * include/grub/mips/cache.h: Likewise.
21558 * include/grub/mips/io.h: Likewise.
21559 * include/grub/mips/kernel.h: Likewise.
21560 * include/grub/mips/libgcc.h: Likewise.
21561 * include/grub/mips/pci.h: Likewise.
21562 * include/grub/mips/qemu-mips/boot.h: Likewise.
21563 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21564 * include/grub/mips/qemu-mips/loader.h: Likewise.
21565 * include/grub/mips/qemu-mips/memory.h: Likewise.
21566 * include/grub/mips/qemu-mips/serial.h: Likewise.
21567 * include/grub/mips/qemu-mips/time.h: Likewise.
21568 * include/grub/mips/relocator.h: Likewise.
21569 * include/grub/mips/time.h: Likewise.
21570 * include/grub/mips/types.h: Likewise.
21571 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
21572 * include/grub/mips/yeeloong/boot.h: Likewise.
21573 * include/grub/mips/yeeloong/kernel.h: Likewise.
21574 * include/grub/mips/yeeloong/loader.h: Likewise.
21575 * include/grub/mips/yeeloong/memory.h: Likewise.
21576 * include/grub/mips/yeeloong/pci.h: Likewise.
21577 * include/grub/mips/yeeloong/serial.h: Likewise.
21578 * include/grub/mips/yeeloong/time.h: Likewise.
21579 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
21580 * kern/elf.c (grub_elf32_size): New parameter. All users
21581 updated.
21582 (grub_elf64_size): Likewise.
21583 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
21584 Load modules before saying "Welcome to GRUB!".
21585 Call grub_refresh after saying "Welcome to GRUB!".
21586 * kern/mips/cache.S: New file.
21587 * kern/mips/cache_flush.S: Likewise.
21588 * kern/mips/dl.c: Likewise.
21589 * kern/mips/init.c: Likewise.
21590 * kern/mips/qemu-mips/init.c: Likewise.
21591 * kern/mips/startup.S: Likewise.
21592 * kern/mips/yeeloong/init.c: Likewise.
21593 * kern/term.c (grub_putcode): Handle NULL terminal.
21594 (grub_getcharwidth): Likewise.
21595 (grub_getkey): Likewise.
21596 (grub_checkkey): Likewise.
21597 (grub_getkeystatus): Likewise.
21598 (grub_getxy): Likewise.
21599 (grub_getwh): Likewise.
21600 (grub_gotoxy): Likewise.
21601 (grub_cls): Likewise.
21602 (grub_setcolorstate): Likewise.
21603 (grub_setcolor): Likewise.
21604 (grub_getcolor): Likewise.
21605 (grub_refresh): Likewise.
21606 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
21607 (write_jump): Add hatch nop.
21608 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
21609 * lib/mips/setjmp.S: New file.
21610 * loader/mips/linux.c: Likewise.
21611 * term/i386/pc/at_keyboard.c: Move from here ...
21612 * term/at_keyboard.c: ... to here.
21613 * term/i386/pc/serial.c: Moved from here ...
21614 * term/serial.c: ... to here. All users updated.
21615 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
21616 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
21617 (serial_translate_key_sequence): Avoid deadlock.
21618 (grub_serial_getkey): Handle backspace.
21619 (grub_serial_putchar): Fix newline handling.
21620 * util/i386/pc/grub-mkimage.c: Move from here ...
21621 * util/grub-mkrawimage.c: ... to here. All users updated.
21622 (generate_image): New parameters 'font_path' and 'format'.
21623 Support embedding font.
21624 Use grub_host_to_target* instead of grub_cpu_to_le*.
21625 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21626 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21627 (options): New option "--font".
21628 (usage): Likewise.
21629 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21630 (main): Handle "--font".
21631 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21632 (grub_virtual_screen_setup): Set bg_color_display.
21633 (redraw_screen_rect): Use bg_color_display instead of incorrect
21634 bg_color.
21635 (grub_gfxterm_cls): Likewise.
21636 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21637 Support embedding config file.
21638 (add_segments): Likewise.
21639 (options): New option "--config".
21640 (main): Handle "--config".
21641 * video/sm712.c: New file.
21642
25c2b5b3
RM
216432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21644
21645 Fix parallel builds.
21646
21647 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21648 font.c depend on ascii.h).
21649
216502010-01-12 Carles Pina i Estany <carles@pina.cat>
21651
21652 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21653
216542010-01-11 Carles Pina i Estany <carles@pina.cat>
21655
21656 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21657 By default: disabled.
21658 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21659 parameter.
21660
216612010-01-10 Carles Pina i Estany <carles@pina.cat>
21662
21663 * font/font.c: Update copyright years.
21664 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21665
216662010-01-10 Carles Pina i Estany <carles@pina.cat>
21667
21668 * font/font.c: Include `ascii.h'.
21669 (ASCII_BITMAP_SIZE): New macro.
21670 (ascii_font_glyph): Define.
21671 (ascii_glyph_lookup): New function.
21672 (grub_font_get_string_width): Change comment. If glyph not found, use
21673 ascii_glyph_lookup.
21674 (grub_font_get_glyph_with_fallback): If glyph not available returns
21675 ascii_glyph_lookup.
21676 * util/grub-mkfont.c (file_formats): New enum.
21677 (options): Add `ascii-bitmaps' new option.
21678 (usage): Add `asii-bitmaps' new option.
21679 (write_font_ascii_bitmap): New function.
21680 (write_font): Rename to ...
21681 (write_font_p2): ... this. Remove print_glyphs call.
21682 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21683 used. Call print_glyphs.
21684 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21685
216862010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21687
21688 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21689 (grub_bin2h_SOURCES): New variable.
21690 * util/bin2h.c: New file.
21691
915fc1b8
VS
216922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 * include/multiboot.h: Resynced with spec.
21695 * include/multiboot2.h: Likewise.
21696 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21697 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21698
9444b678
RM
216992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21700
21701 * include/grub/term.h (grub_term_register_input,
21702 grub_term_register_output): Check return of terminal init()
21703 routines, and abort if errors are raised.
21704
21705 * commands/terminal.c: Update copyright year.
21706
cba98e8d
RM
217072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21708
21709 * commands/terminal.c (grub_cmd_terminal_input)
21710 (grub_cmd_terminal_output): Check return of terminal init()
21711 routines, and abort if errors are raised.
21712
6f7db5d6
VS
217132010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21714
21715 * include/grub/i386/bsd.h: Fix include pathes.
21716
262bff8d
VS
217172010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21718
21719 Add missing *BSD copyright headers.
21720
21721 * include/grub/aout.h: Add BSD licence.
21722 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21723 * include/grub/i386/freebsd_linker.h: ... here,
21724 * include/grub/i386/freebsd_reboot.h: ... here,
21725 * include/grub/i386/netbsd_bootinfo.h: ... here,
21726 * include/grub/i386/netbsd_reboot.h: ... here,
21727 * include/grub/i386/openbsd_bootarg.h: ... here,
21728 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21729 licence to each file.
21730
b2cab848
RM
217312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21732
21733 * acinclude.m4: Remove `nop' assembly instruction; it's not
21734 implemented by all architectures.
21735
2cb6be4b
RM
217362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21737
21738 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21739 ELILO. This is no longer necessary.
21740
a2eaee15
BC
217412010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21742
21743 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21744
21745 * util/grub-script-check.c: grub-script-check tool.
21746 * conf/common.rmk: Make rules for grub-script-check.
21747
88d17012
RM
217482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21749
21750 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21751 spotting it back in 2008. Shame on me for forgetting he did.
21752
21753 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21754
8040619d
RM
217552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21756
21757 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21758 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21759 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21760 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21761 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21762 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21763
a0c2a0f6
RM
217642010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21765
21766 * include/grub/test.h: Add license header.
21767 * tests/example_functional_test.c: Likewise.
21768 * tests/example_unit_test.c: Likewise.
21769 * tests/lib/functional_test.c: Likewise.
21770 * tests/lib/test.c: Likewise.
21771 * tests/lib/unit_test.c: Likewise.
21772
b0b13907
VS
217732010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21774
21775 Use flag-based instead of hook-based video mode selection and "auto"
21776 keyword.
21777
21778 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21779 (grub_video_set_mode): Changed prototype. All users updated.
21780 (grub_video_check_mode_flag): New inline function.
21781 * video/video.c (parse_modespec): New function.
21782 (grub_video_set_mode): Parse flags and keywords.
21783
ea379330 217842010-01-17 Carles Pina i Estany <carles@pina.cat>
21785
21786 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21787 fprintf call.
21788
e15c215e
FZ
217892010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21790
21791 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21792
409ae1c9 217932010-01-16 Carles Pina i Estany <carles@pina.cat>
21794
21795 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21796 string.
21797 * util/grub-emu.c (usage): Likewise.
21798 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21799 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21800 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21801 * util/i386/pc/grub-setup.c (usage): Likewise.
21802
70a14d3d 218032010-01-16 Carles Pina i Estany <carles@pina.cat>
21804
21805 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21806 the message.
21807 (grub_util_info): Likewise.
21808 (grub_util_error): Likewise.
21809 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21810 and/or new lines in `grub_util_warna', `grub_util_info',
21811 `grub_util_error' calls.
21812 * util/getroot.c: Likewise.
21813 * util/grub-editenv.c: Likewise.
21814 * util/grub-emu.c: Likewise.
21815 * util/grub-fstest.c: Likewise.
21816 * util/grub-mkdevicemap.c: Likewise.
21817 * util/grub-mkfont.c: Likewise.
21818 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21819 * util/grub-mkrelpath.c: Likewise.
21820 * util/grub-pe2elf.c: Likewise.
21821 * util/grub-probe.c: Likewise.
21822 * util/hostdisk.c: Likewise.
21823 * util/i386/efi/grub-mkimage.c: Likewise.
21824 * util/i386/pc/grub-mkimage.c: Likewise.
21825 * util/i386/pc/grub-setup.c: Likewise.
21826 * util/ieee1275/ofpath.c: Likewise.
21827 * util/mkisofs/eltorito.c: Likewise.
21828 * util/mkisofs/rock.c: Likewise.
21829 * util/mkisofs/write.c: Likewise.
21830 * util/raid.c: Likewise.
21831 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21832 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21833
a0b766fc
VS
218342010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 Enable multiboot on non-pc.
21837
21838 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21839 multiboot.mod and multiboot2.mod to ...
21840 * conf/i386.rmk (pkglib_MODULES): ... here.
21841 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21842 Moved to ...
21843 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21844 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21845 Moved to ...
21846 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21847 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21848 Moved to ...
21849 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21850 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21851 Moved to ...
21852 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21853 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21854 relocator.mod.
21855 (ata_mod_SOURCES): Removed.
21856 (ata_mod_CFLAGS): Likewise.
21857 (ata_mod_LDFLAGS): Likewise.
21858 (relocator_mod_SOURCES): Removed.
21859 (relocator_mod_CFLAGS): Likewise.
21860 (relocator_mod_ASFLAGS): Likewise.
21861 (relocator_mod_LDFLAGS): Likewise.
21862 Include i386.mk.
21863 * include/grub/x86_64/multiboot.h: New file.
21864 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21865 Terminate EFI.
21866
884ade56
VS
218672010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 Video multiboot support.
21870
21871 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21872 New prototype.
21873 * include/multiboot.h: Resynced with multiboot specification.
21874 * include/multiboot2.h: Likewise.
21875 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21876 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21877 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21878 (HAS_VGA_TEXT): Likewise.
21879 (accepts_video): New variable.
21880 (grub_multiboot_set_accepts_video): New function.
21881 (grub_multiboot_get_mbi_size): Account for video structures.
21882 (set_video_mode): New function.
21883 (retrieve_video_parameters): Likewise.
21884 (grub_multiboot_make_mbi): Fill video fields.
21885
0d90e8a6
VS
218862010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21887
21888 Video driver ids.
21889
21890 * include/grub/video.h (grub_video_driver_id): New type.
21891 (grub_video_adapter): New member 'id'. All users updated.
21892 (grub_video_get_driver_id): New proto.
21893 * video/video.c (grub_video_get_driver_id): New function.
21894
5c71db1b 218952010-01-14 Carles Pina i Estany <carles@pina.cat>
21896
21897 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21898 `var=val'.
21899
cca15b52 219002010-01-14 Carles Pina i Estany <carles@pina.cat>
21901
21902 * normal/cmdline.c (print_completion): Gettextizze.
21903
c586fbb2 219042001-01-14 Carles Pina i Estany <carles@pina.cat>
21905
21906 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21907
ba2f6848 219082010-01-14 Carles Pina i Estany <carles@pina.cat>
21909
21910 * gettext/gettext.c (grub_gettext_translate): Push and pop
21911 grub_errno.
21912 (grub_gettext_delete_list): Change comment style.
21913 * kern/err.c (grub_error): Gettextizze.
21914 (grub_fatal): Gettextizze.
21915
0a46429a
RM
219162010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21917
21918 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21919 (grub_linux16_real_boot): ... this.
21920 * kern/i386/loader.S: Likewise.
21921 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21922 (grub_linux16_boot): New function. Switches to text mode and calls
21923 grub_linux16_real_boot().
21924
21925 * loader/i386/bsd.c: Include `<grub/video.h>'.
21926 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21927 text mode before calling grub_unix_real_boot().
21928
21929 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21930 (grub_multiboot_boot): Switch to text mode before calling
21931 grub_relocator32_boot().
21932
21933 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21934 (grub_chainloader_boot): Switch to text mode before calling
21935 grub_chainloader_real_boot().
21936
d6f93a66
RM
219372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
219382010-01-05 Colin Watson <cjwatson@ubuntu.com>
21939
21940 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21941 non-empty value.
21942
219432010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
219442010-01-05 Colin Watson <cjwatson@ubuntu.com>
21945
21946 * util/grub.d/00_header.in: Define a "savedefault" function for use
21947 in menu entries.
21948 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21949
219502010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
219512010-01-05 Colin Watson <cjwatson@ubuntu.com>
21952
21953 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21954 saved_entry if boot_once is unset.
21955 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21956 previous saved entry (i.e. grub-reboot).
21957
219582009-12-08 Colin Watson <cjwatson@ubuntu.com>
21959
21960 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21961
219622009-12-08 Colin Watson <cjwatson@ubuntu.com>
21963
21964 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21965 `var=val'.
21966 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21967
219682009-12-08 Colin Watson <cjwatson@ubuntu.com>
21969
21970 * util/grub-reboot.in: Fix --version output.
21971 * util/grub-set-default.in: Likewise.
21972
219732009-12-08 Colin Watson <cjwatson@ubuntu.com>
21974
21975 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21976 blocks.
21977
219782009-12-08 Colin Watson <cjwatson@ubuntu.com>
21979
21980 * util/grub.d/00_header.in: Quote the value assigned to `default',
21981 in case it contains spaces.
21982
219832009-12-08 Colin Watson <cjwatson@ubuntu.com>
21984
21985 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21986 `save_default_entry' call from the macosx case to the linux case.
21987
219882009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
219892009-10-25 Colin Watson <cjwatson@ubuntu.com>
21990
21991 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21992 in `chosen' environment variable.
21993 * normal/menu_text.c (get_entry_number): Check if the variable
21994 matches the title of a menu entry.
21995 (run_menu): Pass menu to get_entry_number.
21996
21997 * util/grub-reboot.in: New file.
21998 * util/grub-set-default.in: New file.
21999 * conf/common.rmk (grub-reboot): New utility.
22000 (grub-set-default): New utility.
22001
22002 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22003 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22004 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22005 move it to `saved_entry' for the next boot. Load environment on
22006 initialisation.
22007 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22008 * util/grub.d/10_hurd.in: Likewise.
22009 * util/grub.d/10_linux.in (linux_entry): Likewise.
22010 * util/grub.d/10_windows.in: Likewise.
22011 * util/grub.d/30_os-prober.in: Likewise.
22012
22013 * util/grub-install.in: Create environment block.
22014 * util/i386/efi/grub-install.in: Likewise.
22015 * util/ieee1275/grub-install.in: Likewise.
22016 * util/sparc64/ieee1275/grub-install.in: Likewise.
22017
0934d184
BC
220182010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22019
22020 Unit testing framework for GRUB.
22021
22022 * Makefile.in: Test framework build rules for 'make check'.
22023 * conf/tests.rmk: Build rules for individual tests and framework.
22024
22025 * include/grub/test.h: Header file for whitebox tests.
22026 * tests/lib/functional_test.c: Framework support for whitebox
22027 functional tests.
22028 * tests/lib/test.c: Common whitebox testing code for unit and
22029 functional tests.
22030 * tests/lib/unit_test.c: Framework support for whitebox unit
22031 tests.
22032
22033 * tests/util/grub-shell-tester.in: Support utility for grub-script
22034 tests.
22035 * tests/util/grub-shell.in: Utility to execute grub-script
22036 commands in a Qemu instance.
22037
22038 * tests/example_functional_test.c: Example whitebox functional
22039 test.
22040 * tests/example_grub_script_test.in: Example grub-script test.
22041 * tests/example_scripted_test.in: Example scripted test.
22042 * tests/example_unit_test.c: Example whitebox unit test.
22043
9c4ffeeb
VS
220442010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22047 Add loader/i386/multiboot_mbi.c.
22048 (multiboot2_mod_SOURCES): Likewise.
22049 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22050 (multiboot2_mod_SOURCES): Likewise.
22051 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22052 (grub_multiboot_make_mbi): Likewise.
22053 (grub_multiboot_free_mbi): Likewise.
22054 (grub_multiboot_init_mbi): Likewise.
22055 (grub_multiboot_add_module): Likewise.
22056 (grub_multiboot_set_bootdev): Likewise.
22057 * loader/i386/multiboot.c (mbi): Removed.
22058 (mbi_dest): Likewise.
22059 (alloc_mbi): New variable.
22060 (grub_multiboot_payload_size): Removed. All users updated.
22061 (grub_multiboot_pure_size): New variable.
22062 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22063 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22064 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22065 (grub_fill_multiboot_mmap): Likewise.
22066 (grub_multiboot_get_bootdev): Likewise.
22067 (grub_multiboot): Use multiboot_mbi functions.
22068 * loader/i386/multiboot_mbi.c: New file.
22069
17383dfe
VS
220702010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22071
22072 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22073 it would result in module crash.
22074
c1f28820
VS
220752010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22078 (grub_ofconsole_getwh): Split to ...
22079 (grub_ofconsole_getwh): ... this.
22080 (grub_ofconsole_dimensions): ...and this.
22081 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22082
58655a16
RM
220832010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22084
22085 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22086
10891398
VS
220872010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 * loader/i386/pc/multiboot2.c: Removed stalled file.
22090
0b8a223c
VS
220912010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22092
22093 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22094 Reported by: Grégoire Sutre
22095
92ab12b0
RM
220962010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22097
22098 * util/misc.c (canonicalize_file_name): New function.
22099 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22100 instead of realpath().
22101
a788afb6
CW
221022010-01-11 Colin Watson <cjwatson@ubuntu.com>
22103
22104 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22105 and make it clearer that it's optional. Based on confusion
22106 witnessed on IRC.
22107
ffa8e3d2
VS
221082010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22109
22110 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22111 in premature implicit newline.
22112
e9060a9d
VS
221132010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22116 which resulted in garbled command line at the end of screen.
22117
f0d0c0b7
RM
221182010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22119
22120 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22121 initialization with similar approach as with other Linux loaders.
22122
0e60bae7
RM
221232010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22124
22125 Fix i386-ieee1275 build.
22126
22127 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22128 and grub_term_height() for video_{width,height} initialization.
22129
221302010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
22131
22132 Fix grub-emu build.
22133
22134 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22135
cdb3f378
RM
221362010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
221372010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22138
22139 Support for multiple terminals.
22140
22141 * Makefile.in (pkglib_DATA): terminal.lst.
22142 (terminal.lst): New target.
22143 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22144 (GRUB_MOD_INIT(handler)): Likewise.
22145 (GRUB_MOD_FINI(handler)): Likewise.
22146 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22147 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22148 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22149 (grub_cmd_sleep): Use grub_term_save_pos.
22150 * commands/terminal.c: New file.
22151 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22152 commands/terminal.c and lib/charset.c.
22153 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22154 (pkglib_MODULES): Add terminal.mod.
22155 (terminal_mod_SOURCES): New variable.
22156 (terminal_mod_CFLAGS): Likewise.
22157 (terminal_mod_LDFLAGS): Likewise.
22158 * genhandlerlist.sh: Don't handle terminals.
22159 * genmk.rb: Generate terminal-*.lst.
22160 * genterminallist.sh: New file.
22161 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22162 (grub_is_valid_utf8): Likewise.
22163 (grub_utf8_to_ucs4_alloc): Likewise.
22164 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22165 (grub_menu_register_viewer): Changed argument.
22166 (grub_menu_try_text): New proto.
22167 (grub_gfxmenu_try_hook): New declaration.
22168 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22169 (grub_menu_init_page): Additional argument term.
22170 (grub_normal_init_page): Likewise.
22171 (grub_cmdline_get): Arguments simplified.
22172 (grub_utf8_to_ucs4_alloc): Removed.
22173 (grub_print_ucs4): Additional argument term.
22174 (grub_getstringwidth): Likewise.
22175 (grub_print_message_indented): Likewise.
22176 (grub_menu_text_register_instances): New proto.
22177 (grub_show_menu): Likewise.
22178 (read_terminal_list): Likewise.
22179 (grub_set_more): Likewise.
22180 * include/grub/parser.h: Include handler.h.
22181 * include/grub/reader.h: Rewritten.
22182 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22183 (GRUB_TERM_WIDTH): Changed to function.
22184 (GRUB_TERM_HEIGHT): Likewise.
22185 (GRUB_TERM_BORDER_WIDTH): Likewise.
22186 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22187 (GRUB_TERM_NUM_ENTRIES): Likewise.
22188 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22189 (GRUB_TERM_CURSOR_X): Likewise.
22190 (grub_term_input_class): Likewise.
22191 (grub_term_output_class): Likewise.
22192 (grub_term_outputs_disabled): New declaration.
22193 (grub_term_inputs_disabled): Likewise.
22194 (grub_term_outputs): Likewise.
22195 (grub_term_inputs): Likewise.
22196 (grub_term_register_input): Rewritten.
22197 (grub_term_register_output): Likewise.
22198 (grub_term_unregister_input): Likewise.
22199 (grub_term_unregister_output): Likewise.
22200 (FOR_ACTIVE_TERM_INPUTS): New macro.
22201 (FOR_DISABLED_TERM_INPUTS): Likewise.
22202 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22203 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22204 * include/grub/terminfo.h: Add oterm argument to all protypes.
22205 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22206 Use grub_rescue_run.
22207 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22208 All users updated.
22209 * kern/reader.c: Removed. All users updated.
22210 * kern/rescue_reader.c (grub_rescue_init): Removed.
22211 (grub_rescue_reader): Likewise.
22212 (grub_register_rescue_reader): Likewise.
22213 (grub_rescue_run): New function based on kern/reader.c.
22214 * kern/term.c: Adapted for multiterm.
22215 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22216 (grub_is_valid_utf8): Likewise.
22217 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22218 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22219 right terminal.
22220 * loader/i386/linux.c (grub_linux_boot): Likewise.
22221 * normal/auth.c (grub_username_get): New function.
22222 (grub_auth_check_authentication): Use grub_username_get.
22223 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22224 * normal/color.c: Adapt for multiterm.
22225 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22226 (grub_normal_init_page): Additional argument term.
22227 (read_lists): Call read_terminal_lists.
22228 (grub_enter_normal_mode): Call grub_cmdline_run.
22229 Handle grub_normal_exit_level.
22230 (grub_cmd_normal): Make reentrant.
22231 (grub_cmd_normal_exit): New function.
22232 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22233 * normal/menu.c: Adapt for multiterm.
22234 * normal/menu_entry.c: Likewise.
22235 * normal/menu_text.c: Likewise.
22236 * normal/menu_viewer.c: Removed. All users updated.
22237 * normal/term.c: New file.
22238 * util/console.c: Change order of includes to workaround a bug in
22239 ncurses headers.
22240 * term/terminfo.c: New argument oterm on all exported functions.
22241 All users updated.
22242 * util/grub-editenv.c (grub_term_input_class): Removed.
22243 (grub_term_output_class): Likewise.
22244
1a064917
RM
222452010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22246
22247 Make loader output a bit more user-friendly.
22248
22249 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22250 is being loaded. Likewise for the Hurd.
22251
22252 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22253 that kernel of FreeBSD ${version} is being loaded.
22254
22255 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
22256 grub_dprintf().
22257 (grub_cmd_initrd): Likewise.
22258 * util/grub.d/10_linux.in (linux_entry): Print message indicating
22259 that Linux ${version} is being loaded. Likewise for initrd.
22260
5ce0a83a 222612010-01-09 Carles Pina i Estany <carles@pina.cat>
22262
22263 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
22264
809bbfeb 222652010-01-08 Carles Pina i Estany <carles@pina.cat>
22266
22267 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
22268 (GRUB_MOD_INIT): Gettextizze.
22269 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
22270 (GRUB_MOD_INIT): Gettextizze.
22271 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
22272 (grub_cmd_linux): Capitalise Linux.
22273 (GRUB_MOD_INIT): Gettextizze.
22274 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
22275 (grub_cmd_linux): Capitalise Linux.
22276 (GRUB_MOD_INIT): Gettextizze.
22277 * loader/i386/linux.c: Include `<grub/i18n.h>'.
22278 (grub_cmd_linux): Capitalise Linux.
22279 (GRUB_MOD_INIT): Gettextizze.
22280 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
22281 (GRUB_MOD_INIT): Gettextizze.
22282 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
22283 (grub_cmd_linux): Capitalise Linux.
22284 (GRUB_MOD_INIT): Gettextizze.
22285 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
22286 (grub_cpu_xnu_init): Gettextizze.
22287 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
22288 (GRUB_MOD_INIT): Gettextizze.
22289 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
22290 (GRUB_MOD_INIT): Gettextizze.
22291 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
22292 (grub_linux_load64): Capitalise Linux.
22293 (GRUB_MOD_INIT): Gettextizze.
22294 * loader/xnu.c: Include `<grub/i18n.h>'.
22295 (GRUB_MOD_INIT): Gettextizze.
22296 * po/POTFILES: Add `loader/efi/appleloader.c',
22297 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
22298 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
22299 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
22300 `loader/i386/xnu.c', `loader/multiboot_loader.c',
22301 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
22302 and `loader/xnu.c'.
22303
b394b2ca
RM
223042010-01-08 Robert Millan <rmh.grub@aybabtu.com>
22305
22306 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
22307
223082010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
22309
22310 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
22311 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
22312 * util/mkisofs/mkisofs.c (main): Readjust --version output.
22313
bc8b32b3
RM
223142010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22315
22316 Reset Multiboot 2 support. New loader implements the draft in
22317 /branches/multiboot2 and shares as much code as possible with the
22318 production Multiboot 1 implementation.
22319
22320 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
22321 * loader/multiboot2.c: Likewise.
22322 * loader/i386/multiboot_helper.S: Likewise.
22323 * include/multiboot2.h: Replace with latest version from the draft
22324 in /branches/multiboot2.
22325
22326 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
22327 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
22328 and `loader/multiboot2.c'.
22329 (pkglib_MODULES): Add `multiboot2.mod'.
22330 (multiboot2_mod_SOURCES): New variable.
22331 (multiboot2_mod_LDFLAGS): Likewise.
22332 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
22333
22334 * conf/i386-pc.rmk: Likewise.
22335
22336 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22337 (multiboot_mod_SOURCES): Remove variable.
22338 (multiboot_mod_LDFLAGS): Likewise.
22339 (multiboot_mod_CFLAGS): Likewise.
22340
22341 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
22342 `<multiboot2.h>' instead of `<multiboot.h>'.
22343 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
22344 (MULTIBOOT_HEADER_MAGIC): New macros.
22345
22346 * loader/multiboot_loader.c (module_version_status): Remove variable.
22347 (find_multi_boot2_header): Remove function.
22348 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
22349 logic. Always check for the Multiboot version we're compiling for.
22350 (grub_cmd_module_loader): Likewise.
22351 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
22352 command instead of `multiboot'.
22353
5d2c52b8
RM
223542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22355
22356 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
22357 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
22358 all users.
22359
53108d92
RM
223602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
223612010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 Fix breakage introduced with previous commit.
22364
22365 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
22366 commands.
22367 * normal/handler.c (read_handler_list): Revert part of previous commit
22368 affecting this file.
22369 * normal/main.c (read_lists): Move read_handler_list() call back to ...
22370 (grub_normal_execute): ... here.
22371
e2e936b2
RM
223722010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22373
22374 Merge prefix-redefinition-fix branch.
22375
22376 * normal/autofs.c (read_fs_list): Make function capable of being
22377 run multiple times, gracefuly replacing the previous data
22378 structures.
22379 * normal/dyncmd.c (read_command_list): Likewise.
22380 * normal/handler.c (read_handler_list): Likewise.
22381 * normal/main.c (read_lists): New function. Calls all the
22382 list reading functions.
22383 (grub_normal_execute): Use read_lists() instead of calling all
22384 list reading functions explicitly. Register read_lists() as a
22385 variable hook attached to ${prefix}.
22386
607a3701
VS
223872010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 Merge crypto branch.
22390
22391 * Makefile.in (pkglib_DATA): Add crypto.lst.
22392 (crypto.lst): New target.
22393 * commands/hashsum.c: New file.
22394 * commands/password.c (check_password): Use grub_crypto_memcmp.
22395 * commands/password_pbkdf2.c: New file.
22396 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
22397 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
22398 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
22399 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
22400 -I$(srcdir)/lib/libgcrypt_wrap.
22401 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
22402 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
22403 password_pbkdf2.mod.
22404 (crypto_mod_SOURCES): New variable.
22405 (crypto_mod_CFLAGS): Likewise.
22406 (crypto_mod_LDFLAGS): Likewise.
22407 (hashsum_mod_SOURCES): New variable.
22408 (hashsum_mod_CFLAGS): Likewise.
22409 (hashsum_mod_LDFLAGS): Likewise.
22410 (pbkdf2_mod_SOURCES): New variable.
22411 (pbkdf2_mod_CFLAGS): Likewise.
22412 (pbkdf2_mod_LDFLAGS): Likewise.
22413 (password_pbkdf2_mod_SOURCES): New variable.
22414 (password_pbkdf2_mod_CFLAGS): Likewise.
22415 (password_pbkdf2_mod_LDFLAGS): Likewise.
22416 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
22417 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
22418 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
22419 Include conf/gcry.rmk.
22420 * include/grub/auth.h: Rewritten.
22421 * include/grub/crypto.h: New file.
22422 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
22423 * include/grub/normal.h (read_crypto_list): New prototype.
22424 * lib/crypto.c: New file.
22425 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22426 * lib/pbkdf2.c: Likewise.
22427 * normal/auth.c (grub_auth_strcmp): Removed.
22428 (grub_iswordseparator): Likewise.
22429 (grub_auth_strword): Likewise.
22430 (is_authenticated): Use grub_strword.
22431 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
22432 and grub_strword. Pass entered password to authentication callback.
22433 * normal/crypto.c: New file.
22434 * normal/main.c: Call read_crypto_list.
22435 * util/grub-mkpasswd-pbkdf2.c: New file.
22436 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
22437
42841caa
VS
224382010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
22439
22440 Fix descent and ascent calculation.
22441
22442 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
22443 (options): New option "asce".
22444 (usage): Likewise.
22445 (add_char): Ignore invalid glyphs for descent calculation.
22446 Calculate ascent from actual content.
22447 (print_glyphs): Use 'asce'.
22448 (write_font): Likewise. Allow ascent override.
22449 (main): Handle "asce" option.
22450
e7730de7 224512010-01-06 Carles Pina i Estany <carles@pina.cat>
22452
22453 * kern/err.c: Include `<grub/i18n.h>'.
22454 (grub_print_error): Add full stop. Gettextizze.
22455 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
22456 (grub_bsd_load_elf): Capitalise ELF.
22457 (grub_cmd_freebsd_loadenv): Add `s' in error string.
22458 (grub_cmd_freebsd_module): Likewise.
22459 (grub_cmd_freebsd_module_elf): Likewise.
22460 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
22461
40e3a41f 224622010-01-06 Carles Pina i Estany <carles@pina.cat>
22463
22464 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
22465 * commands/search_file.c (HELP_MESSAGE): New macro.
22466 * commands/search_label.c (HELP_MESSAGE): Likewise.
22467 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
22468 * po/POTFILES: Add `commands/search_file.c',
22469 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
22470 `commands/search.c'.
22471
83507e68
RM
224722010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22473
22474 * config.rpath: Update from Gnulib.
22475
465c787b
YB
224762010-01-05 Yves Blusseau <blusseau@zetam.org>
22477
22478 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
22479
6581dd3a
YB
224802010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
22481
22482 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
22483
3bff18c5
CW
224842010-01-05 Colin Watson <cjwatson@ubuntu.com>
22485
22486 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
22487 arguments to fread so that we get a return value in bytes, rather
22488 than something that will normally be rounded down to 0.
22489 Adjust error handling to avoid producing garbage when size_t is not
22490 the same size as long long.
22491
a1368118
CW
224922010-01-05 Colin Watson <cjwatson@ubuntu.com>
22493
22494 * util/mkisofs/write.c (padblock_write): Check return value of
22495 fread.
22496
7c302978
RM
224972010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22498
22499 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
22500 floppy images now.
22501
22502 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
22503
e33ace06
RM
225042010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22505
22506 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
22507 instead of manual alignment.
22508 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
22509 verbose). Avoid attempts to read past end of the device
22510 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
22511 but GRUB_DISK_CACHE_SIZE may exceed that).
22512
4b856776
RM
225132010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22514
22515 * commands/crc.c (grub_cmd_crc): Abort on read errors.
22516 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
22517 it to upper layer.
22518
52c2d97f
VS
225192010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22520
22521 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
22522 New constant.
22523 (grub_efi_piwg_device_path): New structure
22524 (grub_efi_piwg_device_path_t): New type.
22525 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
22526 (devpath_1): Transform to a structure. All users updated.
22527 (devpath_2): Likewise.
22528 (devpath_3): Likewise.
22529 (devpath_4): Likewise.
22530 (devpath_5): Likewise.
22531
98ff6a54
VS
225322010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22533
22534 * loader/efi/appleloader.c: Restored. Update all users.
22535
3a73dcb6
RM
225362010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22537
22538 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
22539
22540 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
22541 (struct boot_blocklist): Move from here ...
22542 * include/grub/i386/pc/boot.h [ASM_FILE]
22543 (struct grub_boot_blocklist): ... to here. Update all users.
22544 (setup): Only initialize `start' member of `first_block'
22545 structure. Add assert() calls to verify the other members.
22546
22547 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
22548 (generate_image): Fix broken blocklist length initialization.
22549 Add assert() call to verify blocklist `segment' field.
22550
ab0eeb0c
RM
225512010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22552
22553 * loader/efi/appleloader.c: Remove. Update all users.
22554
58bc8bd5
RM
225552010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22556
22557 * boot/i386/pc/boot.S: Update copyright year.
22558 * boot/i386/pc/cdboot.S: Likewise.
22559 * boot/i386/pc/diskboot.S: Likewise.
22560 * boot/i386/pc/lnxboot.S: Likewise.
22561 * boot/i386/pc/pxeboot.S: Likewise.
22562 * bus/pci.c: Likewise.
22563 * commands/cmp.c: Likewise.
22564 * commands/help.c: Likewise.
22565 * commands/hexdump.c: Likewise.
22566 * commands/i386/pc/halt.c: Likewise.
22567 * commands/i386/pc/play.c: Likewise.
22568 * commands/i386/pc/vbeinfo.c: Likewise.
22569 * commands/ls.c: Likewise.
22570 * commands/test.c: Likewise.
22571 * disk/dmraid_nvidia.c: Likewise.
22572 * disk/i386/pc/biosdisk.c: Likewise.
22573 * disk/ieee1275/nand.c: Likewise.
22574 * disk/ieee1275/ofdisk.c: Likewise.
22575 * disk/lvm.c: Likewise.
22576 * disk/raid.c: Likewise.
22577 * disk/raid6_recover.c: Likewise.
22578 * disk/scsi.c: Likewise.
22579 * fs/affs.c: Likewise.
22580 * fs/cpio.c: Likewise.
22581 * fs/ext2.c: Likewise.
22582 * fs/hfs.c: Likewise.
22583 * fs/iso9660.c: Likewise.
22584 * fs/ntfs.c: Likewise.
22585 * fs/sfs.c: Likewise.
22586 * fs/udf.c: Likewise.
22587 * fs/ufs.c: Likewise.
22588 * fs/xfs.c: Likewise.
22589 * gencmdlist.sh: Likewise.
22590 * genmk.rb: Likewise.
22591 * include/grub/disk.h: Likewise.
22592 * include/grub/efi/api.h: Likewise.
22593 * include/grub/efi/efi.h: Likewise.
22594 * include/grub/efi/pe32.h: Likewise.
22595 * include/grub/elf.h: Likewise.
22596 * include/grub/fs.h: Likewise.
22597 * include/grub/i386/at_keyboard.h: Likewise.
22598 * include/grub/i386/pc/memory.h: Likewise.
22599 * include/grub/i386/pc/vbe.h: Likewise.
22600 * include/grub/i386/pci.h: Likewise.
22601 * include/grub/i386/tsc.h: Likewise.
22602 * include/grub/ieee1275/ieee1275.h: Likewise.
22603 * include/grub/ntfs.h: Likewise.
22604 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22605 * include/grub/sparc64/libgcc.h: Likewise.
22606 * include/grub/symbol.h: Likewise.
22607 * include/grub/types.h: Likewise.
22608 * include/multiboot2.h: Likewise.
22609 * io/gzio.c: Likewise.
22610 * kern/device.c: Likewise.
22611 * kern/disk.c: Likewise.
22612 * kern/efi/efi.c: Likewise.
22613 * kern/efi/mm.c: Likewise.
22614 * kern/elf.c: Likewise.
22615 * kern/file.c: Likewise.
22616 * kern/i386/dl.c: Likewise.
22617 * kern/i386/pc/init.c: Likewise.
22618 * kern/i386/pc/startup.S: Likewise.
22619 * kern/ieee1275/ieee1275.c: Likewise.
22620 * kern/ieee1275/init.c: Likewise.
22621 * kern/main.c: Likewise.
22622 * kern/mm.c: Likewise.
22623 * kern/powerpc/dl.c: Likewise.
22624 * kern/sparc64/dl.c: Likewise.
22625 * kern/x86_64/dl.c: Likewise.
22626 * lib/hexdump.c: Likewise.
22627 * loader/efi/appleloader.c: Likewise.
22628 * loader/i386/ieee1275/linux.c: Likewise.
22629 * loader/i386/pc/chainloader.c: Likewise.
22630 * loader/i386/pc/linux.c: Likewise.
22631 * loader/i386/pc/multiboot2.c: Likewise.
22632 * loader/ieee1275/multiboot2.c: Likewise.
22633 * loader/multiboot2.c: Likewise.
22634 * loader/multiboot_loader.c: Likewise.
22635 * loader/powerpc/ieee1275/linux.c: Likewise.
22636 * normal/completion.c: Likewise.
22637 * normal/menu_entry.c: Likewise.
22638 * partmap/apple.c: Likewise.
22639 * util/grub.d/10_hurd.in: Likewise.
22640 * util/hostfs.c: Likewise.
22641 * video/readers/png.c: Likewise.
22642
e2d70b5c
CW
226432010-01-03 Colin Watson <cjwatson@ubuntu.com>
22644
22645 * include/grub/misc.h (GNUC_PREREQ): New macro.
22646 (ATTRIBUTE_ERROR): New macro.
22647 * include/grub/list.h (grub_bad_type_cast_real): Use
22648 ATTRIBUTE_ERROR.
22649
a173283f 226502010-01-03 Carles Pina i Estany <carles@pina.cat>
22651
22652 * normal/menu_text.c (print_message): Change messages.
22653
7fa7ff74 226542010-01-03 Carles Pina i Estany <carles@pina.cat>
22655
22656 * normal/menu_entry.c (store_completion): Gettextizze.
22657
136d24f6 226582010-01-03 Carles Pina i Estany <carles@pina.cat>
22659
22660 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22661
f936862e 226622010-01-03 Carles Pina i Estany <carles@pina.cat>
22663
22664 * po/POTFILES: Sort correctly.
22665
29c44ad1 226662010-01-03 Carles Pina i Estany <carles@pina.cat>
22667
22668 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22669 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22670 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22671 full stop.
22672 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22673 summary. Gettextizze the strings.
22674 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22675 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22676 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22677 full stop.
22678 (GRUB_MOD_INIT): Remove command name from summary.
22679 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22680 summary.
22681 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22682 * term/i386/pc/serial.c (options): Add full stops.
22683 (GRUB_MOD_INIT): Remove command name from the summary.
22684
77a79592 226852010-01-03 Carles Pina i Estany <carles@pina.cat>
22686
22687 * commands/acpi.c: Gettextizze help strings and/or options. Include
22688 `grub/i18n.h' if needed.
22689 * commands/blocklist.c: Likewise.
22690 * commands/boot.c: Likewise.
22691 * commands/cat.c: Likewise.
22692 * commands/cmp.c: Likewise.
22693 * commands/configfile.c: Likewise.
22694 * commands/crc.c: Likewise.
22695 * commands/date.c: Likewise.
22696 * commands/echo.c: Likewise.
22697 * commands/efi/fixvideo.c: Likewise.
22698 * commands/efi/loadbios.c: Likewise.
22699 * commands/gptsync.c: Likewise.
22700 * commands/halt.c: Likewise.
22701 * commands/handler.c: Likewise.
22702 * commands/hdparm.c: Likewise.
22703 * commands/hexdump.c: Likewise.
22704 * commands/i386/cpuid.c: Likewise.
22705 * commands/i386/pc/drivemap.c: Likewise.
22706 * commands/i386/pc/halt.c: Likewise.
22707 * commands/i386/pc/pxecmd.c: Likewise.
22708 * commands/i386/pc/vbeinfo.c: Likewise.
22709 * commands/i386/pc/vbetest.c: Likewise.
22710 * commands/ieee1275/suspend.c: Likewise.
22711 * commands/keystatus.c: Likewise.
22712 * commands/loadenv.c: Likewise.
22713 * commands/ls.c: Likewise.
22714 * commands/lsmmap.c: Likewise.
22715 * commands/lspci.c: Likewise.
22716 * commands/memrw.c: Likewise.
22717 * commands/minicmd.c: Likewise.
22718 * commands/parttool.c: Likewise.
22719 * commands/password.c: Likewise.
22720 * commands/probe.c: Likewise.
22721 * commands/read.c: Likewise.
22722 * commands/reboot.c: Likewise.
22723 * commands/search.c: Likewise.
22724 * commands/sleep.c: Likewise.
22725 * commands/test.c: Likewise.
22726 * commands/true.c: Likewise.
22727 * commands/usbtest.c: Likewise.
22728 * commands/videotest.c: Likewise.
22729 * commands/xnu_uuid.c: Likewise.
22730 * disk/loopback.c: Likewise.
22731 * hello/hello.c: Likewise.
22732 * loader/i386/bsd.c: Likewise.
22733 * term/i386/pc/serial.c: Likewise.
22734 * po/POTFILES: Add new files.
22735
da8d5c53
CW
227362010-01-02 Colin Watson <cjwatson@ubuntu.com>
22737
22738 * term/i386/pc/at_keyboard.c
22739 (keyboard_controller_wait_untill_ready): Rename to ...
22740 (keyboard_controller_wait_until_ready): ... this. Update all users.
22741
33937904 227422010-01-01 Carles Pina i Estany <carles@pina.cat>
22743
22744 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22745 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22746 string using string width.
22747 * normal/menu_text.c (grub_print_message_indented): Use
22748 grub_print_spaces and not print_spaces.
22749 (print_timeout): Likewise.
22750 (print_spaces): Move to...
22751 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22752
3fd3b8d8
RM
227532010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22754
22755 Import from Gnulib.
22756
22757 * gnulib/getdelim.c: New file.
22758 * gnulib/getline.c: Likewise.
22759
33433555
VS
227602009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22761
22762 * include/grub/list.h (grub_assert_fail): Removed.
22763 (grub_bad_type_cast_real): New function.
22764 (grub_bad_type_cast): New macro.
22765 (GRUB_AS_LIST): Use grub_bad_type_cast.
22766 (GRUB_AS_LIST_P): Likewise.
e44721e8 22767 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22768 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22769 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22770 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22771 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22772
f5a51306
VS
227732009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22774
22775 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22776 Fix syntax error.
22777
90d1e879
RM
227782009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22779
22780 * configure.ac: Check for TARGET_CFLAGS initialization before we
22781 initialize it ourselves (sigh).
22782 Move a few modifications to TARGET_CFLAGS to be unconditional
22783 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22784 eh_frame)
22785
22786 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22787 * term/i386/pc/at_keyboard.c
22788 (keyboard_controller_wait_untill_ready): Likewise.
22789 (keyboard_controller_led): Rename `led_status' paramter to avoid
22790 name conflict.
22791
465b5a81 227922009-12-28 Carles Pina i Estany <carles@pina.cat>
22793
22794 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22795 quotes.
22796
c181849b
VS
227972009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22798
22799 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22800
9c8739a4
VS
228012009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22802
22803 * normal/menu_text.c (grub_print_message_indented): Prevent
22804 past-the-end-of-array dereference.
22805
3e74249c
VS
228062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22807
22808 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22809 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22810
64fd18ed 228112009-12-27 Carles Pina i Estany <carles@pina.cat>
22812
22813 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22814 * normal/main.c (grub_normal_read_line): Remove a space from the
22815 default prompt.
22816
714af9b9 228172009-12-27 Carles Pina i Estany <carles@pina.cat>
22818
22819 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22820 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22821 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22822 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22823 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22824 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22825 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22826
82f3e412 228272009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22828
22829 * video/readers/jpeg.c (cmd): Declare.
22830 (grub_cmd_jpegtest): Use `grub_command_t' type.
22831 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22832 Assign to `cmd'.
22833 (GRUB_MOD_FINI): Use `cmd' to unregister.
22834 * video/readers/png.c (cmd): Declare.
22835 (grub_cmd_pngtest): Use `grub_command_t' type.
22836 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22837 Assign to `cmd'.
22838 (GRUB_MOD_FINI): Use `cmd' to unregister.
22839 * video/readers/tga.c (cmd): Declare.
22840 (grub_cmd_tgatest): Use `grub_command_t' type.
22841 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22842 Assign to `cmd'.
22843 (GRUB_MOD_FINI): Use `cmd' to unregister.
22844
82f3e412 228452009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22846
22847 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22848 stops.
22849 * kern/corecmd.c (grub_register_core_commands): Likewise.
22850 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22851 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22852 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22853 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22854 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22855 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22856 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22857 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22858 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22859 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22860 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22861 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22862 * normal/handler.c (insert_handler): Likewise.
22863 * normal/main.c (GRUB_MOD_INIT): Likewise.
22864 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22865
fdcdbb66 228662009-12-26 Carles Pina i Estany <carles@pina.cat>
22867
22868 * commands/help.c (grub_cmd_help): Print the command name before the
22869 summary.
22870 (GRUB_MOD_INIT): Remove command name from the summary.
22871 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22872 string as summary.
fdcdbb66 22873 * lib/arg.c (find_long): Print the command name before the summary.
22874 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22875 summary.
22876 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22877 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22878 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22879 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22880 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22881 * commands/date.c (GRUB_MOD_INIT): Likewise.
22882 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22883 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22884 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22885 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22886 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22887 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22888 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22889 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22890 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22891 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22892 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22893 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22894 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22895 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22896 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22897 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22898 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22899 * commands/password.c (GRUB_MOD_INIT): Likewise.
22900 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22901 * commands/read.c (GRUB_MOD_INIT): Likewise.
22902 * commands/search.c (GRUB_MOD_INIT): Likewise.
22903 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22904 * commands/test.c (GRUB_MOD_INIT): Likewise.
22905 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22906 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22907 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22908 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22909 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22910 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22911 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22912 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22913 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22914 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22915 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22916 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22917 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22918 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22919
9c288be2
VS
229202009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 Use search command for preliminar UUID search.
22923
22924 * commands/search.c: Split into ...
22925 * commands/search_wrap.c: ...this
22926 * commands/search.c: ...and this.
22927 * commands/search_file.c: New file.
22928 * commands/search_label.c: New file.
22929 * commands/search_uuid.c: New file.
22930 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22931 Add commands/search_wrap.c, commands/search_file.c,
22932 commands/search_label.c and commands/search_uuid.c.
22933 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22934 (search_mod_SOURCES): Set to commands/search_wrap.c.
22935 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22936 search_label.mod.
22937 (search_fs_file_mod_SOURCES): New variable.
22938 (search_fs_file_mod_CFLAGS): Likewise.
22939 (search_fs_file_mod_LDFLAGS): Likewise.
22940 (search_label_mod_SOURCES): Likewise.
22941 (search_label_mod_CFLAGS): Likewise.
22942 (search_label_mod_LDFLAGS): Likewise.
22943 (search_fs_uuid_mod_SOURCES): New variable.
22944 (search_fs_uuid_mod_CFLAGS): Likewise.
22945 (search_fs_uuid_mod_LDFLAGS): Likewise.
22946 (fs_file_mod_SOURCES): Removed.
22947 (fs_file_mod_CFLAGS): Likewise.
22948 (fs_file_mod_LDFLAGS): Likewise.
22949 (fs_uuid_mod_SOURCES): Removed.
22950 (fs_uuid_mod_CFLAGS): Likewise.
22951 (fs_uuid_mod_LDFLAGS): Likewise.
22952 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22953 Set to util/grub-install.in.
22954 * disk/fs_file.c: Removed.
22955 * disk/fs_uuid.c: Likewise.
22956 * include/grub/search.h: New file.
22957 * util/grub-install.in: Handle sparc64.
22958 Create and use load.cfg.
22959 * util/sparc64/ieee1275/grub-install.in: Removed.
22960
db943399
VS
229612009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22962
22963 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22964 Ignore return status if CF is cleared.
22965 (grub_biosdisk_get_diskinfo_standard): Likewise.
22966
3fdae612
RM
229672009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22968
22969 * term/i386/pc/at_keyboard.c
22970 (keyboard_controller_wait_untill_ready): New function.
22971 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22972 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22973 for keyboard polling, rather than duplicate the same loop. This
22974 saves a few bytes in code size.
22975
7ebaa2b4
VS
229762009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22977
22978 Support for (pxe[:server[:gateway]]) syntax and
22979 use environment variable for PXE.
22980
22981 * commands/i386/pc/pxecmd.c (options): Removed.
22982 (print_ip): Removed.
22983 (grub_cmd_pxe): Removed
22984 (grub_cmd_pxe_unload): New function.
22985 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22986 (grub_pxe_your_ip): Made static.
22987 (grub_pxe_default_server_ip): Likewise.
22988 (grub_pxe_default_gateway_ip): Likewise.
22989 (grub_pxe_blksize): Likewise.
22990 (parse_ip): New function.
22991 (grub_pxe_open): Support server and gateway specification.
22992 (grub_pxe_close): Free disk->data.
22993 (grub_pxefs_open): Use disk->data.
22994 (grub_pxefs_read): Likewise.
22995 (grub_env_write_readonly): New function.
22996 (set_mac_env): Likewise.
22997 (set_env_limn_ro): Likewise.
22998 (parse_dhcp_vendor): Likewise.
22999 (grub_pxe_detect): Set the environment variables.
23000 (set_ip_env): New function.
23001 (write_ip_env): Likewise.
23002 (grub_env_write_pxe_default_server): Likewise.
23003 (grub_env_write_pxe_default_gateway): Likewise.
23004 (grub_env_write_pxe_blocksize): Likewise.
23005 (GRUB_MOD_INIT(pxe)): Set environment variables.
23006 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23007 (grub_pxe_mac_addr_t): ... this. All users updated.
23008 (grub_pxe_your_ip): Removed.
23009 (grub_pxe_server_ip): Likewise.
23010 (grub_pxe_gateway_ip): Likewise.
23011 (grub_pxe_blksize): Likewise.
23012
ec5f98ab 230132009-12-25 Carles Pina i Estany <carles@pina.cat>
23014
23015 * commands/help.c: Include `<grub/i18n.h>'.
23016 (grub_cmd_help): Gettextizze.
23017 (GRUB_MOD_INIT): Likewise.
23018 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23019 (GRUB_MOD_INIT): Gettextizze.
23020 * commands/search.c: Include `<grub/i18n.h>'.
23021 (options): Gettextizze.
23022 (GRUB_MOD_INIT): Gettextizze.
23023 * lib/arg.c: Include `<grub/i18n.h>'.
23024 (help_options): Gettextizze.
23025 (find_long): Likewise.
23026 (grub_arg_show_help): Likewise.
23027 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23028 (read_command_list): Gettextizze.
23029 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 23030 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 23031
22815526
RM
230322009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23033
23034 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23035 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23036 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23037 (led_status): New variable.
23038 (keyboard_controller_led): New function.
23039 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23040 update led status for caps lock, num lock and scroll lock.
23041
0ad46fd7
FZ
230422009-12-25 Felix Zielcke <fzielcke@z-51.de>
23043
23044 * util/hostdisk.c (open_device): Fix a comment.
23045
d0e158c2
RM
230462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23047
23048 * util/grub-install.in (host_os): New variable.
23049 * util/i386/efi/grub-install.in (host_os): Likewise.
23050
401c0ad6
RM
230512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23052
23053 * util/mkisofs/write.c (padblock_write): Abort when given an
23054 excedingly large embed image, instead of silently truncating it.
23055
d14d3370
RM
230562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23057
23058 * include/multiboot.h: Indentation fixes.
23059
eeed10b4
RM
230602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23061
23062 * include/multiboot.h (struct multiboot_aout_symbol_table)
23063 (struct multiboot_elf_section_header_table): New structure
23064 declarations (stolen from GRUB Legacy).
23065 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23066 table information.
23067
23068 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23069 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23070 type aliases.
23071
681c70ab
RM
230722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23073
23074 * include/multiboot.h: Make comments src2texi-friendly.
23075
e4d47d8d
RM
230762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23077
23078 For consistency with [multiboot]/docs/boot.S.
23079
23080 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23081 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23082 (MULTIBOOT_MAGIC2): Rename from this ...
23083 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23084
a0b70bda
RM
230852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23086
23087 * include/multiboot.h: Remove `<grub/types.h>'.
23088 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23089 types. Update all users.
23090
61ba42be 230912009-12-25 Carles Pina i Estany <carles@pina.cat>
23092
23093 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23094 `couldn't' and `can not' by `cannot'.
23095 * commands/i386/pc/drivemap.c: Likewise.
23096 * disk/ata.c: Likewise.
23097 * disk/ieee1275/nand.c: Likewise.
23098 * fs/affs.c: Likewise.
23099 * fs/fat.c: Likewise.
23100 * fs/hfs.c: Likewise.
23101 * fs/hfsplus.c: Likewise.
23102 * fs/iso9660.c: Likewise.
23103 * fs/jfs.c: Likewise.
23104 * fs/minix.c: Likewise.
23105 * fs/reiserfs.c: Likewise.
23106 * fs/sfs.c: Likewise.
23107 * fs/udf.c: Likewise.
23108 * fs/ufs.c: Likewise.
23109 * fs/xfs.c: Likewise.
23110 * loader/powerpc/ieee1275/linux.c: Likewise.
23111 * loader/sparc64/ieee1275/linux.c: Likewise.
23112 * util/grub-probe.c: Likewise.
23113 * util/misc.c: Likewise.
23114
7fd0baee 231152009-12-24 Carles Pina i Estany <carles@pina.cat>
23116
23117 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23118 grub_errno calls.
23119 * commands/acpi.c: Likewise.
23120 * commands/blocklist.c: Likewise.
23121 * commands/efi/loadbios.c: Likewise.
23122 * commands/i386/pc/drivemap.c: Likewise.
23123 * commands/loadenv.c: Likewise.
23124 * commands/memrw.c: Likewise.
23125 * commands/password.c: Likewise.
23126 * commands/videotest.c: Likewise.
23127 * disk/ata.c: Likewise.
23128 * disk/ata_pthru.c: Likewise.
23129 * disk/dmraid_nvidia.c: Likewise.
23130 * disk/ieee1275/nand.c: Likewise.
23131 * disk/ieee1275/ofdisk.c: Likewise.
23132 * disk/loopback.c: Likewise.
23133 * disk/lvm.c: Likewise.
23134 * disk/mdraid_linux.c: Likewise.
23135 * disk/raid.c: Likewise.
23136 * disk/raid6_recover.c: Likewise.
23137 * disk/scsi.c: Likewise.
23138 * efiemu/main.c: Likewise.
23139 * efiemu/mm.c: Likewise.
23140 * efiemu/pnvram.c: Likewise.
23141 * efiemu/symbols.c: Likewise.
23142 * font/font.c: Likewise.
23143 * fs/cpio.c: Likewise.
23144 * fs/hfsplus.c: Likewise.
23145 * fs/iso9660.c: Likewise.
23146 * fs/jfs.c: Likewise.
23147 * fs/minix.c: Likewise.
23148 * fs/ntfs.c: Likewise.
23149 * fs/ntfscomp.c: Likewise.
23150 * fs/reiserfs.c: Likewise.
23151 * fs/ufs.c: Likewise.
23152 * fs/xfs.c: Likewise.
23153 * gettext/gettext.c: Likewise.
23154 * include/grub/auth.h: Likewise.
23155 * kern/elf.c: Likewise.
23156 * kern/file.c: Likewise.
23157 * kern/ieee1275/init.c: Likewise.
23158 * kern/ieee1275/mmap.c: Likewise.
23159 * kern/ieee1275/openfw.c: Likewise.
23160 * kern/powerpc/dl.c: Likewise.
23161 * kern/sparc64/dl.c: Likewise.
23162 * lib/arg.c: Likewise.
23163 * loader/i386/bsd.c: Likewise.
23164 * loader/i386/bsdXX.c: Likewise.
23165 * loader/i386/efi/linux.c: Likewise.
23166 * loader/i386/efi/xnu.c: Likewise.
23167 * loader/i386/ieee1275/linux.c: Likewise.
23168 * loader/i386/linux.c: Likewise.
23169 * loader/i386/multiboot.c: Likewise.
23170 * loader/i386/pc/linux.c: Likewise.
23171 * loader/i386/pc/multiboot2.c: Likewise.
23172 * loader/i386/xnu.c: Likewise.
23173 * loader/ieee1275/multiboot2.c: Likewise.
23174 * loader/macho.c: Likewise.
23175 * loader/machoXX.c: Likewise.
23176 * loader/multiboot2.c: Likewise.
23177 * loader/multiboot_loader.c: Likewise.
23178 * loader/powerpc/ieee1275/linux.c: Likewise.
23179 * loader/sparc64/ieee1275/linux.c: Likewise.
23180 * loader/xnu.c: Likewise.
23181 * loader/xnu_resume.c: Likewise.
23182 * mmap/i386/pc/mmap.c: Likewise.
23183 * normal/menu_viewer.c: Likewise.
23184 * partmap/acorn.c: Likewise.
23185 * partmap/amiga.c: Likewise.
23186 * partmap/apple.c: Likewise.
23187 * script/lexer.c: Likewise.
23188 * term/gfxterm.c: Likewise.
23189 * term/i386/pc/serial.c: Likewise.
23190 * term/i386/pc/vga.c: Likewise.
23191 * term/ieee1275/ofconsole.c: Likewise.
23192 * term/terminfo.c: Likewise.
23193 * video/bitmap.c: Likewise.
23194 * video/efi_gop.c: Likewise.
23195 * video/efi_uga.c: Likewise.
23196 * video/fb/video_fb.c: Likewise.
23197 * video/i386/pc/vbe.c: Likewise.
23198 * video/readers/tga.c: Likewise.
23199 * video/video.c: Likewise.
23200
0ad46fd7 232012009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
23202
23203 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23204 * commands/lspci.c: Likewise.
23205 * commands/probe.c: Likewise.
23206 * commands/xnu_uuid.c: Likewise.
23207 * conf/i386-coreboot.rmk: Likewise.
23208 * conf/i386-efi.rmk: Likewise.
23209 * conf/i386-ieee1275.rmk: Likewise.
23210 * conf/i386-pc.rmk: Likewise.
23211 * conf/powerpc-ieee1275.rmk: Likewise.
23212 * conf/sparc64-ieee1275.rmk: Likewise.
23213 * conf/x86_64-efi.rmk: Likewise.
23214 * fs/i386/pc/pxe.c: Likewise.
23215 * gettext/gettext.c: Likewise.
23216 * include/grub/efi/graphics_output.h: Likewise.
23217 * include/grub/i386/pc/memory.h: Likewise.
23218 * kern/env.c: Likewise.
23219 * kern/i386/qemu/startup.S: Likewise.
23220 * lib/i386/pc/biosnum.c: Likewise.
23221 * lib/i386/relocator.c: Likewise.
23222 * lib/i386/relocator_asm.S: Likewise.
23223 * lib/relocator.c: Likewise.
23224 * loader/i386/bsd.c: Likewise.
23225 * loader/i386/multiboot.c: Likewise.
23226 * loader/i386/pc/chainloader.c: Likewise.
23227 * loader/i386/xnu.c: Likewise.
23228 * loader/xnu.c: Likewise.
23229 * normal/main.c: Likewise.
23230 * normal/menu_text.c: Likewise.
23231 * util/getroot.c: Likewise.
23232 * util/grub-mkconfig_lib.in: Likewise.
23233 * util/grub.d/00_header.in: Likewise.
23234 * util/i386/pc/grub-mkimage.c: Likewise.
23235 * util/mkisofs/eltorito.c: Likewise.
23236 * util/mkisofs/exclude.h: Likewise.
23237 * util/mkisofs/hash.c: Likewise.
23238 * util/mkisofs/iso9660.h: Likewise.
23239 * util/mkisofs/joliet.c: Likewise.
23240 * util/mkisofs/mkisofs.c: Likewise.
23241 * util/mkisofs/mkisofs.h: Likewise.
23242 * util/mkisofs/multi.c: Likewise.
23243 * util/mkisofs/name.c: Likewise.
23244 * util/mkisofs/rock.c: Likewise.
23245 * util/mkisofs/tree.c: Likewise.
23246 * util/mkisofs/write.c: Likewise.
23247 * video/efi_gop.c: Likewise.
23248
009ec743
VS
232492009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23252 size counting.
23253
0ad46fd7 232542009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
23255
23256 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
23257 * genmk.rb (class SCRIPT): Modify the target file instead of source.
23258
d3d30ea0
VS
232592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
23262 (GRUB_MOD_INIT(memrw)): Update help line.
23263
a34f5c70
VS
232642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23265
23266 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
23267 Use grub_extcmd_t. All users updated.
23268 (options): New variable.
23269 (grub_cmd_read): Restructure for readability. Support "-v" option.
23270 (grub_cmd_write): Restructure for readability.
23271
0ad46fd7 232722009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
23273
23274 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
23275
0ad46fd7 232762009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
23277
23278 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
23279 with the actual contents of the correspondending make variable.
23280 * util/grub-mkrescue.in (pkglib_DATA): New variable.
23281 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
23282 specifying `*.lst' and `efiemu??.o'
23283
0ad46fd7 232842009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
23285
23286 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
23287 after function name.
23288 Noticed by Rene Engelhard <rene@debian.org>.
23289
dc77a799
VS
232902009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23291
23292 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
23293 (options): New variable.
23294 (iospace): Likewise.
23295 (grub_lspci_iter): List IO spaces if "-i" was given.
23296 (grub_cmd_lspci): Parse options.
23297 (GRUB_MOD_INIT(lspci)): Use extcmd.
23298 (GRUB_MOD_FINI(lspci)): Likewise.
23299
0ad46fd7 233002009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
23301
23302 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
23303 `function' keyword.
23304 Patch by Tony Mancill <tmancill@debian.org>.
23305
b5d5993b
VS
233062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23307
23308 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
23309 (grub_uhci_portstatus): Likewise.
23310 (grub_uhci_portstatus): Add necessary delay.
11d18281 23311 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 23312
941903f2 233132009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 23314
941903f2 23315 * commands/acpi.c (options): Fix capitalizations and/or full stops.
23316 (GRUB_MOD_INIT): Likewise.
23317 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 23318 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
23319 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 23320 * commands/efi/loadbios.c (enable_rom_area): Likewise.
23321 (enable_rom_area): Likewise.
23322 (GRUB_MOD_INIT): Likewise.
23323 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23324 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
23325 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23326 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
23327 * commands/hexdump.c (options): Likewise.
23328 * commands/i386/cpuid.c (options): Likewise.
23329 (GRUB_MOD_INIT): Likewise.
23330 * commands/i386/pc/drivemap.c (options): Likewise.
23331 (GRUB_MOD_INIT): Likewise.
23332 * commands/i386/pc/halt (options): Likewise.
23333 (GRUB_MOD_INIT): Likewise.
23334 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23335 * commands/i386/pc/pxecmd.c (options): Likewise.
23336 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
23337 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
23338 * commands/keystatus.c (options): Likewise.
23339 (GRUB_MOD_INIT): Likewise.
23340 * commands/loadenv.c (options): Likewise.
23341 * commands/ls.c (options): Likewise.
23342 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23343 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23344 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23345 * commands/parttool.c (helpmsg): Likewise.
23346 * commands/probe.c (options): Likewise.
23347 * commands/read.c (GRUB_MOD_INIT): Likewise.
23348 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
23349 * commands/search.c (options): Likewise.
23350 * commands/sleep.c (options): Likewise.
23351 * commands/test.c (GRUB_MOD_INIT): Likewise.
23352 * commands/true.c (GRUB_MOD_INIT): Likewise.
23353 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
23354 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
23355 * lib/arg.c (help_options): Likewise.
e9bbb4e7 23356 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
23357 `$(XGETTEXT)'.
98a50553 23358 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 23359
0ad46fd7 233602009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 23361
ef3c2c3a 23362 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
23363 instead of specifying them explicit.
23364
7922f68b
RM
233652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23366
23367 * NEWS: Add grub-probe support for GNU/Hurd.
23368
537ce47f
RM
233692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23370
23371 * NEWS: gettext was added after 1.97.
23372
9b214e3a
RM
233732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23374
23375 * util/mkisofs/msdos_partition.h: New file (based on
23376 include/grub/msdos_partition.h).
23377 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
23378 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
23379 (ld_options, main): Recognize --protective-msdos-label.
23380 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
23381 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
23382 (padblock_write): If `use_protective_msdos_label' is set, patch a
23383 protective DOS-style label in the output image.
23384
23385 * util/grub-mkrescue.in: Use --protective-msdos-label.
23386
e9309813
RM
233872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23388
23389 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
23390 boot.
23391
0ae56929
RM
233922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23393
23394 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
23395 variables.
23396 (ld_options, main): Recognize `--embedded-boot'.
23397 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
23398 declarations.
23399 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
23400 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
23401 (padblock_write): Likewise. Rewrite to support embedded boot image.
23402
23403 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
23404 for BIOS-based disk boot instead of only ElTorito.
23405
b15937b1
RM
234062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23407
23408 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
23409 build (not needed for bootstrap).
23410
52cc3ce0
RM
234112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23412
23413 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
23414 from i386-pc build (not needed for bootstrap).
23415 Rewrite a pair of strings.
23416
36f5ff04
RM
234172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23418
23419 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
23420
973c6c85 234212009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
23422
23423 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
23424
05d21547
AB
234252009-12-21 Andreas Born <futur.andy@googlemail.com>
23426
23427 * kern/env.c (grub_env_context_open): Mark exported variable for
23428 reexport.
23429
0175d51f
AB
234302009-12-21 Andreas Born <futur.andy@googlemail.com>
23431
23432 * kern/env.c (grub_env_export): Create nonexistent variables before
23433 exporting.
23434
7f39d92f 234352009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 23436
7f39d92f 23437 * include/grub/auth.h: Include `<grub/i18n.h>'.
23438 (GRUB_GET_PASSWORD): Gettextizze string.
23439 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
23440 menu_text.c.
23441 (grub_utf8_to_ucs4_alloc): Fix indentation.
23442 (grub_print_ucs4): Likewise.
23443 (grub_getstringwidth): Likewise.
23444 (print_message_indented): New declaration.
23445 * normal/auth.c: Include `<grub/i18n.h>'.
23446 (grub_auth_check_authentication): Gettexttize string.
23447 * normal/cmdline.c: Include `<grub/i18n.h>'.
23448 (grub_cmdline_get): Gettextizze.
23449 * normal/color.c: Include `<grub/i18n.h>'.
23450 (grub_parse_color_name_pair): Gettexttize strings.
23451 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
23452 string (use `print_message_indented').
23453 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
23454 `include/grub/normal.h'.
23455 (print_message_indented): Renamed to ...
23456 (grub_print_message_indented): ... this. Remove `static' qualifer (now
23457 used in normal/main.c).
23458 (print_message): Use `grub_print_message_indented' instead of
23459 `print_message_indented'.
23460 (print_timeout): Likewise.
23461 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
23462 (grub_normal_print_device_info): Gettexttize strings.
23463 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
23464
3041d898
VS
234652009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23466
23467 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
23468 of arguments. Return number of tokens and not arguments. All users
23469 updated.
23470
de15bf8e
VS
234712009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23472
23473 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
23474 non-MSDOS paritions.
23475
e0a6ca52
VS
234762009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
23477
23478 * include/grub/types.h (UNUSED): Removed since it conflicts with
23479 NetBSD headers. All users changed to direct __attribute__ ((unused)).
23480 Reported by Grégoire Sutre.
23481
b99518d1 234822009-12-19 Carles Pina i Estany <carles@pina.cat>
23483
23484 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
23485 (grub_print_ucs4_alloc): Likewise.
23486 (grub_getstringwidth): Likewise.
23487 * normal/main.c (grub_normal_init_page): Gettextize version string.
23488 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
23489 (getstringwidth): Renamed to ...
23490 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
23491 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
23492 (grub_print_ucs4): Remove `static' qualifer (now used in
23493 normal/main.c).
23494 * po/POTFILES: Add normal/main.c.
23495
bfd5e52b 234962009-12-19 Carles Pina i Estany <carles@pina.cat>
23497
23498 * normal/menu_text.c (STANDARD_MARGIN): New macro.
23499 (print_message_indented): Add `margin_left' and `margin_right'
23500 parameters.
23501 (print_message): Update `print_message_indented' calls. Adds '\n' to the
23502 strings.
23503 (print_timeout): Use `print_message_indented' to print the message.
23504 Deletes `second_stage' parameter.
23505 (run_menu): Update `print_timeout' calls.
23506
5a1ad2b9
VS
235072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 Fix console palette on OpenFirmware.
23510
23511 * term/ieee1275/ofconsole.c (MAX): Removed.
23512 (colors): Redone based on VGA palette.
23513 (grub_ofconsole_setcolor): Discard brightness bit since only 8
23514 colors are supported.
23515 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
23516
b045f00a
VS
235172009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23518
23519 Fix potential EfiEmu double prepare.
23520
23521 * efiemu/main.c (prepared): New variable
23522 (grub_efiemu_unload): Set prepare to '0'.
23523 (grub_efiemu_prepare): Return if already prepared. Set prepared.
23524
23525 set_virtual_address_map support.
23526
23527 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
23528 prototype.
23529 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
23530 prototype.
23531 (grub_efiemu_crc32): Likewise.
23532 (grub_efiemu_crc64): Likewise.
23533 (grub_efiemu_set_virtual_address_map): Likewise.
23534 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
23535 New definition.
23536 (grub_autoefi_set_virtual_address_map): Likewise.
23537 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
23538 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
23539 Restructure flow to accomodate it.
23540 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
23541 (grub_efiemu_crc): Recompute CRC32.
23542 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
23543 (efiemu_ptv_relocated): ... this. Made global. All users updated.
23544 * efiemu/symbols.c (relocated_handle): New variable.
23545 (grub_efiemu_free_syms): Free relocated_handle.
23546 (grub_efiemu_alloc_syms): Allocate relocated_handle.
23547 (grub_efiemu_write_sym_markers): New function.
23548 (grub_efiemu_set_virtual_address_map): Likewise.
23549
23550 Newer XNU parameters.
23551
23552 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
23553 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
23554 (grub_xnu_fill_devicetree): New prototype.
23555 (grub_xnu_heap_real_start): New variable.
23556 * loader/xnu.c (get_name_ptr): New function.
23557 (grub_xnu_load_driver): Fill namelen and name.
23558
23559 64-bit xnu support.
23560
23561 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
23562 and 'loader/macho64.c'.
23563 * conf/i386-pc.rmk: Likewise.
23564 * conf/x86_64-efi.rmk: Likewise.
23565 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
23566 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
23567 * include/grub/macho.h (grub_macho_segment64): New structure.
23568 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
23569 (grub_macho_size32): ... to this.
23570 (grub_macho32_get_entry_point): Renamed from ...
23571 (grub_macho_get_entry_point32): ... to this.
23572 (grub_macho_contains_macho64): New prototype.
23573 (grub_macho_size64): Likewise.
23574 (grub_macho_get_entry_point64): Likewise.
23575 (grub_macho32_load): Renamed from ...
23576 (grub_macho_load32): ... to this.
23577 (grub_macho32_filesize): Renamed from ...
23578 (grub_macho_filesize32): ... to this.
23579 (grub_macho32_readfile): Renamed from ...
23580 (grub_macho_readfile32): ... to this.
23581 (grub_macho_filesize64): New prototype.
23582 (grub_macho_readfile64): Likewise.
23583 (grub_macho_parse32): Likewise.
23584 (grub_macho_parse64): Likewise.
23585 * loader/macho.c: Split into ...
23586 * loader/machoXX.c: ... and this. Replace 32 with XX.
23587 * loader/macho32.c: New file.
23588 * loader/macho64.c: Likewise.
23589 * loader/xnu.c (grub_xnu_is_64bit): New variable.
23590 (grub_cmd_xnu_kernel): Make 32-bit only.
23591 (grub_cmd_xnu_kernel64): New function.
23592 (grub_xnu_load_driver): Support Mach-O 64.
23593 (grub_cmd_xnu_mkext): Likewise.
23594 * util/grub.d/30_os-prober.in (osx_entry): New function.
23595 Generate entries for 64-bit boot too.
23596
23597 Eliminate ad-hoc tree format in XNU and EfiEmu.
23598
23599 * efiemu/main.c (grub_efiemu_prepare): Update comment.
23600 * efiemu/pnvram.c: Rewritten to use environment variables.
23601 All users updated.
23602
23603 Inline utf16_to_utf8.
23604
23605 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
23606 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
23607 All users updated.
23608 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
23609
23610 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
23611 * commands/usbtest.c (grub_usb_get_string): ... move here.
23612 (usb_print_str): Fix error handling.
23613 * include/grub/usb.h (grub_usb_get_string): Remove.
23614
23615 UTF-8 to UTF-16 transformation.
23616
23617 * conf/common.rmk (pkglib_MODULES): Add charset.mod
23618 (charset_mod_SOURCES): New variable.
23619 (charset_mod_CFLAGS): Likewise.
23620 (charset_mod_LDFLAGS): Likewise.
23621 * include/grub/utf.h: New file.
23622 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
23623
23624 Support for device properties.
23625
23626 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23627 (grub_xnu_devprop_device_header): Likewise.
23628 (grub_xnu_devprop_device_descriptor): Likewise.
23629 (grub_xnu_devprop_add_device): New prototype.
23630 (grub_xnu_devprop_remove_device): Likewise.
23631 (grub_xnu_devprop_remove_property): Likewise.
23632 (grub_xnu_devprop_add_property_utf8): Likewise.
23633 (grub_xnu_devprop_add_property_utf16): Likewise.
23634 (grub_cpu_xnu_init): Likewise.
23635 (grub_cpu_xnu_fini): Likewise.
23636 (grub_cpu_xnu_unload): Likewise.
23637 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23638 (property_descriptor): Likewise.
23639 (devices): New variable.
23640 (grub_xnu_devprop_remove_property): New function.
23641 (grub_xnu_devprop_add_device): Likewise.
23642 (grub_xnu_devprop_remove_device): Likewise.
23643 (grub_xnu_devprop_add_property): Likewise.
23644 (grub_xnu_devprop_add_property_utf8): Likewise.
23645 (grub_xnu_devprop_add_property_utf16): Likewise.
23646 (hextoval): Likewise.
23647 (grub_cpu_xnu_fill_devprop): Likewise.
23648 (grub_cmd_devprop_load): Likewise.
23649 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23650 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23651 (cmd_devprop_load): New variable.
23652 (grub_cpu_xnu_init): New function.
23653 (grub_cpu_xnu_fini): Likewise.
23654 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23655 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23656 (grub_cmd_xnu_devtree): Likewise.
23657 (hextoval): New function.
23658 (unescape): Likewise.
23659 (grub_xnu_fill_devicetree): Likewise.
23660
23661 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23662 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23663
0945f181
VS
236642009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23665
23666 Workaround for broken ATI VBE.
23667
23668 * video/i386/pc/vbe.c (last_set_mode): New variable.
23669 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23670 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23671 (grub_video_vbe_setup): Don't check for reserved flag.
23672
0ad46fd7 236732009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23674
23675 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23676 the `find' command.
23677
c179ebe4
VS
236782009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23679
23680 UUID support for HFS.
23681
23682 * fs/hfs.c (grub_hfs_uuid): New function.
23683 (grub_hfs_fs): New value .uuid.
23684 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23685
0ad46fd7 236862009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23687
23688 Fix a segfault with parsing unknown long options.
23689
23690 * util/grub-mkrelpath.c (options): Zero terminate it.
23691
c4a3e41a
CPE
236922009-12-13 Carles Pina i Estany <carles@pina.cat>
23693
23694 * include/grub/misc.h (grub_puts): New declaration.
23695 (grub_puts_): Likewise.
a22008a6 23696 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23697 (grub_puts_): Likewise.
23698
2e8a7602
RM
236992009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23700
23701 * util/grub-probe.c (probe): Improve error message.
23702
b50b77b9
RM
237032009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23704
23705 * loader/i386/multiboot_elfxx.c
23706 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23707 initialization.
23708
237092009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23710
23711 Relocator framework
23712
23713 * loader/i386/xnu_helper.S: Removed. All users updated.
23714 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23715 (relocator_mod_SOURCES): New variable.
23716 (relocator_mod_CFLAGS): Likewise.
23717 (relocator_mod_LDFLAGS): Likewise.
23718 (relocator_mod_ASFLAGS): Likewise.
23719 * conf/x86_64.rmk: Likewise.
23720 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23721 (grub_multiboot_payload_entry_offset): Likewise.
23722 (grub_multiboot_forward_relocator): Likewise.
23723 (grub_multiboot_forward_relocator_end): Likewise.
23724 (grub_multiboot_backward_relocator): Likewise.
23725 (grub_multiboot_backward_relocator_end): Likewise.
23726 (grub_multiboot_payload_eip): New variable.
23727 (grub_multiboot_payload_orig): Likewise.
23728 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23729 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23730 * include/grub/i386/memory.h
23731 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23732 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23733 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23734 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23735 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23736 * include/grub/i386/relocator.h: New file.
23737 * include/grub/x86_64/relocator.h: Likewise.
23738 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23739 (XNU_RELOCATOR): New macro.
23740 (grub_xnu_launcher_start): Remove.
23741 (grub_xnu_launcher_end): Likewise.
23742 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23743 (grub_xnu_heap_real_start): Remove.
23744 (grub_xnu_heap_start): Change to void *. All users updated.
23745 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23746 * lib/i386/relocator.c: New file.
23747 * lib/i386/relocator_asm.S: Likewise.
23748 * lib/i386/relocator_backward.S: Likewise.
23749 * lib/mips/relocator.c: Likewise.
23750 * lib/mips/relocator_asm.S: Likewise.
23751 * lib/relocator.c: Likewise.
23752 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23753 (entry): Removed.
23754 (playground): Likewise.
23755 (grub_multiboot_payload_orig): New variable.
23756 (grub_multiboot_payload_dest): Likewise.
23757 (grub_multiboot_payload_size): Likewise.
23758 (grub_multiboot_payload_eip): Likewise.
23759 (grub_multiboot_payload_esp): Likewise.
23760 (grub_multiboot_boot): Use grub_relocator32_boot.
23761 (grub_multiboot_unload): Free relocators.
23762 (grub_multiboot): Setup stack. Use relocators.
23763 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23764 (grub_multiboot_load_elfXX): Use relocators.
23765 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23766 (grub_multiboot_payload_size): Likewise.
23767 (grub_multiboot_payload_dest): Likewise.
23768 (grub_multiboot_payload_entry_offset): Likewise.
23769 (grub_multiboot_forward_relocator): Likewise.
23770 (grub_multiboot_backward_relocator): Likewise.
23771 (grub_multiboot_real_boot): Likewise.
23772 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23773 (grub_xnu_entry_point): Likewise.
23774 (grub_xnu_arg1): Likewise.
23775 (grub_xnu_stack): Likewise.
23776 (grub_xnu_launch): Removed.
23777 (grub_xnu_boot_resume): New function.
23778 (grub_xnu_boot): Use relocators.
23779 * loader/i386/xnu_helper.S: Removed.
23780 * loader/xnu.c (grub_xnu_heap_start): New variable.
23781 (grub_xnu_heap_size): Likewise.
23782 (grub_xnu_heap_malloc): Use relocators.
23783 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23784
29eb90c6
VS
237852009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23786
23787 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23788 anything.
23789
31027430
CPE
237902009-12-13 Carles Pina i Estany <carles@pina.cat>
23791
23792 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23793 GRUB_ERR_NONE before calling grub_env_set.
23794
dc0c71d9
RM
237952009-12-12 Robert Millan <rmh@aybabtu.com>
23796
23797 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23798 * genmk.rb (video): New variable.
23799 (CLEANFILES, VIDEOFILES): Add #{video}.
23800 (#{video}): New target rule.
23801 * genvideolist.sh: New file.
23802 * Makefile.in (pkglib_DATA): Add video.lst.
23803 (video.lst): New target rule.
23804 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23805 `video.lst'.
23806 * util/grub.d/30_os-prober.in: Replace `vbe' with
23807 ${GRUB_VIDEO_BACKEND}.
23808
2a4bfcf0
RM
238092009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23810
23811 * THANKS: Add David Miller.
23812
2a3aa4d5
RM
238132009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 libpciaccess support.
23816
23817 * Makefile.in (LIBPCIACCESS): New variable.
23818 (enable_grub_emu_pci): Likewise.
23819 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23820 util/pci.c and commands/lspci.c.
23821 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23822 * configure.ac (grub-emu-pci): New option.
23823 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23824 (grub_pci_device_unmap_range): Likewise.
23825 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23826 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23827 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23828 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23829 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23830 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23831 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23832 * include/grub/pciutils.h: New file.
23833 * util/pci.c: Likewise.
23834
0ad46fd7 238352009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23836
23837 * util/misc.c: Don't include <errno.h> twice.
23838
0ad46fd7 238392009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23840
23841 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23842 name in an error message.
23843 (grub_biosdisk_rw): Likewise.
23844
2e59983c
VS
238452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23846
23847 Eliminate NTFS 4Gib barrier.
23848
23849 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23850 (read_run_data): Likewise.
23851 (grub_ntfs_read_run_list): Likewise.
23852 (grub_ntfs_read_block): Likewise.
23853 (grub_ntfs_iterate_dir): Likewise.
23854 (read_mft): Likewise.
23855 (read_data): Likewise.
23856 Use COM_LOG_LEN.
23857 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23858 to avoid 64-bit division
23859 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23860 (grub_ntfs_rlst): Use grub_disk_addr_t.
23861
71ee178a
VS
238622009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 Eliminate grub-fstest 4Gib barrier.
23865
23866 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23867 (read_file): Fix error reporting.
23868
2520d4b8
VS
238692009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23870
23871 Eliminate hexdump 4Gib barrier.
23872
23873 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23874 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23875
e1f27065
VS
238762009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23877
23878 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23879 Fixes amarsh bug.
23880
1a0f7f45
RM
238812009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23882
23883 Remove miscellaneous files in distclean target.
23884
23885 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23886
c631d9fb
CW
238872009-12-09 Colin Watson <cjwatson@ubuntu.com>
23888
23889 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23890 if they're already set. This resolves the conflict between my
23891 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23892 fixing the --grub-probe option again.
23893 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23894 change on 2009-10-06, so that we now once again source
23895 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23896
7c7b6106
RM
238972009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23898
23899 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23900 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23901 `util/devicemap.c'.
23902
e3069ec1
CPE
239032009-12-08 Carles Pina i Estany <carles@pina.cat>
23904
23905 * include/grub/misc.h (grub_printf_): New declaration.
23906 * kern/misc.c (grub_printf_): New definition.
23907 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23908 instead of `grub_printf' and `_'.
23909 * normal/menu_entry.c (store_completion): Likewise.
23910 (run): Likewise.
23911 (grub_menu_entry_run): Likewise.
23912 * normal/menu_text.c (grub_wait_after_message): Likewise.
23913 (notify_booting): Likewise.
23914 (notify_fallback): Likewise.
23915 (notify_execution_failure): Likewise.
23916
d6ceebf1
CW
239172009-12-07 Colin Watson <cjwatson@ubuntu.com>
23918
23919 * configure.ac: Check for vasprintf.
23920 * util/misc.c (asprintf): Move allocation from here ...
23921 (vasprintf): ... to here. New function.
23922 (xasprintf): New function.
23923 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23924 prototypes.
23925 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23926 * util/grub-mkfont.c (write_font): Likewise.
23927 * util/grub-probe.c (probe): Likewise.
23928 * util/hostdisk.c (make_device_name): Likewise.
23929
de6daa8b
DM
239302009-12-06 David S. Miller <davem@sunset.davemloft.net>
23931
23932 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23933 anything even prefixed with 'cdrom' as a cdrom.
23934
0ad46fd7 239352009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23936
23937 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23938 mount points.
23939
98d3dc02
CPE
239402009-12-05 Carles Pina i Estany <carles@pina.cat>
23941
23942 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23943 grub_gettext_msg_list.
23944 (grub_gettext_gettranslation_from_position): Return const char *
23945 and not char *.
a2c1332b 23946 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23947 returns from the list if existing there.
23948 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23949 (grub_gettext_delete_list): Delete the list.
23950 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23951 lang environment variable is changed.
23952 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23953
b283f108
VS
239542009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23955
23956 Rename kernel.mod to kernel.img.
23957
23958 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23959 (kernel_mod_EXPORTS): Rename to ...
23960 (kernel_img_EXPORTS): ... this.
23961 (kernel_mod_SOURCES): Rename to ...
23962 (kernel_img_SOURCES): ... this.
23963 (kernel_mod_HEADERS): Rename to ...
23964 (kernel_img_HEADERS): ... this. All users updated.
23965 (kernel_mod_CFLAGS): Rename to ...
23966 (kernel_img_CFLAGS): ... this.
23967 (kernel_mod_ASFLAGS): Rename to ...
23968 (kernel_img_ASFLAGS): ... this.
23969 (kernel_mod_LDFLAGS): Rename to ...
23970 (kernel_img_LDFLAGS): ... this.
23971 * conf/x86_64-efi.rmk: Likewise.
23972 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23973 (read_kernel_image): ... this. All users updated.
23974 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23975
69055f8a
CPE
239762009-12-05 Carles Pina i Estany <carles@pina.cat>
23977
23978 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23979 (print_spaces): New function.
23980 (grub_print_ucs4): New function.
23981 (getstringwidth): New function.
23982 (print_message_indented): New function.
23983 (print_message): Gettexttize strings using print_message_indented.
23984 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23985 width.
23986 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23987 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23988 Gettextize.
23989 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23990 string.
23991 (run): Likewise.
23992 (grub_menu_entry_run): Likewise.
23993 * PO/POTFILES: Add normal/menu_entry.c.
23994
f616f51c
VS
239952009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23996
23997 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23998
57bbe3be
CPE
239992009-12-05 Carles Pina i Estany <carles@pina.cat>
24000
24001 * util/grub-install.in: Install gettext .mo files.
24002 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24003
013d67a1
CPE
240042009-12-05 Carles Pina i Estany <carles@pina.cat>
24005
24006 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24007 grub_dprintf.
24008
fb954db0
RM
240092009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24010
24011 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24012 non-firmware-dependant one in realmode.S takes precedence.
24013
6b8474f8
RM
240142009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24015
24016 * commands/halt.c: Replace misc arch-specific headers with
24017 `<grub/misc.h>'.
24018 * commands/reboot.c: Likewise.
24019 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24020 `<grub/misc.h>'.
24021 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24022 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24023 (kernel_img_SOURCES): ... to here.
24024
24025 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24026 * include/grub/i386/pc/init.h: Likewise.
24027 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24028 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24029
24030 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24031
24032 * include/grub/i386/halt.h: Remove.
24033 * include/grub/i386/reboot.h: Likewise.
24034
24035 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24036
4b2e6ca2
DM
240372009-12-03 David S. Miller <davem@sunset.davemloft.net>
24038
24039 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24040 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24041 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24042 "progname.h"
24043 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24044 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24045 (usage): Add missing comma in printf.
24046
5239348f
RM
240472009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24048
24049 Use the same reboot approach on i386 coreboot and qemu as we do on
24050 BIOS.
24051
24052 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24053 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24054 * kern/i386/reboot.c: Remove.
24055 * include/grub/i386/reboot.h (grub_reboot): Export function.
24056 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24057 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24058 0xf000:0xfff0 instead of 0xffff:0x0000.
24059 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24060 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24061
ef34cbd4
RM
240622009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24063
24064 Fix $srcdir != $objdir build.
24065
24066 * Makefile.in (po/%.po): Rewrite as ...
24067 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24068
dc9837ea
ST
240692009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24070
24071 Fix GNU/Hurd grub-install crash.
24072 * util/grub-probe.c (probe): Try to access `path' only when it is not
24073 NULL.
24074
2f857f98
VS
240752009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24076
24077 Correct module naming.
24078
24079 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24080 (GRUB_MOD_INIT(efi_uga)): ... to this
24081 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24082 (GRUB_MOD_FINI(efi_uga)): ... to this
24083 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24084 (GRUB_MOD_INIT(efi_gop)): ... to this
24085 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24086 (GRUB_MOD_FINI(efi_gop)): ... to this
24087
c5448046
RM
240882009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24089
24090 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24091 translatable.
24092 (usage): Translate `arg' strings using gettext().
24093 Thanks to Jordi Mallach for the suggestion.
24094
c85184ad
VS
240952009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 GOP support. Based on patch from Bean
24098 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24099
24100 * video/efi_gop.c: New file.
24101 * include/grub/efi/graphics_output.h: Likewise.
24102 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24103 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24104 variables.
24105 * conf/x86_64-efi.rmk: Likewise.
24106
8a4c48d8
VS
241072009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24108
24109 Rename efi_fb to efi_uga.
24110
24111 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24112 'efi_uga.mod'.
24113 (efi_fb_mod_SOURCES): Rename this ...
24114 (efi_uga_mod_SOURCES): ... to this.
24115 (efi_fb_mod_CFLAGS): Rename this ...
24116 (efi_uga_mod_CFLAGS): ... to this.
24117 (efi_fb_mod_LDFLAGS): Rename this ...
24118 (efi_uga_mod_LDFLAGS): ... to this.
24119 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24120 'efi_uga.mod'.
24121 (efi_fb_mod_SOURCES): Rename this ...
24122 (efi_uga_mod_SOURCES): ... to this.
24123 (efi_fb_mod_CFLAGS): Rename this ...
24124 (efi_uga_mod_CFLAGS): ... to this.
24125 (efi_fb_mod_LDFLAGS): Rename this ...
24126 (efi_uga_mod_LDFLAGS): ... to this.
24127 * video/efi_fb.c: Move this ...
24128 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24129
fb6c1a7b
RM
241302009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24131
24132 * po/README: New file. Explain our PO file workflow.
24133
3bc7896c
RM
241342009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24135
24136 * po/ChangeLog: Remove. Move relevant entries back to ...
24137 * ChangeLog: ... here.
24138 * po/ca.po: Remove (now handled by TLP).
24139 * po/id.po: Likewise.
24140 * po/zh_CN.po: Likewise.
24141 * Makefile.in (LINGUAS): Initialize in a way that supports
24142 empty set.
24143
9ed4841d
RM
241442009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24145
24146 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24147 reliing on po/LINGUAS.
24148 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24149 (po/%.po): ... this.
24150
0ad46fd7 241512009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
24152
24153 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24154 (main): Use `program_name' instead of nonexistent `progname'.
24155
e30dd392
FZ
241562009-11-26 Felix Zielcke <fzielcke@z-51.de>
24157
24158 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24159 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24160
7656de4f
RM
241612009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24162
24163 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24164 commit.
24165 * conf/i386-efi.rmk: Likewise.
24166 * conf/i386-ieee1275.rmk: Likewise.
24167 * conf/powerpc-ieee1275.rmk: Likewise.
24168 * conf/sparc64-ieee1275.rmk: Likewise.
24169 * conf/x86_64-efi.rmk: Likewise.
24170
db77c4d4
FZ
241712009-11-26 Felix Zielcke <fzielcke@z-51.de>
24172
24173 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24174
a755bb04
FZ
241752009-11-26 Felix Zielcke <fzielcke@z-51.de>
24176
24177 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
24178
8a4c07fd
RM
241792009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24180
24181 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24182 (grub_mkdevicemap_SOURCES): New variable.
24183 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24184 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24185 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24186 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24187 (grub_mkdevicemap_SOURCES): Remove.
24188 * conf/i386-efi.rmk: Likewise.
24189 * conf/i386-ieee1275.rmk: Likewise.
24190 * conf/i386-pc.rmk: Likewise.
24191 * conf/powerpc-ieee1275.rmk: Likewise.
24192 * conf/sparc64-ieee1275.rmk: Likewise.
24193 * conf/x86_64-efi.rmk: Likewise.
24194 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24195 (usage): Fix strings to use `program_name'.
24196 (main): Initialize gettext.
24197 * util/grub-editenv.c: Likewise.
24198 * util/grub-emu.c: Likewise.
24199 * util/grub-fstest.c: Likewise.
24200 * util/grub-mkdevicemap.c: Likewise.
24201 * util/grub-mkfont.c: Likewise.
24202 * util/grub-mkrelpath.c: Likewise.
24203 * util/grub-pe2elf.c: Likewise.
24204 * util/grub-probe.c: Likewise.
24205 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24206 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24207 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24208
24209 * util/misc.c: Include `"progname.h"'.
24210 (progname): Remove variable.
24211 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24212
6f61ed55
FZ
242132009-11-25 Felix Zielcke <fzielcke@z-51.de>
24214
24215 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24216 printf and print a newline after the menuentry header line.
24217 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24218
f022876b
FZ
242192009-11-25 Felix Zielcke <fzielcke@z-51.de>
24220
24221 autoconf >= 2.60 support $(localedir).
24222
24223 * INSTALL: Note that autoconf 2.60 is required.
24224 * configure.ac (AC_PREREQ): Bump to 2.60.
24225 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24226 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24227
6717926e
YB
242282009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24229
24230 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24231 aclocal is run.
24232
08806a54
RM
242332009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24234
24235 * normal/main.c (grub_normal_read_line): Fix off-by-one
24236 buffer overflow.
24237
13b33fba
RM
242382009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24239
24240 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24241 "parser.grub" in grub_command_execute() call.
24242
4a8572e9
CPE
242432009-11-24 Carles Pina i Estany <carles@pina.cat>
24244
24245 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24246 * conf/i386-efi.rmk: Likewise.
24247 * conf/i386-ieee1275.rmk: Likewise.
24248 * conf/i386-pc.rmk: Likewise.
24249 * conf/powerpc-ieee1275.rmk: Likewise.
24250 * conf/sparc64-ieee1275.rmk: Likewise.
24251 * conf/x86_64-efi.rmk: Likewise.
24252 * gettext/gettex.c: Include <grub/i18n.h>.
24253 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24254 here ...
24255 * include/grub/i18n.h: ... to here
24256 * include/grub/i18n.h: ... to here.
24257 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 24258 (grub_gettext_dummy): Move above user.
4a8572e9 24259
bee48093
FZ
242602009-11-24 Felix Zielcke <fzielcke@z-51.de>
24261
24262 * util/Makefile.in (install-local): Convert a `for' into a normal
24263 shell expansion.
24264
a031e91c
RM
242652009-11-24 Robert Millan <rmh.grub@aybabtu.com>
24266
24267 * autogen.sh: Add automake call.
24268 * config.guess: Remove.
24269 * config.sub: Likewise.
24270 * install-sh: Likewise.
24271
26bec39d
FZ
242722009-11-24 Felix Zielcke <fzielcke@z-51.de>
24273
24274 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
24275
8e2532fd
FZ
242762009-11-24 Felix Zielcke <fzielcke@z-51.de>
24277
24278 * util/Makefile.in (install-local): Convert a make `$(foreach)'
24279 function to a normal shell `for'.
24280
fefa1b7d
FZ
242812009-11-24 Felix Zielcke <fzielcke@z-51.de>
24282
24283 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24284
4501250b
FZ
242852009-11-24 Felix Zielcke <fzielcke@z-51.de>
24286
24287 * util/grub-mkrelpath.c: New file.
24288 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
24289 (grub_mkrelpath_SOURCES): New variable.
24290 * include/grub/util/misc.h: New function prototype.
24291 * util/misc.c (make_system_path_relative_to_its_root): New function.
24292
24293 * util/grub-mkconfig_lib.in (bindir): New variable.
24294 (grub_mkrelpath): Likewise.
24295 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
24296
24297 * util/probe.c (probe): Make the file path relative to its root.
24298 Change a info message to use the GRUB path. Enable again the
24299 check if we can read the file with GRUB facilities.
24300
24301 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
24302 to its root.
24303
11d9778b
FZ
243042009-11-24 Felix Zielcke <fzielcke@z-51.de>
24305
24306 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
24307 platform.
24308
4465287d
FZ
243092009-11-24 Felix Zielcke <fzielcke@z-51.de>
24310
24311 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
24312 strncmp().
24313
62b47f22
FZ
243142009-11-24 Felix Zielcke <fzielcke@z-51.de>
24315
24316 * util/getroot.c (grub_util_is_dmraid): New function.
24317 (grub_util_get_dev_abstraction): Treat dmraid and multipath
24318 devices as normal ones, not as LVM.
24319
1eafb9b9 243202009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
24321
24322 * conf/common.rmk: Add grub-gettext_lib target and updates
24323 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
24324 LDFLAGS.
24325 * gettext/gettext.c: New file. (Reads mo files).
24326 * include/grub/file.h (grub_file_pread): New prototype.
24327 * include/grub/i18n.h (_): New prototype.
24328 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
24329 prototypes.
24330 * kern/misc.c (grub_gettext_dummy): New function.
24331 * normal/menu_text.c: Include <grub/i18n.h>.
24332 * normal/menu_text.c (print_timeout): Gettexttize string.
24333 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
24334 * po/POTFILES: Add `normal/menu_text.c'.
24335 * po/ca.po: Add new translations.
c3ea6bd4
CPE
24336 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
24337 gettext module and defines locale_dir and lang in grub.cfg.
24338 * NEWS: Add gettext support.
24339
0fdb2568
RM
243402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24341
24342 * util/hostdisk.c: Include `<grub/i18n.h>'.
24343 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
24344 (make_device_name): Rewrite using asprintf.
24345 (convert_system_partition_to_system_disk): Replace 0 with NULL.
24346 (find_system_device): If a device is not found, generate one just
24347 by reusing the OS path name.
24348 (read_device_map): Make it permissible for device.map not to exist.
24349
f515aa62
RM
243502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24351
24352 * script/sh/execute.c: Move from here ...
24353 * script/execute.c: ... to here. Update all users.
24354 * script/sh/function.c: Move from here ...
24355 * script/function.c: ... to here. Update all users.
24356 * script/sh/lexer.c: Move from here ...
24357 * script/lexer.c: ... to here. Update all users.
24358 * script/sh/main.c: Move from here ...
24359 * script/main.c: ... to here. Update all users.
24360 * script/sh/parser.y: Move from here ...
24361 * script/parser.y: ... to here. Update all users.
24362 * script/sh/script.c: Move from here ...
24363 * script/script.c: ... to here. Update all users.
24364
f84b481b
RM
243652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24366
24367 * configure.ac: Detect all `emu' platforms. Define
24368 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
24369 --enable-grub-emu logic. Disable include/grub/machine
24370 symlink on `emu' platforms.
24371
24372 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
24373 * gensymlist.sh.in: Likewise.
24374
24375 * include/grub/i386/coreboot/machine.h: Remove file.
24376 * include/grub/i386/efi/machine.h: Likewise.
24377 * include/grub/i386/ieee1275/machine.h: Likewise.
24378 * include/grub/i386/pc/machine.h: Likewise.
24379 * include/grub/i386/qemu/machine.h: Likewise.
24380 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24381 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24382 * include/grub/x86_64/efi/machine.h: Likewise.
24383
24384 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
24385 * commands/halt.c: Likewise.
24386 * commands/reboot.c: Likewise.
24387 * include/grub/autoefi.h: Likewise.
24388 * include/grub/i386/at_keyboard.h: Likewise.
24389 * include/grub/i386/kernel.h: Likewise.
24390 * include/grub/i386/loader.h: Likewise.
24391 * include/grub/i386/pc/memory.h: Likewise.
24392 * kern/dl.c: Likewise.
24393 * kern/i386/coreboot/init.c: Likewise.
24394 * loader/i386/bsd.c: Likewise.
24395 * loader/i386/linux.c: Likewise.
24396 * loader/multiboot_loader.c: Likewise.
24397 * term/i386/pc/serial.c: Likewise.
24398 * term/usb_keyboard.c: Likewise.
24399
24400 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
24401 `<grub/machine/machine.h>'
24402 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
24403 * util/misc.c: Remove `<grub/machine/machine.h>' and
24404 `<grub/machine/time.h>'.
24405
24406 * Makefile.in (enable_grub_emu): Remove variable.
24407 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
24408
24409 * conf/any-emu.rmk: New file.
24410 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
24411 (grub_emu_init.c): Move from here ...
24412 * conf/any-emu.rmk: ... to here.
24413
24414 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
24415 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
24416 * conf/any-emu.rmk: ... to here.
24417
4efeab03
RM
244182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24419
24420 * include/grub/parser.h (grub_parser_register): Document need
24421 of `name' parameter.
24422 * normal/main.c (grub_normal_read_line): Simplify prompt string.
24423 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
24424 "sh" to "grub".
24425
ea1dd8bf
RM
244262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24427
24428 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
24429 `$(XGETTEXT)'.
24430 * include/grub/i18n.h (N_): New macro.
24431 * util/mkisofs/mkisofs.h: Likewise.
24432 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
24433 around N_().
24434 (usage): Use gettext() to translate help strings when printing them.
24435
0c140626
RM
244362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24437
24438 Based on patch from Bean
24439 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24440
24441 * video/efi_fb.c: New file.
24442 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
24443 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24444 variables.
24445 * conf/x86_64-efi.rmk: Likewise.
24446
87d58298
RM
244472009-11-22 Robert Millan <rmh.grub@aybabtu.com>
24448
24449 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
24450 * util/i386/pc/grub-setup.c: Likewise.
24451
994cc3a3
ST
244522009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24453
24454 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
24455 <hurd/fs.h>
24456 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
24457 file_get_storage_info to implement grub_guess_root_device.
24458
26a61d6a
FZ
244592009-11-21 Felix Zielcke <fzielcke@z-51.de>
24460
24461 * Makefile.in (target): Use make's builtin $(shell) function
24462 instead of calling directly $(SHELL) to create the locale directories,
24463 inside the $(foreach) function.
24464
74ff1dd5
FZ
244652009-11-21 Felix Zielcke <fzielcke@z-51.de>
24466
24467 * util/grub-mkrescue.in: Print an error and usage if output option
24468 has not been given.
24469
0b787d0e
FZ
244702009-11-21 Felix Zielcke <fzielcke@z-51.de>
24471
24472 Patch from Loïc Minier <loic.minier@ubuntu.com>.
24473 * util/grub.d/30_os-prober.in: Cope with Linux entries where
24474 root and /boot are on different devices.
24475
1164b270
RM
244762009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24477
24478 Fix build for srcdir != objdir.
24479
24480 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
24481 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
24482 $(srcdir).
24483 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
24484 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
24485 reference for input.
24486
13774a2f
RM
244872009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24488
24489 * util/grub-mkrescue.in: Use source directory direcly (without copiing
24490 or hardlinking it). Remove -J option, Joliet is not compatible with
24491 multiple source directories.
24492
efda854e
RM
244932009-11-21 Carles Pina i Estany <carles@pina.cat>
244942009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24495
24496 * util/grub-mkrescue.in: Recognize `--override-directory' option.
24497 (process_input_dir): New function. Process an arbitrary input
24498 directory.
24499 Misc adjustments to support both "override mode" and system-wide mode.
24500
6c09890c
FZ
245012009-11-20 Felix Zielcke <fzielcke@z-51.de>
24502
24503 * configure.ac (UNIFONT_BDF): Rename to ...
24504 (FONT_SOURCE): ... this. Update all users.
24505
a797824f
FZ
245062009-11-20 Felix Zielcke <fzielcke@z-51.de>
24507
24508 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
24509 to the list of unifont files to look for.
24510
cd4f42b0
RM
245112009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24512
24513 Patch from Joe Auricchio <jauricchio@gmail.com>
24514 * commands/minicmd.c (grub_mini_cmd_clear): New function.
24515 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
24516 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
24517
393c783d
FZ
245182009-11-19 Felix Zielcke <fzielcke@z-51.de>
24519
24520 * Makefile.in (install-local): Add a missing backslash.
24521
b2f1e327
FZ
245222009-11-19 Felix Zielcke <fzielcke@z-51.de>
24523
24524 * include/grub/x86_64/io.h: New file.
24525
f577f7a0
RM
245262009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24527
24528 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
24529 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
24530 Include `"progname.h"'.
24531 (main): Initialize gettext.
24532 * util/i386/pc/grub-setup.c: Gettexttize.
24533 * util/i386/pc/grub-mkimage.c: Likewise.
24534
24535 * Makefile.in (po/*.po): Redefine as ...
24536 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
24537
3bc7896c
RM
24538 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
24539
c37943b6
RM
245402009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24541
24542 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
24543 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
24544 (program_name): Remove.
24545 (main): Initialize gettext support.
6323f705
RM
24546 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
24547 Include `<libintl.h>'.
24548 (_): New macro.
c37943b6
RM
24549
24550 * util/mkisofs/eltorito.c: Gettexttize.
24551 * util/mkisofs/joliet.c: Likewise.
24552 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
24553 * util/mkisofs/multi.c: Likewise.
24554 * util/mkisofs/rock.c: Likewise.
24555 * util/mkisofs/tree.c: Likewise.
24556 * util/mkisofs/write.c: Likewise.
24557
3bc7896c
RM
24558 * po/POTFILES: Update with new files.
24559
5ce77c6e
RM
245602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24561
24562 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
24563 * util/mkisofs/iso9660.h: Likewise.
24564 * util/mkisofs/joliet.c: Likewise.
24565 * util/mkisofs/mkisofs.c: Likewise.
24566 * util/mkisofs/mkisofs.h: Likewise.
24567 * util/mkisofs/rock.c: Likewise.
24568 * util/mkisofs/tree.c: Likewise.
24569 * util/mkisofs/write.c: Likewise.
24570
24571 * util/mkisofs/eltorito.c (rcsid): Remove.
24572 * util/mkisofs/hash.c: Likewise.
24573 * util/mkisofs/joliet.c: Likewise.
24574 * util/mkisofs/name.c: Likewise.
24575 * util/mkisofs/rock.c: Likewise.
24576 * util/mkisofs/tree.c: Likewise.
24577 * util/mkisofs/write.c: Likewise.
24578
1dabbc77
RM
245792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24580
24581 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
24582 instead of static allocation.
24583 * util/mkisofs/match.h: Likewise.
24584
633877cb
RM
245852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24586
3bc7896c
RM
24587 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
24588 and `util/grub.d/10_linux.in'.
633877cb
RM
24589 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
24590 translatable Shell files.
24591
af1c0c85
RM
245922009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24593
24594 * Makefile.in ($(srcdir)/aclocal.m4): New target.
24595
769ae37b
RM
245962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24597
24598 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 24599 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
24600 * util/grub.d/10_kfreebsd.in (bindir): New variable.
24601 Add gettext initialization.
24602 (kfreebsd_entry): Make menuentry output translatable.
24603
246042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24605
24606 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
24607 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
24608 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
24609 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
24610 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 24611 * po/LINGUAS: New file.
769ae37b
RM
24612
246132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24614
24615 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
24616 other things).
24617 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
24618 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
24619 bindtextdomain() calls for gettext initialization.
24620
246212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24622
24623 * gnulib/progname.c: New file (imported from Gnulib).
24624 * gnulib/progname.h: Likewise.
24625 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24626 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24627 (usage): Replace `progname' with `program_name'.
24628 (main): Use set_program_name() for program name initialization.
24629
246302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24631
24632 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24633 from here ...
24634 * Makefile.in (CPPFLAGS): ... to here.
24635
246362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24637
24638 * aclocal.m4: Move from here ...
24639 * acinclude.m4: ... to here.
24640 * autogen.sh: Add call to `aclocal'.
24641 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24642
246432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24644
24645 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24646 (LINGUAS): New variable.
24647 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24648 (install-local): Install MO files.
24649 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24650 * include/grub/i18n.h: New file.
3bc7896c
RM
24651 * po/POTFILES: New file.
24652 * po/ca.po: New file.
769ae37b
RM
24653 * util/grub.d/10_linux.in (bindir): New variable.
24654 Add gettext initialization.
24655 (linux_entry): Make menuentry output translatable.
24656 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24657 (usage): Make --help output translatable.
24658 (main): Initialize gettext.
24659
02c0a6ad
RM
246602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24661
24662 * import_gcry.py: New file (written by Vladimir with minor
24663 adjustments).
24664 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24665 ciphers.
24666 * INSTALL: Document that Python is required for bootstrap.
24667
246682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24669
24670 Import ciphers from libgcrypt 1.4.4.
24671
24672 * lib/libgcrypt/cipher/ChangeLog
24673 * lib/libgcrypt/cipher/ac.c
24674 * lib/libgcrypt/cipher/arcfour.c
24675 * lib/libgcrypt/cipher/bithelp.h
24676 * lib/libgcrypt/cipher/blowfish.c
24677 * lib/libgcrypt/cipher/camellia-glue.c
24678 * lib/libgcrypt/cipher/camellia.c
24679 * lib/libgcrypt/cipher/camellia.h
24680 * lib/libgcrypt/cipher/cast5.c
24681 * lib/libgcrypt/cipher/cipher.c
24682 * lib/libgcrypt/cipher/crc.c
24683 * lib/libgcrypt/cipher/des.c
24684 * lib/libgcrypt/cipher/dsa.c
24685 * lib/libgcrypt/cipher/ecc.c
24686 * lib/libgcrypt/cipher/elgamal.c
24687 * lib/libgcrypt/cipher/hash-common.c
24688 * lib/libgcrypt/cipher/hash-common.h
24689 * lib/libgcrypt/cipher/hmac-tests.c
24690 * lib/libgcrypt/cipher/md.c
24691 * lib/libgcrypt/cipher/md4.c
24692 * lib/libgcrypt/cipher/md5.c
24693 * lib/libgcrypt/cipher/primegen.c
24694 * lib/libgcrypt/cipher/pubkey.c
24695 * lib/libgcrypt/cipher/rfc2268.c
24696 * lib/libgcrypt/cipher/rijndael-tables.h
24697 * lib/libgcrypt/cipher/rijndael.c
24698 * lib/libgcrypt/cipher/rmd.h
24699 * lib/libgcrypt/cipher/rmd160.c
24700 * lib/libgcrypt/cipher/rsa.c
24701 * lib/libgcrypt/cipher/seed.c
24702 * lib/libgcrypt/cipher/serpent.c
24703 * lib/libgcrypt/cipher/sha1.c
24704 * lib/libgcrypt/cipher/sha256.c
24705 * lib/libgcrypt/cipher/sha512.c
24706 * lib/libgcrypt/cipher/tiger.c
24707 * lib/libgcrypt/cipher/twofish.c
24708 * lib/libgcrypt/cipher/whirlpool.c
24709
af2f93ac
RM
247102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24711
24712 Fix build for systems without error().
24713
24714 * gnulib/error.c: New file (imported from Gnulib).
24715 * gnulib/error.h: Likewise.
24716 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24717 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24718 (this variable is now used by error()).
24719
73fb3dd5
FZ
247202009-11-16 Felix Zielcke <fzielcke@z-51.de>
24721
814f5e96
FZ
24722 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24723 instead of relying that char is signed.
73fb3dd5 24724
a691ca33
VS
247252009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24726
24727 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24728 blocksize different from specified.
24729 (grub_pxefs_read): Likewise.
24730
2af8f0f4
FZ
247312009-11-16 Felix Zielcke <fzielcke@z-51.de>
24732
24733 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24734
24735 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24736 (grub_ata_readwrite): Likewise. Update 2 format strings.
24737 (grub_atapi_read): Likewise.
24738
24739 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24740 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24741 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24742 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24743 (ata_mod_LDFLAGS): Move from here ...
24744 * conf/i386.rmk: ... to here ...
24745 * conf/x86_64-efi.rmk: ... and here.
24746 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24747 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24748
83bdecaf
RM
247492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24750
24751 Relicense multiboot.h, with RMS' blessing.
24752
24753 * include/multiboot.h: Change to X11 license.
24754
fd6fd3d7
RM
247552009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24756
24757 Support --version in grub-mkisofs.
24758
24759 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24760 (OPTION_VERSION): New macro.
24761 (ld_options): Recognize --version.
24762 (usage): Move `program_name' from here ...
24763 (program_name): ... to here. Add `static' qualifier.
24764 (main): Recognize `OPTION_VERSION'.
24765
16a88c49
FZ
247662009-11-15 Felix Zielcke <fzielcke@z-51.de>
24767
24768 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24769 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24770
a4158476
RM
247712009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24772
24773 Fix help2man generation for mkisofs.
24774
24775 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24776 (usage): Send output to stdout (rather than stderr).
24777
fc2208b0
RM
247782009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24779
24780 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24781 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24782 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24783 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24784 (bin_SCRIPTS): Add `grub-mkfloppy'.
24785 (grub_mkfloppy_SOURCES): New variable.
24786
24787 * util/grub-mkrescue.in: New file.
24788 * util/i386/pc/grub-mkfloppy.in: New file.
24789
24790 * util/i386/coreboot/grub-mkrescue.in: Remove.
24791 * util/i386/pc/grub-mkrescue.in: Remove.
24792
8d0edf4a
RM
247932009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24794
24795 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24796 from here ...
24797 * include/multiboot.h (struct multiboot_header): ... to here. Update
24798 all users.
24799 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24800 from here ...
24801 * include/multiboot.h (struct multiboot_info): ... to here. Update
24802 all users.
24803 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24804 from here ...
24805 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24806 Update all users.
24807 * include/grub/multiboot.h (struct grub_mod_list): Move
24808 from here ...
24809 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24810 Update all users.
24811
a73f5969
RM
248122009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24813
24814 * include/multiboot2.h (multiboot_word): Rename from this ...
24815 (multiboot2_word): ... to this. Update all users.
24816 (multiboot_header): Rename from this ...
24817 (multiboot2_header): ... to this. Update all users.
24818 (multiboot_tag_header): Rename from this ...
24819 (multiboot2_tag_header): ... to this. Update all users.
24820 (multiboot_tag_start): Rename from this ...
24821 (multiboot2_tag_start): ... to this. Update all users.
24822 (multiboot_tag_name): Rename from this ...
24823 (multiboot2_tag_name): ... to this. Update all users.
24824 (multiboot_tag_module): Rename from this ...
24825 (multiboot2_tag_module): ... to this. Update all users.
24826 (multiboot_tag_memory): Rename from this ...
24827 (multiboot2_tag_memory): ... to this. Update all users.
24828 (multiboot_tag_unused): Rename from this ...
24829 (multiboot2_tag_unused): ... to this. Update all users.
24830 (multiboot_tag_end): Rename from this ...
24831 (multiboot2_tag_end): ... to this. Update all users.
24832
1c8927f0
RM
248332009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24834
24835 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24836 this platform we should support Multiboot1 first.
24837
24838 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24839 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24840 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24841
6e1e0d89
RM
248422009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24843
24844 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24845 of write calls (converting them to fwrite() if they aren't already).
24846 (get_torito_desc): Likewise.
24847 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24848
7f2b34d8
RM
248492009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24850
24851 * util/i386/pc/grub-install.in: Move from here ...
24852 * util/grub-install.in: ... to here. Update all users.
24853
c0ef3311
CW
248542009-11-11 Colin Watson <cjwatson@ubuntu.com>
24855
24856 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24857
e1f240ff
RM
248582009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24859
24860 Support for El Torito without floppy emulation.
24861
24862 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24863 (init_boot_catalog): Improve error handling.
24864 (get_torito_desc): Don't use floppy emulation unless requested by
24865 user. Patch boot information table when requested via
24866 `-boot-info-table'.
24867 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24868 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24869 (use_boot_info_table): New variables.
24870 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24871 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24872 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24873 `--eltorito-emul-floppy'.
24874 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24875 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24876 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24877 (use_boot_info_table, get_731): New prototypes.
24878 * util/mkisofs/write.c (get_731): New function.
24879
af7d4de5
FZ
248802009-11-11 Felix Zielcke <fzielcke@z-51.de>
24881
24882 Fix the generation of the man page.
24883
24884 * util/pc/i386/grub-install.in: Source
24885 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24886
2c55dbc0
RM
248872009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24888
24889 Large file support for grub-mkisofs.
24890
24891 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24892 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24893 (session_start): Upgrade type to `uint64_t'. Update all users.
24894 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24895 (struct directory_entry): Upgrade type of `starting_block' and
24896 `size' to `uint64_t'. Update all users.
24897 (struct deferred): Remove unused structure.
24898 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24899 Update all users.
24900 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24901 file is larger than `UINT32_MAX'.
24902 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24903 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24904 return value.
24905 (struct deferred_write): Upgrade type of `extent' and `size' to
24906 `uint64_t'. Update all users.
24907 (last_extent_written): Upgrade type to `uint64_t'. Update all
24908 users.
24909 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24910 Update all users. Upgrade type of `remain' to `int64_t' and
24911 `use' to `size_t'. Use error() to handle fread() errors.
24912 (write_files): Rely on write_one_file() rather than calling
24913 xfwrite() directly.
24914
6a9cead5
FZ
249152009-11-09 Felix Zielcke <fzielcke@z-51.de>
24916
24917 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24918
4825d790
RM
249192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24920
24921 * util/mkisofs/fnmatch.c: Remove.
24922 * util/mkisofs/getopt1.c: Likewise.
24923 * util/mkisofs/getopt.c: Likewise.
24924 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24925 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24926 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24927 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24928 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24929
24930 * configure.ac: Detect `mingw32msvc' host_os.
24931 Check for lstat(), getuid() and getgid().
24932
24933 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24934 instances of `u_char' with `uint8_t'.
24935
24936 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24937 [!HAVE_GETUID] (getuid): New function (stub).
24938 [!HAVE_GETGID] (getgid): Likewise.
24939 [!HAVE_LSTAT] (lstat): Likewise.
24940 [!S_IROTH] (S_IROTH): New macro (dummy).
24941 [!S_IRGRP] (S_IRGRP): Likewise.
24942
84b860d8
RM
249432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24944
24945 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24946 conditional expression).
24947
66e9b712
RM
249482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24949
24950 Import from Gnulib.
24951
24952 * gnulib/fnmatch.c: New file.
24953 * gnulib/fnmatch.h: Likewise.
24954 * gnulib/fnmatch_loop.c: Likewise.
24955 * gnulib/getopt.c: Likewise.
24956 * gnulib/getopt.h: Likewise.
24957 * gnulib/getopt1.c: Likewise.
24958 * gnulib/getopt_int.h: Likewise.
24959 * gnulib/gettext.h: Likewise.
24960
34f4a5b0
RM
249612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24962
24963 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24964 * normal/handler.c (read_handler_list): Likewise.
24965
ac451143
RM
249662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24967
24968 Misc cleanup.
24969
24970 * kern/command.c (grub_register_command_prio): Use
24971 grub_zalloc() instead of explicitly zeroing data.
24972 * kern/list.c: Include `<grub/mm.h>'.
24973 (grub_named_list_find): Replace `0' with `NULL'.
24974 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24975 (fs_module_list): Change type to `grub_named_list_t'. Update all
24976 users.
24977 * normal/dyncmd.c (read_command_list): Add space between function
24978 call and parenthesis.
24979 * normal/handler.c (read_handler_list): Likewise.
24980
4089b167
RM
249812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24982
24983 * normal/auth.c (punishment_delay): Moved from here ...
24984 (grub_auth_strcmp): ... to here (inside function).
24985
325f5037
RM
249862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24987
24988 * include/grub/list.h (struct grub_named_list): Remove `const'
24989 qualifier from `name'.
24990 (struct grub_prio_list): Likewise.
24991
7aea29a3
RM
249922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24993
24994 * normal/auth.c: Include `<grub/time.h>'.
24995 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24996
3fd6f044
RM
249972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24998
24999 * normal/auth.c (punishment_delay): New variable.
25000 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25001 (grub_auth_check_authentication): Punish failed login attempts with
25002 an incremental (2^N) delay.
25003
a4cd68e4
RM
250042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25005
25006 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25007 path with $(srcdir).
25008
7ad12f43
VS
250092009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25010
25011 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25012
c1129f03
RM
250132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25014
25015 * util/i386/coreboot/grub-mkrescue.in: New file.
25016 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25017 variables.
25018
25019 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25020 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25021 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25022 requirements.
25023 * util/mkisofs/defaults.h: New file.
25024 * util/mkisofs/eltorito.c: Likewise.
25025 * util/mkisofs/exclude.h: Likewise.
25026 * util/mkisofs/fnmatch.c: Likewise.
25027 * util/mkisofs/getopt.c: Likewise.
25028 * util/mkisofs/getopt1.c: Likewise.
25029 * util/mkisofs/hash.c: Likewise.
25030 * util/mkisofs/include/fctldefs.h: Likewise.
25031 * util/mkisofs/include/mconfig.h: Likewise.
25032 * util/mkisofs/include/prototyp.h: Likewise.
25033 * util/mkisofs/include/statdefs.h: Likewise.
25034 * util/mkisofs/iso9660.h: Likewise.
25035 * util/mkisofs/joliet.c: Likewise.
25036 * util/mkisofs/match.c: Likewise.
25037 * util/mkisofs/match.h: Likewise.
25038 * util/mkisofs/mkisofs.c: Likewise.
25039 * util/mkisofs/mkisofs.h: Likewise.
25040 * util/mkisofs/multi.c: Likewise.
25041 * util/mkisofs/name.c: Likewise.
25042 * util/mkisofs/rock.c: Likewise.
25043 * util/mkisofs/tree.c: Likewise.
25044 * util/mkisofs/write.c: Likewise.
25045
ec8bb77d
VS
250462009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25049 being insecure.
25050
3716b12c
RM
250512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25052
25053 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25054 `grub-mkimage' (and use $0 when possible).
25055
b97b7b91
RM
250562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25057
25058 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25059 error message for excessively large memory map.
25060
04114812
RM
250612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25062
25063 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25064 executable bit.
25065
e4eb2373
RM
250662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25067
25068 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25069 message for coreboot users.
25070
c926e1d5 250712009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25072
25073 Fix build with GNU gold.
25074
25075 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25076 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25077 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25078 link addresses.
25079 * aclocal.m4: Likewise.
25080
86e5b1db 250812009-11-04 Felix Zielcke <fzielcke@z-51.de>
25082
25083 * configure.ac (AC_PREREQ): Bump to 2.59d.
25084 * INSTALL: Make it more clear when Autoconf and Ruby are
25085 needed and when to run `./autogen.sh'.
25086
246cd78f 250872009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25088
25089 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25090 OSes.
25091
4f9dfb37 250922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25093
25094 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25095
b82bd5e1 250962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25097
25098 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25099 giving it to GNU Mach.
25100
ff1a9bca 251012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25102
25103 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25104 GNU partition number to get internal GRUB partition number.
25105
61697d9c 251062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25107
25108 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25109 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25110
a50569e1 251112009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25112
25113 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25114 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25115 case.
25116
5b153867 251172009-11-01 Felix Zielcke <fzielcke@z-51.de>
25118
25119 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25120
d9e2cd70 251212009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25122
25123 Fix build problem.
25124
25125 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25126 `-isystem=$(srcdir)/include'.
25127
805111a4 251282009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25129
25130 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25131 checked (grub-install doesn't currently rely on it).
25132
fa6e945f 251332009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25134
25135 Revert SVN r2660.
25136
25137 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25138 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25139 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25140 * conf/i386-ieee1275.rmk: Likewise.
25141 * conf/i386-pc.rmk: Likewise.
25142 * conf/powerpc-ieee1275.rmk: Likewise.
25143 * conf/sparc64-ieee1275.rmk: Likewise.
25144 * conf/x86_64-efi.rmk: Likewise.
25145
cee15086 251462009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25147
25148 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25149
95b9239e 251502009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25151
25152 * include/grub/misc.h: Stop checking for APPLE_CC.
25153
2ed19dfd 251542009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25155
25156 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25157 doesn't cause an infinite call loop.
25158
fdcdde19 251592009-10-28 Felix Zielcke <fzielcke@z-51.de>
25160
25161 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25162 strings.
25163
cefabfe1 251642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25165
25166 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25167 variable.
25168 * Makefile.in: Likewise.
25169
ed96ab6d 251702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25171
25172 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25173
0579b753 251742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25175
25176 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
25177
478df409 251782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25179
25180 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25181
083d1679 251822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25183
25184 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25185 from here ...
25186 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25187
5947ae32 251882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25189
25190 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25191 in $(MAKEINFO) invocation. This makes it clear in output that
25192 errors are being ignored.
25193
94180ff6 251942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25195
25196 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25197 from here ...
25198 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25199 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25200 * conf/i386-ieee1275.rmk: Likewise.
25201 * conf/i386-pc.rmk: Likewise.
25202 * conf/powerpc-ieee1275.rmk: Likewise.
25203 * conf/sparc64-ieee1275.rmk: Likewise.
25204 * conf/x86_64-efi.rmk: Likewise.
25205
9031b03a 252062009-10-26 Colin Watson <cjwatson@ubuntu.com>
25207
25208 * util/grub-editenv.c (main): If only a command is given, use
25209 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25210 (usage): FILENAME is now optional and has a default.
25211
e4f6809b 252122009-10-26 Colin Watson <cjwatson@ubuntu.com>
25213
25214 Improve grub-mkconfig performance when there are several menu
25215 entries on a single filesystem.
25216
25217 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25218 prepare_grub_to_access_device.
25219 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25220 * util/grub.d/30_os-prober.in: Likewise.
25221
67937d4d 252222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25223
25224 * util/grub.d/10_freebsd.in: Remove.
25225 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25226 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25227
ee3756cc 252282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25229
5c35048e 25230 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 25231
4dea1c6f 252322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25233
25234 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25235 grub_util_error() call.
25236
042484d7 252372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25238
25239 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25240 `reserved_first_sector' member.
25241 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25242 `reserved_first_sector' to 1.
25243 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25244 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25245 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25246 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25247 filesystems which begin at first sector.
25248 (options): New option --skip-fs-probe.
25249 (main): Handle --skip-fs-probe and pass it to setup().
25250
d64448a7 252512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25252
25253 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25254 (memset): Fix function prototype.
25255
508d42ec 252562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
252572009-10-25 Vasily Averin <vvs@parallels.com>
25258
25259 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
25260 `dirent.direntlen == 0'.
25261
b240e30c 252622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25263
25264 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
25265 `cpio'.
25266 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
25267
346e7fbe 252682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25269
25270 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
25271 `__trampoline_setup' and `__ucmpdi2'.
25272 * include/grub/powerpc/libgcc.h: Only export symbols for functions
25273 that libgcc provides.
25274
cdb308b0 252752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25276
25277 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
25278 * include/grub/sparc64/libgcc.h (memset): Likewise.
25279 * include/grub/misc.h (memset, memcmp): New function prototypes.
25280
fb26abc2 252812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25282
25283 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
25284 `cpio'.
25285 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
25286
f6693890 252872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25288
25289 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
25290 * docs/grub.cfg: Compensate for recent change in multiboot
25291 loader (since 2009-08-14 it won't pass filename to payload).
25292 * util/grub.d/10_hurd.in: Likewise.
25293
0933cdc0 252942009-10-21 Felix Zielcke <fzielcke@z-51.de>
25295
25296 * config.guess: Update to latest version from config git
25297 repository.
25298 * config.sub: Likewise.
25299
3b2fe8c2 253002009-10-20 Robert Millan <rmh.grub@aybabtu.com>
25301
25302 Fix build on sparc64.
25303
25304 * configure.ac: Perform checks for libgcc symbols before
25305 adding `-nostdlib' to LDFLAGS.
25306
46695a62 253072009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25308
25309 Let user specify OpenBSD root device.
25310
25311 * loader/i386/bsd.c (openbsd_root): New variable.
25312 (openbsd_opts): New option 'root'.
25313 (OPENBSD_ROOT_ARG): New macro.
25314 (grub_openbsd_boot): Use 'openbsd_root'.
25315 (grub_cmd_openbsd): Fill 'openbsd_root'.
25316
d2b6b7fc 253172009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25318
25319 * NEWS: Misc adjustments.
25320
421bd7ac 253212009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25322
25323 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
25324
f1d29d87 253252009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25326
25327 * configure.ac: Bump version to 1.97.
25328
6f3cd880 253292009-10-16 Colin Watson <cjwatson@ubuntu.com>
25330
25331 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
25332 -mno-3dnow on x86 architectures. Some toolchains enable these
25333 features by default, but they rely on registers that aren't enabled
25334 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
25335
035f7122 253362009-10-15 Robert Millan <rmh.grub@aybabtu.com>
25337
25338 Make entry text a bit more readable.
25339
25340 * util/grub.d/10_linux.in: Add `with' before `Linux'.
25341
44998e58 253422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
25345
cd2851b3 253462009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25347
25348 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
25349 operations.
25350
c6f3b249 253512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25352
25353 * configure.ac: Add missing dollar.
25354
6b5886ba 253552009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25356
25357 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
25358
25359 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
25360 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
25361 exports.
25362 * include/grub/sparc64/libgcc.h: Likewise. Use
25363 preprocessor conditionals.
25364
e9d66f6d 253652009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25366
25367 * conf/common.rmk (grub-dumpbios): Remove rule.
25368 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
25369 * util/grub-dumpbios.in: Remove file.
25370
9155bc17 253712009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25372
25373 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
25374 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
25375
25376 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
25377 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
25378 users.
25379
25380 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
25381 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
25382 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
25383 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
25384 users.
25385
bf7f7a18 253862009-10-12 Robert Millan <rmh.grub@aybabtu.com>
25387
25388 * term/tparm.c: Switch to GPLv3.
25389
86564c26 253902009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25391
25392 * include/grub/i386/cpuid.h: Add header protection.
25393
5c936493 253942009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25395
25396 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
25397
25398 * include/grub/i386/cpuid.h: New file.
25399 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
25400 (has_longmode): Rename to ...
25401 (grub_cpuid_has_longmode): ... this. Update all users. Remove
25402 `static' attribute.
25403 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
25404 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
25405 on a CPU that doesn't implement AMD64 instruction set.
25406
186e7cf2 254072009-10-06 Colin Watson <cjwatson@ubuntu.com>
25408
25409 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
25410 that version.texi is rebuilt on version number changes.
25411
83b65c4a 254122009-10-06 Colin Watson <cjwatson@ubuntu.com>
25413
25414 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
25415 Fixes bug #27602.
25416
d244281c 254172009-10-06 Colin Watson <cjwatson@ubuntu.com>
25418
25419 * util/i386/pc/grub-install.in: Source
25420 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
25421 that the --grub-probe option will work.
25422 * util/sparc64/ieee1275/grub-install.in: Likewise.
25423
da25306d 254242009-10-05 Robert Millan <rmh.grub@aybabtu.com>
25425
25426 * configure.ac: Bump version to 1.97~beta4.
25427
e8ee83c0 254282009-10-03 Robert Millan <rmh.grub@aybabtu.com>
25429
25430 Resync grub-mkdevicemap in x86_64-efi.
25431
25432 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
25433 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
25434 `util/devicemap.c'.
25435
50dcabcf 254362009-10-01 Colin Watson <cjwatson@ubuntu.com>
25437
25438 * util/grub-editenv.c (create_envblk_file): Write new block with a
25439 .new suffix and then rename it into place, to ensure atomic
25440 creation.
25441
0e51c3a7 254422009-09-28 Robert Millan <rmh.grub@aybabtu.com>
25443
25444 Do not automatically install headers.
25445
25446 * Makefile.in (include_DATA): Remove. Update all users.
25447
31299a95 254482009-09-26 Robert Millan <rmh.grub@aybabtu.com>
25449
25450 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
25451 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
25452
25453 * util/osdetect.lua: Remove.
25454 * script/lua/lauxlib.c: Likewise.
25455 * script/lua/ldebug.c: Likewise.
25456 * script/lua/grub_main.c: Likewise.
25457 * script/lua/lauxlib.h: Likewise.
25458 * script/lua/ldebug.h: Likewise.
25459 * script/lua/ltablib.c: Likewise.
25460 * script/lua/liolib.c: Likewise.
25461 * script/lua/lstrlib.c: Likewise.
25462 * script/lua/lualib.h: Likewise.
25463 * script/lua/ldo.c: Likewise.
25464 * script/lua/ldump.c: Likewise.
25465 * script/lua/ldo.h: Likewise.
25466 * script/lua/loslib.c: Likewise.
25467 * script/lua/lundump.c: Likewise.
25468 * script/lua/grub_lib.c: Likewise.
25469 * script/lua/ldblib.c: Likewise.
25470 * script/lua/lundump.h: Likewise.
25471 * script/lua/lmem.c: Likewise.
25472 * script/lua/grub_lib.h: Likewise.
25473 * script/lua/lmathlib.c: Likewise.
25474 * script/lua/lstate.c: Likewise.
25475 * script/lua/ltm.c: Likewise.
25476 * script/lua/lvm.c: Likewise.
25477 * script/lua/lmem.h: Likewise.
25478 * script/lua/lstate.h: Likewise.
25479 * script/lua/ltm.h: Likewise.
25480 * script/lua/ltable.c: Likewise.
25481 * script/lua/lvm.h: Likewise.
25482 * script/lua/llex.c: Likewise.
25483 * script/lua/lgc.c: Likewise.
25484 * script/lua/grub_lua.h: Likewise.
25485 * script/lua/loadlib.c: Likewise.
25486 * script/lua/lfunc.c: Likewise.
25487 * script/lua/lopcodes.c: Likewise.
25488 * script/lua/lparser.c: Likewise.
25489 * script/lua/ltable.h: Likewise.
25490 * script/lua/llex.h: Likewise.
25491 * script/lua/lgc.h: Likewise.
25492 * script/lua/lfunc.h: Likewise.
25493 * script/lua/lbaselib.c: Likewise.
25494 * script/lua/lopcodes.h: Likewise.
25495 * script/lua/lparser.h: Likewise.
25496 * script/lua/lzio.c: Likewise.
25497 * script/lua/linit.c: Likewise.
25498 * script/lua/lobject.c: Likewise.
25499 * script/lua/llimits.h: Likewise.
25500 * script/lua/lstring.c: Likewise.
25501 * script/lua/lzio.h: Likewise.
25502 * script/lua/lapi.c: Likewise.
25503 * script/lua/lcode.c: Likewise.
25504 * script/lua/lua.h: Likewise.
25505 * script/lua/lobject.h: Likewise.
25506 * script/lua/lstring.h: Likewise.
25507 * script/lua/lapi.h: Likewise.
25508 * script/lua/lcode.h: Likewise.
25509 * script/lua/luaconf.h: Likewise.
25510
cb8a2c38 255112009-09-26 Colin Watson <cjwatson@ubuntu.com>
25512
25513 * docs/grub.texi (Command-line and menu entry commands): Document
25514 date and echo commands.
25515
6b9b6276 255162009-09-24 Pavel Roskin <proski@gnu.org>
25517
25518 * include/grub/kernel.h (struct grub_module_header): Remove
25519 `grub_module_header_types'. Make `type' unsigned. Make `size'
25520 32-bit on all platforms.
25521 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
25522 8-bit field. Use grub_host_to_target32() for `size'.
25523 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
25524 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
25525 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
25526
4e5a02a7 255272009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25528
25529 Fix "lost keypress" bug in at_keyboard.
25530
25531 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
25532 Checks for readyness of input buffer (without flushing it).
25533 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
25534 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
25535
c6dcedf6 255362009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25537
25538 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
25539 size check within GRUB_MACHINE_PCBIOS section.
25540
74c958b1 255412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25542
25543 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
25544 return value.
25545 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
25546 KEYBOARD_ISREADY check.
25547 (grub_at_keyboard_checkkey): Rename to ...
25548 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
25549 Remove gratuitous cast.
25550
ff420223 255512009-09-23 Colin Watson <cjwatson@ubuntu.com>
25552
25553 * configure.ac: Call AC_PROG_MKDIR_P.
25554 * Makefile.in (docs/stamp-vti): Create docs directory. Create
25555 version.texi in $(builddir) rather than $(srcdir).
25556 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
25557 to makeinfo's @include search path.
25558
d96875df 255592009-09-23 Felix Zielcke <fzielcke@z-51.de>
25560
25561 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
25562
9b3f8365 255632009-09-23 Felix Zielcke <fzielcke@z-51.de>
25564
25565 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
25566 for `*.dpkg-new'.
25567
c44c90db 255682009-09-21 Colin Watson <cjwatson@ubuntu.com>
25569
25570 Build info documentation. Some code borrowed from Automake.
25571
25572 * configure.ac: Check for makeinfo.
25573 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
25574 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
25575 docs/version.texi.
25576 (MOSTLYCLEANFILES): Add vti.tmp.
25577 (docs/version.texi, docs/stamp-vti): Update automatically.
25578 (docs/grub.info): Build info documentation. Use --force and ignore
25579 errors for now.
25580 (all-local): Add $(INFOS).
25581 (install-local): Install info files.
25582 (uninstall): Uninstall info files.
25583 * docs/version.texi: Remove from revision control. This file is
25584 automatically generated on build now.
25585 * gendistlist.sh: Add `*.info'.
25586
e0b37bb5 255872009-09-21 Felix Zielcke <fzielcke@z-51.de>
25588
25589 * kern/term.c: Fix indentation.
25590
5a78865b 255912009-09-21 Felix Zielcke <fzielcke@z-51.de>
25592
25593 * util/hostdisk.c: Fix a comment.
25594
dace7e8a 255952009-09-20 Robert Millan <rmh.grub@aybabtu.com>
25596
25597 Fix regression introduced in r2539.
25598
25599 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
25600 to 0xA1.
25601
a83d079b 256022009-09-19 Colin Watson <cjwatson@ubuntu.com>
25603
25604 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 25605 os-prober. Under normal operation, it does not print anything to
25606 stderr; if it does, we need to debug it, and throwing away stderr
25607 makes that excessively difficult.
a83d079b 25608
be94a509 256092009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
25612
63f745e8 256132009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25614
25615 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
25616 AC_LANG_PROGRAM from autoconf.
25617 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
25618 prototypes (fixes warning).
25619
25620 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
25621 `--disable-werror' was used.
25622
bbb2a70f 256232009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25624
25625 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25626 uninitialized `lastaddr'.
25627
77c24f1d 256282009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25629
0f0b8c87 25630 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25631
07197f23 256322009-09-14 Colin Watson <cjwatson@ubuntu.com>
25633
25634 * commands/test.c (get_fileinfo): Return immediately if
25635 grub_fs_probe fails.
25636
dabf1798 256372009-09-14 José Martínez <xosemp@gmail.com>
25638
25639 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25640
d52109a7 256412009-09-14 Colin Watson <cjwatson@ubuntu.com>
25642
25643 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25644 output.
25645
56532179 256462009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25647
25648 * configure.ac: Remove --enable-grub-pe2elf. Only build
25649 grub-pe2elf when needed by the build system itself.
25650 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25651
8ef070f5 256522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25653
25654 * configure.ac: Bump version to 1.97~beta3.
25655 * docs/version.texi: Likewise.
25656
61229557 256572009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25658
25659 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25660 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25661 from here ...
25662 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25663 (grub_linux_setup_video): ... to here (with some adjustments).
25664
5c9f8d84 256652009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25666
25667 Fix memory corruption issue (spotted by Colin Watson).
25668
25669 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25670 causing returned size to be stored in an incorrect memory location.
25671 Fix use of uninitialized value when storing the returned size.
25672
e8f5d6e9 256732009-09-12 Yves Blusseau <blusseau@zetam.org>
25674
25675 Change clean rules to properly remove files
25676
25677 * genmk.rb: add new clean rules
25678 * Makefile.in (clean): add the new targets
25679 (mostlyclean): likewise
25680
cda2a409 256812009-09-11 Colin Watson <cjwatson@ubuntu.com>
25682
25683 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25684 to grub_uint64_t.
25685 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25686 non-resident files.
25687
86695375 256882009-09-11 Colin Watson <cjwatson@ubuntu.com>
25689
25690 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25691 part of bug #27349.
25692
8aa1541a 256932009-09-10 Felix Zielcke <fzielcke@z-51.de>
25694
25695 * util/grub-mkconfig.in: Make the created config mode 400 and
25696 print a warning if it fails.
25697
48d9bb0a 256982009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25699
25700 * util/grub.d/40_custom.in: Ask user to type custom entries below
25701 comment, rather than below 'exec tail' line.
25702
3b0521be 257032009-09-10 Colin Watson <cjwatson@ubuntu.com>
25704
25705 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25706 visible in grub.cfg.
25707
50051d55 257082009-09-10 Colin Watson <cjwatson@ubuntu.com>
25709
25710 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25711 file.
25712
c0d34387 257132009-09-10 Felix Zielcke <fzielcke@z-51.de>
25714
25715 * docs/grub.cfg: Add an example menu entry for memtest86+.
25716
80a608f3 257172009-09-09 Felix Zielcke <fzielcke@z-51.de>
25718
a2094832 25719 * config.guess: Update to latest version from config git.
80a608f3 25720 * config.sub: Likewise.
25721
99423078 257222009-09-08 Colin Watson <cjwatson@ubuntu.com>
25723
25724 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25725 unknown-command case. Fixes bug #27320.
25726
44454e4c 257272009-09-08 Felix Zielcke <fzielcke@z-51.de>
25728
25729 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25730 `help' if the command exists.
25731
e30d87ad 257322009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25733
25734 * INSTALL: Require GCC 4.1.3 or later.
25735
9a86f1ec 257362009-09-06 Yves Blusseau <blusseau@zetam.org>
25737
25738 * Makefile.in (RMKFILES): add i386-qemu.rmk
25739 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25740 $(srcdir)/stamp-h.in
25741
7f26d466 257422009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25743
25744 * util/grub-probe.c (probe): Comment out buggy codepath, which
25745 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25746 should be re-enabled after 1.97.
25747
3a613259 257482009-09-05 Felix Zielcke <fzielcke@z-51.de>
25749
25750 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25751 find searches for.
25752
197f76c7 257532009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25754
25755 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25756 unnecessary calls to grub_error.
25757
70ba68ce 257582009-09-04 Colin Watson <cjwatson@ubuntu.com>
25759
25760 * NEWS: Mention `keystatus' and Unicode fonts.
25761
4ff0d7a4 257622009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25763
25764 * configure.ac: Bump version to 1.97~beta2.
25765 * docs/version.texi: Likewise.
25766
77c55a87 257672009-09-03 Colin Watson <cjwatson@ubuntu.com>
25768
25769 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25770 containing unwind information in some cases where it previously did
25771 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25772 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25773 discussion.
25774
f79572cd 257752009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25776
25777 Embedding loadenv module into grub-emu
25778
25779 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25780 commands/loadenv.c
25781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25782 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25783 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25785 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25786 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25787
93a81088 257882009-09-03 Magnus Granberg <zorry@ume.nu>
25789
25790 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25791 include -fPIE in the default specs.
25792 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25793 to TARGET_CFLAGS.
25794
160034b2 257952009-09-03 Felix Zielcke <fzielcke@z-51.de>
25796
25797 * INSTALL: Note that GNU Bison 2.3 or later is required.
25798
087c07c4 257992009-09-03 Colin Watson <cjwatson@ubuntu.com>
25800
25801 * kern/i386/pc/startup.S: Fix typo.
25802
cbf978c0 258032009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25804
25805 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25806 according to GCS.
25807
258082009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25809
25810 * docs/grub.texi (Naming convention): Describe one-based partition
25811 numbering.
25812 (Device syntax): Likewise.
25813 (File name syntax): Likewise.
25814 (Block list syntax): Likewise.
25815 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25816 menu.lst.
25817 (File name syntax): Likewise.
25818 (Command-line and menu entry commands): Document acpi, blocklist,
25819 crc, export, insmod, keystatus, ls, set, and unset commands.
25820
f3e8cdfd 258212009-09-02 Colin Watson <cjwatson@ubuntu.com>
25822
25823 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25824 to avoid implying that only one of --shift, --ctrl, or --alt may be
25825 used.
25826
c0bc232b 258272009-09-02 Colin Watson <cjwatson@ubuntu.com>
25828
25829 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25830 rather than comparing against S_IFREG, which will almost never work.
25831
aa0f752d 258322009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25833
25834 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25835 (write_blocklists): Likewise.
25836
ecb3166a 258372009-09-01 Colin Watson <cjwatson@ubuntu.com>
25838
25839 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25840 argument to grub_printf.
25841
c403a125 258422009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25843
25844 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25845 non GNU test.
31aba781 25846
b5e7312c 258472009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25848
25849 * kern/file.c (grub_file_read): Spelling fix
25850
fe00f472 258512009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25852
25853 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25854 loading of headers in some cases.
25855
cc55302e 258562009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25857
25858 * configure.ac: Bump version to 1.97~beta1.
25859 * docs/version.texi: Likewise.
25860
5c90cdd2 258612009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25862
25863 * include/grub/i386/xnu.h: Add license header.
25864 include grub/err.h explicitly.
25865
c90edae4 258662009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25867
25868 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25869 to `ufs' in the vfs.root.mountfrom kernel parameter.
25870
d8888b5c 258712009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25872
25873 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25874
25875 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25876 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25877
25878 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25879 `ARRAY_SIZE' macro.
25880
6f07b921 258812009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25882
25883 * kern/file.c (grub_file_read): Check offset.
25884 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25885 * fs/jfs.c (grub_jfs_read_file): Likewise.
25886 * fs/ntfs.c (grub_ntfs_read): Likewise.
25887 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25888 * fs/minix.c (grub_minix_read_file): Correct offset check.
25889 * fs/ufs.c (grub_ufs_read_file): Likewise.
25890
b4f34077 258912009-08-28 Colin Watson <cjwatson@ubuntu.com>
25892
25893 * term/i386/pc/console.c (bios_data_area): Cast
25894 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25895
e7c69859 258962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25897
25898 1-bit optimised blitters.
25899
25900 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25901 prototype.
25902 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25903 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25904 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25905 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25906 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25907 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25908 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25909 function.
25910 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25911 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25912 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25913 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25914 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25915 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25916 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25917 when possible.
25918 * video/video.c (grub_video_get_blit_format): Return
25919 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25920
a57da43f 259212009-08-28 Colin Watson <cjwatson@ubuntu.com>
25922
25923 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25924 the first argument to grub_printf.
25925
4cbe67e5 259262009-08-28 Colin Watson <cjwatson@ubuntu.com>
259272009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25928
25929 Add `getkeystatus' terminal method. Add a new `keystatus' command
25930 to query it.
25931
25932 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25933 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25934 modifier key bitmasks.
25935 (struct grub_term_input): Add `getkeystatus' member.
25936 (grub_getkeystatus): Add prototype.
25937 * kern/term.c (grub_getkeystatus): New function.
25938
25939 * include/grub/i386/pc/memory.h
25940 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25941 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25942 Data Area layout.
25943 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25944 (grub_console_term_input): Set `getkeystatus' member.
25945 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25946 constants.
25947 (grub_usb_keyboard_getreport): Likewise.
25948 (grub_usb_keyboard_checkkey): Likewise.
25949 (grub_usb_keyboard_getkeystatus): New function.
25950 (grub_usb_keyboard_term): Set `getkeystatus' member.
25951
25952 * commands/keystatus.c: New file.
25953 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25954 (keystatus_mod_SOURCES): New variable.
25955 (keystatus_mod_CFLAGS): Likewise.
25956 (keystatus_mod_LDFLAGS): Likewise.
25957 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25958 commands/keystatus.c.
25959 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25960 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25961 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25963 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25964 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25965
6e2a9085 259662009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25967
25968 Split befs.mod and afs.mod into *_be.mod and *.mod
25969
25970 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25971 (grub_fstest_SOURCES): Likewise.
25972 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25973 (afs_be_mod_SOURCES): New variable.
25974 (afs_be_mod_CFLAGS): Likewise.
25975 (afs_be_mod_LDFLAGS): Likewise.
25976 (befs_be_mod_SOURCES): Likewise.
25977 (befs_be_mod_CFLAGS): Likewise.
25978 (befs_be_mod_LDFLAGS): Likewise.
25979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25980 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25981 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25982 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25983 (grub_emu_SOURCES): Likewise.
25984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25985 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25986 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25987 * fs/afs_be.c: New file.
25988 * fs/befs_be.c: New file.
25989 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25990 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25991 (U16): Replaced with ...
25992 (grub_afs_to_cpu16): ...this. All users updated.
25993 (U32): Replaced with ...
25994 (grub_afs_to_cpu32): ...this. All users updated.
25995 (U64): Replaced with ...
25996 (grub_afs_to_cpu64): ...this. All users updated.
25997 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25998 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25999 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26000 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26001 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26002 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26003 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26004 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26005 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26006 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26007 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26008
32a71655 260092009-08-26 Bean <bean123ch@gmail.com>
26010
26011 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26012 64-bit number.
26013 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26014 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26015 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26016
552bf6c5 260172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26018
26019 NetBSD memory map support.
26020
26021 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26022 (grub_netbsd_btinfo_mmap_header): New structure.
26023 (grub_netbsd_btinfo_mmap_entry): Likewise.
26024 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26025
1ae2078c 260262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26027
26028 Enable bsd.mod on coreboot.
26029
26030 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26031 (bsd_mod_SOURCES): New variable.
26032 (bsd_mod_CFLAGS): Likewise.
26033 (bsd_mod_LDFLAGS): Likewise.
26034 (bsd_mod_ASFLAGS): Likewise.
26035 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26036 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26037
beefc598 260382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26039
26040 Cleanup NetBSD root support.
26041
26042 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26043 grub_bsd_get_device.
26044 Fix typo.
26045
3b76e68b 260462009-08-25 Felix Zielcke <fzielcke@z-51.de>
26047
26048 * util/grub.d/00_header.in: Move check for the video backend of
26049 gfxterm from here ...
26050 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26051 a suitable video backend.
26052
aea664ea 260532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26054
26055 Fix breakage in grub-setup.
26056
26057 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26058 "msdos_partition_map".
26059
ff747d50 260602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26061
26062 Fix breakage in normal/auth.c.
26063
26064 * normal/auth.c (grub_iswordseparator): New function.
26065
e7e1f93f 260662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26067
26068 Authentication support.
26069
26070 * commands/password.c: New file.
26071 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26072 (password_mod_SOURCES): New variable.
26073 (password_mod_CFLAGS): Likewise.
26074 (password_mod_LDFLAGS): Likewise.
26075 (normal_mod_SOURCES): Add normal/auth.c.
26076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26077 normal/auth.c.
26078 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26079 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26080 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26082 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26083 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26084 * include/grub/auth.h: New file.
26085 * include/grub/err.h (grub_err_t): New enum value
26086 GRUB_ERR_ACCESS_DENIED.
26087 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26088 'users'.
26089 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26090 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26091 users updated.
26092 * normal/auth.c: New file.
26093 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26094 (grub_cmdline_run): Don't allow to go to command line without
26095 authentication.
26096 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26097 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26098 menuentry without superuser rights.
26099 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26100 user isn't a superuser.
26101
70f1161d 261022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 Save space by inlining misc.c functions.
26105
26106 * kern/misc.c (grub_iswordseparator): Made static.
26107 * kern/misc.c (grub_strcat): Moved from here ...
26108 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26109 * kern/misc.c (grub_strncat): Moved from here ...
26110 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26111 * kern/misc.c (grub_strcasecmp): Moved from here ...
26112 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26113 * kern/misc.c (grub_strncasecmp): Moved from here ...
26114 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26115 * kern/misc.c (grub_isalpha): Moved from here ...
26116 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26117 * kern/misc.c (grub_isdigit): Moved from here ...
26118 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26119 * kern/misc.c (grub_isgraph): Moved from here ...
26120 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26121 * kern/misc.c (grub_tolower): Moved from here ...
26122 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26123
48e40bff 261242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26125
26126 * script/sh/function.c (grub_script_function_find): Cut error message
26127 not to flood terminal.
26128 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26129 limit.
26130 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26131
c385bfc3 261322009-08-24 Colin Watson <cjwatson@ubuntu.com>
26133
26134 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26135 `report' grub_uint8_t *.
26136 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26137 Use a 50-millisecond timeout rather than just repeating
26138 grub_usb_keyboard_getreport 50 times.
26139 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26140
2d21e3e8 261412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26142
26143 Rename *_partition_map to part_*
26144
26145 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26146 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26147 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26148 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26149 All users updated.
26150 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26151 All users updated.
26152 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26153 * util/grub-probe.c (probe_partmap): Don't transform partition name
26154 to get module name.
26155
dd103c4e 261562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26157
26158 Fix OpenBSD and NetBSD support.
26159
26160 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26161 memory address conflict.
26162 (OPENBSD_MMAP_ACPI): New definition.
26163 (OPENBSD_MMAP_NVS): Likewise.
26164 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26165 and OPENBSD_MMAP_NVS.
26166 Add memory map terminator
26167 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 26168 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 26169
16c84d74 261702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 Let user specify NetBSD root device.
26173
26174 * loader/i386/bsd.c (netbsd_root): New variable.
26175 (netbsd_opts): New option 'root'.
26176 (NETBSD_ROOT_ARG): New macro.
26177 (grub_netbsd_boot): Use 'netbsd_root'.
26178 (grub_bsd_unload): Free 'netbsd_root'.
26179 (grub_cmd_netbsd): Fill 'netbsd_root'.
26180
adb29902 261812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 Support for 64-bit NetBSD.
26184
26185 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26186 point when booting non-FreeBSD.
26187
f5ae9f74 261882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26189
26190 Support --no-smp and --no-acpi for NetBSD.
26191
26192 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26193 (NETBSD_AB_NOACPI): Likewise.
26194 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26195 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26196
de74f136 261972009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26200 errors.
26201 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26202 errors. Call grub_error when needed.
26203
e9a925da 262042009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26205
26206 * commands/search.c (search_fs): Try searching without autoload first.
26207 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26208 filesystem module explicitly for faster booting.
26209
5174302b 262102009-08-23 Colin Watson <cjwatson@ubuntu.com>
26211
26212 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26213
c8c80635 262142009-08-23 Colin Watson <cjwatson@ubuntu.com>
26215
26216 * util/grub.d/30_os-prober.in: Disable os-prober if
26217 `GRUB_DISABLE_OS_PROBER' was set to true.
26218
71acf5e5 262192009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26220
26221 * partmap/pc.c: Rename to ...
26222 * partmap/msdos.c: ... this. Update all users.
26223 (grub_pc_partition_map): Rename to ...
26224 (grub_msdos_partition_map): ... this. Update all users.
26225
26226 * parttool/pcpart.c: Rename to ...
26227 * parttool/msdospart.c: ... this. Update all users.
26228
26229 * include/grub/pc_partition.h: Rename to ...
26230 * include/grub/msdos_partition.h: ... this. Update all users.
26231 (grub_pc_partition_bsd_entry): Rename to ...
26232 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26233 (grub_pc_partition_disk_label): Rename to ...
26234 (grub_msdos_partition_disk_label): ... this. Update all users.
26235 (grub_pc_partition_entry): Rename to ...
26236 (grub_msdos_partition_entry): ... this. Update all users.
26237 (grub_pc_partition_mbr): Rename to ...
26238 (grub_msdos_partition_mbr): ... this. Update all users.
26239 (grub_pc_partition): Rename to ...
26240 (grub_msdos_partition): ... this. Update all users.
26241 (grub_pc_partition_is_empty): Rename to ...
26242 (grub_msdos_partition_is_empty): ... this. Update all users.
26243 (grub_pc_partition_is_extended): Rename to ...
26244 (grub_msdos_partition_is_extended): ... this. Update all users.
26245 (grub_pc_partition_is_bsd): Rename to ...
26246 (grub_msdos_partition_is_bsd): ... this. Update all users.
26247
26248 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26249 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26250 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26251 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26252 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26253 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26254 (gpt_mod_LDFLAGS): Rename to ...
26255 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
26256 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
26257 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
26258 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
26259 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
26260 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
26261 (part_gpt_mod_LDFLAGS): ... this.
26262 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
26263 `pcpart.mod' to `msdospart.mod'.
26264 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
26265 to ...
26266 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
26267 (msdospart_mod_LDFLAGS): ... this.
26268
c11fded5 262692009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26270
26271 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
26272 (openbsd_opts): Likewise.
26273 (netbsd_opts): Likewise.
26274 (freebsd_flags): Added 0 terminator.
26275 (openbsd_flags): Likewise.
26276 (netbsd_flags): Likewise.
26277 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
26278 (grub_cmd_freebsd): Transformed into extended command.
26279 (grub_cmd_openbsd): Likewise.
26280 (grub_cmd_netbsd): Likewise.
26281 (cmd_freebsd): Changed type to grub_extcmd_t.
26282 (cmd_openbsd): Likewise.
26283 (cmd_netbsd): Likewise.
26284 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
26285 grub_cmd_openbsd as extended commands.
26286 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
26287 cmd_netbsd and cmd_openbsd
26288
11d1c769 262892009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
26292
7a9094e5 262932009-08-21 Pavel Roskin <proski@gnu.org>
26294
5496c37e 26295 * Makefile.in (install-local): When checking if a file is in the
26296 build directory, use "test -e" to detect symlinks.
26297
7a9094e5 26298 * Makefile.in (install-local): Remove all files in
26299 $(DESTDIR)$(pkglibdir) before installing new files there.
26300
e53cea11 263012009-08-18 Felix Zielcke <fzielcke@z-51.de>
26302
26303 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
26304 grub-mkelfimage.
26305
9aced544 263062009-08-18 Felix Zielcke <fzielcke@z-51.de>
26307
26308 * util/grub-mkconfig.in: Don't use gfxterm by default if not
26309 explicitly specified by the user.
26310
b7da6bab 263112009-08-18 Pavel Roskin <proski@gnu.org>
26312
26313 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
26314 grub_uint8_t pointer for data.
26315 * include/grub/fbutil.h (struct grub_video_fbblit_info):
26316 Likewise.
26317 * video/fb/fbutil.c: Remove unnecessary casts.
26318
19f1b335 263192009-08-17 Michal Suchanek <hramrach@centrum.cz>
26320
26321 VBE cleanup.
26322
26323 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
26324 (grub_vbe_set_video_mode): Save active mode info
26325 only after setting the mode.
26326 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
26327 second argument.
26328
2f467aa9 263292009-08-17 Michal Suchanek <hramrach@centrum.cz>
26330
26331 Rename variables for clarity.
26332
26333 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
26334 (active_vbe_mode_info): ... this. All users updated.
26335 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
26336 All users updated.
26337 (initial_mode): Rename to ...
26338 (initial_vbe_mode): ... this. All users updated.
26339 (mode_in_use): Rename to ..
26340 (vbe_mode_in_use): ... this. All users updated.
26341 (mode_list): Rename to ..
26342 (vbe_mode_list): ... this. All users updated.
26343 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
26344 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
26345 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
26346 'mode_list_size' to 'vbe_mode_list_size'.
26347 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
26348 'best_mode_info' to 'best_vbe_mode_info' and
26349 'best_mode' to 'best_vbe_mode'
26350
6025fcd7 263512009-08-17 Michal Suchanek <hramrach@centrum.cz>
26352
26353 Remove duplicate grub_video_fb_get_video_ptr.
26354
26355 * include/grub/fbutil.h (get_data_ptr): Rename to ...
26356 (grub_video_fb_get_video_ptr): ... this.
26357 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
26358 * video/fb/fbutil.c: Add comment about addressing.
26359 (get_data_ptr): Rename to ...
26360 (grub_video_fb_get_video_ptr): ... this. All users updated.
26361 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
26362
cc8c6faf 263632009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26364
26365 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
26366 grub_dprintf() that was just added.
26367
08aa61f0 263682009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26369
26370 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
26371 (DEFAULT_VIDEO_MODE): Remove macros.
26372 (grub_linux_boot): Remove assumption that Linux has FB support,
26373 and use "text" as default video mode.
26374
7cef4f75 263752009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
26376
26377 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
26378 grub_dprintf.
26379 * fs/fat.c (grub_fat_read_data): Likewise.
26380
e1f39873 263812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26382
26383 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
26384 payload.
26385 (grub_module): Likewise.
26386
c166d79e 263872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26388
26389 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
26390 mbi->cmdline but free playground.
26391
c60cee8e 263922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26393
26394 Handle group offset on UFS1.
26395
26396 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
26397 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
26398
c0d8b5d4 263992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26400
26401 Split ufs.mod into ufs1.mod and ufs2.mod.
26402
26403 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
26404 (grub_fstest_SOURCES): Likewise.
26405 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
26406 (ufs_mod_SOURCES): Remove.
26407 (ufs_mod_CFLAGS): Likewise.
26408 (ufs_mod_LDFLAGS): Likewise.
26409 (ufs1_mod_SOURCES): New variable.
26410 (ufs1_mod_CFLAGS): Likewise.
26411 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 26412 (ufs2_mod_SOURCES): New variable.
26413 (ufs2_mod_CFLAGS): Likewise.
26414 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 26415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
26416 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26417 Likewise.
26418 (grub_emu_SOURCES): Likewise.
26419 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26420 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26421 (grub_setup_SOURCES): Likewise.
26422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26423 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
26424 (grub_setup_SOURCES): Likewise.
26425 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26426 Likewise.
26427 * fs/ufs2.c: New file.
26428 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
26429
d3539132 264302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26431
26432 Framebuffer split.
26433
26434 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
26435 subsystem at the end.
26436 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
26437 (video_fb_mod_SOURCES): New variable.
26438 (video_fb_mod_CFLAGS): Likewise.
26439 (video_fb_mod_LDFLAGS): Likewise.
26440 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
26441 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
26442 * video/i386/pc/vbeblit.c: Moved from here ...
26443 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
26444 * video/i386/pc/vbefill.c: Moved from here ...
26445 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
26446 * video/i386/pc/vbeutil.c: Moved from here ...
26447 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
26448 * include/grub/i386/pc/vbeblit.h: Moved from here ...
26449 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
26450 * include/grub/i386/pc/vbefill.h: Moved from here ...
26451 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
26452 * include/grub/i386/pc/vbeutil.h: Moved from here ...
26453 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
26454 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
26455 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
26456 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
26457 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
26458 (grub_video_adapter): Added 'get_info_and_fini'.
26459 (grub_video_get_info_and_fini): New prototype.
26460 (grub_video_set_mode): make modestring const char *.
26461 * loader/i386/linux.c (grub_linux_setup_video): Use
26462 grub_video_get_info_and_fini.
26463 (grub_linux_boot): Move modesetting just before booting.
26464 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
26465 grub_video_get_info_and_fini.
26466 * video/i386/pc/vbe.c: Moved framebuffer part ...
26467 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
26468 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
26469 grub_video_fbstd_colors and grub_video_fb_set_palette.
26470 (grub_video_vbe_init): Clear 'framebuffer' variable and use
26471 grub_video_fb_init.
26472 (grub_video_vbe_fini): Use grub_video_fb_fini.
26473 (grub_video_vbe_setup): Use framebuffer.render_target instead of
26474 render_target and use grub_video_fb_set_active_render_target and
26475 grub_video_fb_set_palette.
26476 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
26477 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
26478 (grub_video_vbe_adapter): Use framebuffer.
26479 * video/video.c (grub_video_get_info_and_fini): New function.
26480 (grub_video_set_mode): Make modestring const char *.
26481 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
26482 values are already initialised.
26483
d404ee56 264842009-08-14 Pavel Roskin <proski@gnu.org>
26485
26486 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
26487 ABS and APPLE_CC.
26488 * boot/i386/pc/diskboot.S: Likewise.
26489 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
26490 sectors allow compilation on MacOSX.
26491 * conf/i386-pc.rmk: Enable unconditional compilation of
26492 lnxboot.img.
26493
9a10df16 264942009-08-13 Colin Watson <cjwatson@ubuntu.com>
26495
26496 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
26497 * util/grub.d/00_header.in: Enter interruptible sleep if
26498 GRUB_HIDDEN_TIMEOUT is set.
26499
be3c9ca7 265002009-08-13 Yves Blusseau <blusseau@zetam.org>
26501
26502 * include/grub/symbol.h: Add the LOCAL macro.
26503 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
26504 starting with "L_".
26505
1f9e557e 265062009-08-13 Pavel Roskin <proski@gnu.org>
26507
9ca62843 26508 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
26509 any modern compilers we support.
26510
1f9e557e 26511 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
26512 Use local labels starting with "L_" so that Apple assembler
26513 knows they are local.
26514
81623db6 265152009-08-10 Robert Millan <rmh.grub@aybabtu.com>
26516
26517 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
26518 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
26519 (bsd_kernel_types): ... this enum.
26520
26521 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
26522 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
26523 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
26524
26525 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
26526 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
26527 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
26528 messages.
26529
f5d35e7a 265302009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26531
26532 * util/grub-dumpdevtree: Moved from here ...
26533 * util/i386/efi/grub-dumpdevtree: ... to here.
26534 (hexify): New function. Converts a string to its hex version.
26535 Generate hex versions of "efi" and "device-properties" by calling
26536 hexify() on the ASCII strings rather than by hardcoding numbers.
26537
d1e1d527 265382009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26539
26540 * fs/jfs.c: Update copyright year.
26541
1ebbe064 265422009-08-08 Felix Zielcke <fzielcke@z-51.de>
26543
26544 * util/grub.d/00_header.in: Fix a comment.
26545 * util/grub.d/10_linux.in: Likewise.
26546 * util/grub.d/10_windows.in: Likewise.
26547 * util/grub.d/10_hurd.in: Likewise.
26548
a78c8d24 265492009-08-08 Felix Zielcke <fzielcke@z-51.de>
26550
26551 * util/grub-mkconfig.in: Allow the user to specify the used font
26552 with GRUB_FONT.
26553
29a6b9e8 265542009-08-08 Pavel Roskin <proski@gnu.org>
26555
b5f16cc4 26556 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
26557 available, xfs.mod needs it now.
26558
2f5cb827 26559 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
26560 the "g" modifier in sed when the intention is to strip something
26561 once. This fixes comparison of kernels with multiple dashes.
26562
29a6b9e8 26563 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
26564 on it. Add missing space before closing bracket. Fix
26565 misleading formatting.
26566
892a3d98 265672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 * docs/grub.texi: Major overhaul. Remove all sections that are
26570 specific to GRUB Legacy, or mostly composed of Legacy-specific
26571 information.
26572
ed94253f 265732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * docs/version.texi: New file. Provides version information for
26576 grub.texi.
26577
126d6628 265782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26579
26580 * docs/grub.texi: Update CVS information to SVN.
26581 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
26582
998b5aa9 265832009-08-07 Felix Zielcke <fzielcke@z-51.de>
26584
26585 * util/grub-mkconfig.in: Remove a wrong `fi'.
26586
818e094a 265872009-08-07 Felix Zielcke <fzielcke@z-51.de>
26588
26589 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
26590 (grub_jfs_uuid): New function.
26591 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
26592
b969c52f 265932009-08-07 Felix Zielcke <fzielcke@z-51.de>
26594
26595 * util/grub-mkconfig_lib.in (font_path): Move the functionality
26596 of it to ...
26597 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
26598 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
26599
7a4894cc 266002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26601
26602 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
26603 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
26604 Update all users.
26605
26606 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
26607 not just "vmlinu[zx]".
26608 Moved from here ...
26609 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
26610 all users.
26611
26612 * util/grub.d/10_linux.in (find_latest): Moved from here ...
26613 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
26614 all users.
26615
4e2171f8 266162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 * util/grub.d/10_freebsd.in: Use an absolute device path for
26619 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
26620
6dcfcb32 266212009-08-06 Felix Zielcke <fzielcke@z-51.de>
26622
26623 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26624 handling of multiple abstraction modules.
26625
f56a8756 266262009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26627
26628 Fix a bug resulting in black screen when loading Linux using a
26629 packed video mode.
26630
26631 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26632 function.
26633
26634 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26635 (grub_vbe_bios_getset_dac_palette_width): New function.
26636 (grub_vbe_bios_get_dac_palette_width)
26637 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26638 grub_vbe_bios_getset_dac_palette_width()).
26639
26640 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26641 check for return status.
26642 (grub_vbe_get_video_mode_info): When getting information for a packed
26643 mode (<= 8 bpp), obtain DAC palette width using
26644 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26645 {red,green,blue}_mark_size.
26646
222671b2 266472009-08-04 Felix Zielcke <fzielcke@z-51.de>
26648
ecb1a6d9 26649 * commands/search.c (options): Fix help output to match actual code.
222671b2 26650
f84114f5 266512009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26652
26653 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26654 of homegrown code.
26655
bd288a20 266562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26657
26658 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26659 on XFS or ReiserFS.
26660
8aab5e25 266612009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26662
26663 Support Apple partition map with sector size different from 512 bytes.
26664
26665 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26666 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26667 and 'apart.partmap_size'.
26668
6ad6258a 266692009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
266702009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26671
26672 Fix cpuid command.
26673
26674 * commands/i386/cpuid.c (options): New variable.
26675 (grub_cmd_cpuid): Return real error.
26676 (GRUB_MOD_INIT(cpuid)): Declare options.
26677
67459bc6 266782009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26679
26680 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26681 valid.
26682
fbc6ab54 266832009-07-31 Bean <bean123ch@gmail.com>
26684
26685 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26686 log2_inode.
26687 (grub_fshelp_node): Move inode field to the end.
26688 (grub_xfs_data): Remove inode field.
26689 (grub_xfs_inode_block): Calculate inode size using sblock.
26690 (grub_xfs_inode_offset): Likewise.
26691 (grub_xfs_read_inode): Calculate inode size using sblock.
26692 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26693 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26694 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26695 to match inode size.
26696 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26697 not accessible when data is null.
26698 (grub_xfs_open): Likewise.
26699
f45d6cfc 267002009-07-31 Bean <bean123ch@gmail.com>
26701
26702 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26703 Don't change pv->disk if it's already set.
26704
26705 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26706 (grub_raid_register): ... here.
26707 (grub_raid_rescan): Removed.
26708
26709 * include/grub/raid.h (grub_raid_rescan): Removed.
26710
26711 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26712 (fstest): Replace grub_raid_rescan with module fini function followed
26713 by init function.
26714
26715 * util/grub-probe.c: Add include file <grub/raid.h>.
26716 (probe_raid_level): New function.
26717 (probe): Detect abstraction by walking the disk device, support two
26718 level of abstraction (LVM on RAID) when detecting partition map.
26719
24443b5a 267202009-07-31 Pavel Roskin <proski@gnu.org>
26721
26722 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26723 to grub_zalloc(), it was erroneous.
26724 Reported by Bean <bean123ch@gmail.com>
26725
a275d9e7 267262009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26727
26728 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26729 embedding zone, not only the first one.
a275d9e7 26730
56c5a47f 267312009-07-29 Joe Auricchio <jauricchio@gmail.com>
26732
26733 * term/gfxterm.c (clear_char): New function.
26734 (grub_virtual_screen_setup): Use clear_char.
26735 (scroll_up): Likewise.
26736 (grub_virtual_screen_cls): Likewise.
26737
67bb323a 267382009-07-29 Felix Zielcke <fzielcke@z-51.de>
26739
26740 * util/deviceiter.c (get_acceleraid_disk_name): New static
26741 function.
26742 (grub_util_iterate_devices): Handle Accelraid devices.
26743 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26744
388a7c75 267452009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26746
26747 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26748 separator for the suggested gfxpayload string (';' collides with the
26749 parser and needs escaping).
26750
3bb7abcf 267512009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26752
26753 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26754 Clear direction flag before jumping to OS.
26755 (grub_multiboot2_real_boot): Likewise.
26756
2ddd36d7 267572009-07-28 Felix Zielcke <fzielcke@z-51.de>
26758
26759 * util/i386/pc/grub-install: Fix parsing of --disk-module
26760 option.
26761
c521b62b 267622009-07-28 Felix Zielcke <fzielcke@z-51.de>
26763
26764 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26765 when embedding.
26766
880e0a0c 267672009-07-26 Felix Zielcke <fzielcke@z-51.de>
26768
26769 * util/grub-mkconfig.in (package_version): New variable.
26770 Use it do display the version.
26771
2366e356 267722009-07-25 Felix Zielcke <fzielcke@z-51.de>
26773
26774 * kern/file.c (grub_file_open): Revert to previous check with
26775 grub_errno.
26776
7ad8c80e 267772009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26780 from help line. It's out of sync with code.
26781
72b9658b 267822009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26783
26784 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26785 entries on failed boot.
26786
77435277 267872009-07-25 Felix Zielcke <fzielcke@z-51.de>
26788
26789 * kern/file.c (grub_file_open): Fix an error check.
26790
fcaa8b21 267912009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26792
35d16c74 26793 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26794 partition map couldn't be identified.
fcaa8b21 26795
48904cd1 267962009-07-23 Pavel Roskin <proski@gnu.org>
26797
ef3c317f 26798 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26799 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26800 case of little endian words becomes just an optimization.
26801 Respect const modifier.
ad8ea1f4 26802 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26803
48904cd1 26804 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26805 to avoid loss of upper bits if align is unsigned and shorter
26806 than addr.
26807
260c9a89 268082009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26809
26810 UUID support for UFS
26811
26812 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26813 (grub_ufs_uuid): New function.
26814 (grub_ufs_fs): add .uuid
26815
f76ce889 268162009-07-21 Pavel Roskin <proski@gnu.org>
26817
26818 * kern/dl.c (grub_dl_check_header): Make static.
26819
6a6cbcaf 268202009-07-21 Felix Zielcke <fzielcke@z-51.de>
26821
26822 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26823 add drivemap for Vista. It breaks Windows 7.
26824
cffcddb2 268252009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26826
26827 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26828 128 bytes
26829
1ef44b80 268302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 Add BFS support
26833
26834 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26835 (grub_fstest_SOURCES): Likewise.
26836 (pkglib_MODULES): Add befs.mod.
26837 (befs_mod_SOURCES): New variable.
26838 (befs_mod_CFLAGS): Likewise.
26839 (befs_mod_LDFLAGS): Likewise.
26840 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26841 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26842 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26843 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26844 (grub_setup_SOURCES): Likewise.
26845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26846 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26847 (grub_setup_SOURCES): Likewise.
26848 * fs/befs.c: New file.
26849 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26850 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26851 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26852 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26853 (B_KEY_INDEX_ALIGN): New declaration.
26854 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26855 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26856 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26857 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26858 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26859 (grub_afs_mount) [MODE_BFS]: Likewise.
26860 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26861 (grub_afs_fs): Use GRUB_AFS_FSNAME
26862 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26863 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26864 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26865 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26866
4f253044 268672009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26868
26869 * util/getroot.c (find_root_device): Add support for MacOSX.
26870 * util/hostdisk.c: Likewise.
26871
57a55913 268722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26873
26874 * font/font.c (find_glyph): Check whether a font is present to avoid
26875 segmentation fault.
75421ca9 26876
268772009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26878
26879 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26880
e98cd0c2 268812009-07-20 Pavel Roskin <proski@gnu.org>
26882
26883 * configure.ac: Trim excessively wordy excuses.
26884
1d2d169a 268852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26886
26887 Add symlink, mtime and label support to AtheFS.
26888
26889 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26890 (grub_afs_iterate_dir): Handle symlinks.
26891 (grub_afs_open): Use grub_afs_read_symlink.
26892 (grub_afs_dir): Likewise.
26893 Pass mtime.
26894 (grub_afs_label): New function.
26895 (grub_afs_fs): Add grub_afs_label.
26896 (grub_afs_read_symlink): New function.
26897
186f3189 268982009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26899
26900 Fix AtheFS support.
26901
26902 * fs/afs.c: Fix comments style.
26903 (grub_afs_blockrun): Declare as packed.
26904 (grub_afs_datastream): Likewise.
26905 (grub_afs_bnode): Likewise.
26906 (grub_afs_btree): Likewise.
26907 (grub_afs_sblock): Likewise.
26908 Declare `name' as char.
26909 (grub_afs_inode): Declare as packed.
26910 Change void *vnode to grub_uint32_t unused.
26911 (grub_afs_iterate_dir): Check that key_size is positive.
26912 (grub_afs_mount): Don't read superblock twice.
75421ca9 26913 (grub_afs_dir): Don't free node in case of error,
186f3189 26914 grub_fshelp_find_file already handles this.
26915 (grub_afs_open): Likewise.
26916
5680109e 269172009-07-19 Pavel Roskin <proski@gnu.org>
26918
26919 * Makefile.in: Remove LIBLZO and enable_lzo.
26920 * conf/i386-pc.rmk: Remove lzo support.
26921 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26922 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26923 support.
26924 * kern/i386/pc/lzo1x.S: Remove.
26925 * kern/i386/pc/startup.S: Remove lzo support.
26926 * util/i386/pc/grub-mkimage.c: Likewise.
26927
ac70fa32 269282009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26929
26930 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26931 * fs/xfs.c (grub_xfs_dir): Likewise.
26932 * fs/afs.c (grub_afs_dir): Likewise.
26933 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26934 (grub_iso9660_open): Likewise.
26935 * fs/jfs.c (grub_jfs_open): Likewise.
26936 * fs/ext2.c (grub_ext2_dir): Likewise.
26937 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26938 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26939
eab58da2 269402009-07-16 Pavel Roskin <proski@gnu.org>
26941
d2838156 26942 * configure.ac: Never add "-c" to CFLAGS.
26943
55c70904 26944 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26945
43e6200c 26946 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26947 grub_cv_cc_efiemu should be used.
26948
ce7a733d 26949 * configure.ac: Typo fixes.
26950
eab58da2 26951 * kern/mm.c (grub_zalloc): New function.
26952 (grub_debug_zalloc): Likewise.
26953 * include/grub/mm.h: Declare grub_zalloc() and
26954 grub_debug_zalloc().
26955 * util/misc.c (grub_zalloc): New function.
26956 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26957 instead of grub_malloc(), remove unneeded initializations.
26958 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26959 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26960 * commands/parttool.c (grub_cmd_parttool): Likewise.
26961 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26962 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26963 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26964 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26965 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26966 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26967 (grub_cmd_efiemu_pnvram): Likewise.
26968 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26969 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26970 (grub_iso9660_iterate_dir): Likewise.
26971 * fs/jfs.c (grub_jfs_opendir): Likewise.
26972 * fs/ntfs.c (list_file): Likewise.
26973 (grub_ntfs_mount): Likewise.
26974 * kern/disk.c (grub_disk_open): Likewise.
26975 * kern/dl.c (grub_dl_load_core): Likewise.
26976 * kern/elf.c (grub_elf_file): Likewise.
26977 * kern/env.c (grub_env_context_open): Likewise.
26978 (grub_env_set): Likewise.
26979 (grub_env_set_data_slot): Likewise.
26980 * kern/file.c (grub_file_open): Likewise.
26981 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26982 * loader/i386/multiboot.c (grub_module): Likewise.
26983 * loader/xnu.c (grub_xnu_create_key): Likewise.
26984 (grub_xnu_create_value): Likewise.
26985 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26986 (read_config_file): Likewise.
26987 * normal/menu_entry.c (make_screen): Likewise.
26988 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26989 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26990 * script/sh/script.c (grub_script_parse): Likewise.
26991 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26992 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26993 * video/readers/png.c (grub_png_output_byte): Likewise.
26994 (grub_video_reader_png): Likewise.
26995
830afef7 269962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26997
26998 Enable all targets that can be built by default
26999
830afef7 27000 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27001 grub-mkfont and grub-fstest if they can be built
27002
ee293aee 270032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27004
27005 Fix hang and segmentation fault in grub-emu-usb
27006
27007 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27008 * util/usb.c (grub_libusb_devices): likewise
27009 (grub_libusb_init): rename to ...
27010 (GRUB_MOD_INIT (libusb)):...this
27011 (grub_libusb_fini): rename to ..
27012 (GRUB_MOD_FINI (libusb)):...this
27013 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27014 * include/grub/disk.h (grub_raid_init): removed, it's useless
27015 (grub_raid_fini): likewise
27016 (grub_lvm_init): likewise
27017 (grub_lvm_fini): likewise
27018 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27019 by grub_init_all
27020
94414221 270212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27022
27023 Fix libusb
27024
27025 * Makefile.in (LIBUSB): new macro
27026 * genmk.rb (Utility/print_tail): new method
27027 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27028 (top level): call util.print_tail at the end.
27029
59ade63d 270302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27031
27032 Make FreeBSD accept zpool.cache
27033
27034 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27035 type is /boot/zfs/zpool.cache
27036
a58da8c7 270372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27038
27039 Fix 64-bit efiemu
27040
27041 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27042 correct wrong typedef
27043 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27044
20591577 270452009-07-15 Pavel Roskin <proski@gnu.org>
27046
560ca572 27047 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27048 * kern/disk.c (struct grub_disk_cache): Likewise.
27049
e8e8e4fd 27050 * commands/probe.c (options): Typo fix.
27051
fde24e10 27052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27053 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27054 accordingly.
27055 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27056
379c54c1 27057 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27058 the end of "Error" to make the message more readable.
27059
7bd8f5bf 27060 * boot/i386/pc/boot.S (kernel_segment): Remove.
27061 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27062 for destination.
27063
40b132c5 27064 * boot/i386/pc/boot.S (boot_version): Remove.
27065 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27066 Remove.
27067
20591577 27068 * include/grub/i386/pc/boot.h: Sort all offsets.
27069 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27070 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27071 * boot/i386/pc/boot.S: Assert location of every offset listed in
27072 include/grub/i386/pc/boot.h.
27073
2df32b2c 270742009-07-13 Pavel Roskin <proski@gnu.org>
27075
44b5d879 27076 * include/grub/i386/coreboot/machine.h: Rename
27077 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27078 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27079 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27080
17dc3751 27081 * kern/dl.c: Force native word size to suppress warnings when
27082 compiling grub-emu.
27083
2df32b2c 27084 * kern/device.c (grub_device_iterate): Change struct part_ent to
27085 hold the name, not a pointer to it. Use one grub_malloc() per
27086 partition, not two. Free partition_name if grub_malloc() fails.
27087 Set ents to NULL only before grub_partition_iterate() is called.
27088
75c59f59 270892009-07-11 Bean <bean123ch@gmail.com>
27090
27091 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27092 childname.
27093
0ae1bf88 270942009-07-10 Bean <bean123ch@gmail.com>
270952009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27096
27097 * kern/ieee1275/openfw.c (grub_children_iterate)
27098 (grub_devalias_iterate): Fix size evaluation for property or path
27099 strings, which was broken since r2132.
27100
8279cade 271012009-07-07 Pavel Roskin <proski@gnu.org>
27102
7d8a52d3 27103 * commands/search.c (search_file): Merge into ...
27104 (search_fs): ... this. Accept search type as argument.
27105 (grub_cmd_search): Pass search type to search_fs().
27106
25f9a05a 27107 * include/grub/util/console.h: New file.
27108 * util/console.c: Use it instead of grub/machine/console.h.
27109 * util/grub-emu.c: Likewise.
27110
8279cade 27111 * lib/arg.c (find_long_option): Remove.
27112 (find_long): Add `len' argument, make `s' const char *.
27113 (grub_arg_parse): Parse long options in place, not in a
27114 temporary buffer.
27115
4a11b60f 271162009-07-06 Pavel Roskin <proski@gnu.org>
27117
99f68041 27118 * commands/search.c (search_fs): Fix potential NULL pointer
27119 dereference.
27120
4a11b60f 27121 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27122 function pointer.
27123
e110f4de 271242009-07-06 Daniel Mierswa <impulze@impulze.org>
27125
27126 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27127 comparison.
27128
46eeb6a2 271292009-07-05 Pavel Roskin <proski@gnu.org>
27130
bab74958 27131 * include/grub/i386/linux.h (struct linux_kernel_params):
27132 Restore padding3, it's still needed.
27133
46eeb6a2 27134 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27135 FreeBSD.
27136 * util/osdetect.lua: Likewise.
27137
b4a1dc79 271382009-07-05 Bean <bean123ch@gmail.com>
27139
27140 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27141
27142 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27143 (grub_lua_getenv): Likewise.
27144 (grub_lua_setenv): Likewise.
27145 (save_errno): New function.
27146 (push_result): Likewise.
27147 (grub_lua_enum_device): Likewise.
27148 (grub_lua_enum_file): Likewise.
27149 (grub_lua_file_open): Likewise.
27150 (grub_lua_file_close): Likewise.
27151 (grub_lua_file_seek): Likewise.
27152 (grub_lua_file_read): Likewise.
27153 (grub_lua_file_getline): Likewise.
27154 (grub_lua_file_getsize): Likewise.
27155 (grub_lua_file_getpos): Likewise.
27156 (grub_lua_file_eof): Likewise.
27157 (grub_lua_file_exist): Likewise.
27158 (grub_lua_add_menu): Likewise.
27159
27160 * script/lua/grub_lua.h (isupper): New inline function.
27161 (islower): Likewise.
27162 (ispunct): Likewise.
27163 (isxdigit): Likewise.
27164 (strcspn): Change to normal function.
27165 (strpbkr): New function declaration.
27166 (memchr): Likewise.
27167
27168 * script/lua/grub_main.c (scan_str): New function.
27169 (strcspn): Likewise.
27170 (strpbrk): Likewise.
27171 (memchr): Likewise.
27172
27173 * script/lua/linit.c (lualibs): Enable the string library.
27174
27175 * util/osdetect.lua: New file.
27176
2da92295 271772009-07-04 Robert Millan <rmh.grub@aybabtu.com>
27178
27179 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27180 `capabilities' member.
27181
b2582ec9 271822009-07-02 Pavel Roskin <proski@gnu.org>
27183
27184 * genparttoollist.sh: Add missing newline at the end.
27185
32622956 271862009-07-01 Pavel Roskin <proski@gnu.org>
27187
87a7339e 27188 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27189
d23af54e 27190 * util/hostdisk.c (open_device): Remove `const' from
27191 `sysctl_size', as sysctlbyname() can change it (in this case it
27192 doesn't actually happen).
27193
c94b18a9 27194 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27195 using signed long int constants.
27196
c6cd3ef0 27197 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27198 constant to avoid a warning on FreeBSD.
27199
0df63420 27200 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27201 where it's needed.
27202
999577f1 27203 * Makefile.in: Install include/grub/machine symlink.
27204
6f41557f 27205 * Makefile.in: When installing symlinks, use "cp -fR", which
27206 works on FreeBSD and MacOSX.
27207 From Yves Blusseau <cl7m42e02@sneakemail.com>
27208
c8d22988 27209 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27210 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27211
1b96e952 27212 * util/misc.c: Move grub_reboot() and grub_halt() ...
27213 * util/grub-emu.c: ... here. Make main_env static.
27214 * include/grub/util/misc.h: Remove main_env.
27215
2ef0084d 27216 * kern/mm.c: Use correct format to print size_t.
27217
32622956 27218 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27219 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27220 * kern/powerpc/dl.c: Likewise.
27221 * kern/sparc64/dl.c: Likewise.
27222 * kern/x86_64/dl.c: Likewise.
27223
3f7f0cd0 272242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27225
27226 Fix grub-emu build on sparc64-ieee1275.
27227
75421ca9 27228 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 27229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27230
211d06b5 272312009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27232
27233 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27234 (grub_reboot, grub_halt): New functions.
27235
27236 * util/i386/pc/misc.c: Delete. Update all users.
27237 * util/sparc64/ieee1275/misc.c: Likewise.
27238 * util/powerpc/ieee1275/misc.c: Likewise.
27239
aaf53e3c 272402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27241
27242 * conf/i386.rmk (setjmp_mod_SOURCES)
27243 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27244 * conf/common.rmk (setjmp_mod_SOURCES)
27245 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27246 to use $(target_cpu).
27247 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27248 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27249 * conf/powerpc-ieee1275.rmk: Likewise.
27250 * conf/sparc64-ieee1275.rmk: Likewise.
27251
27252 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27253 $(target_cpu) for kern/$(target_cpu)/dl.c.
27254 * conf/i386-efi.rmk: Likewise.
27255 * conf/i386-ieee1275.rmk: Likewise.
27256 * conf/x86_64-efi.rmk: Likewise.
27257 * conf/i386-coreboot.rmk: Likewise.
27258 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
27259 $(target_cpu) for kern/$(target_cpu)/dl.c and for
27260 kern/$(target_cpu)/cache.S.
27261 * conf/sparc64-ieee1275.rmk: Likewise.
27262
a337130b 272632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27264
27265 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
27266 type to `grub_uint8_t', and adjust `padding9' accordingly.
27267
c6fe4d53 272682009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27269
b09db61d 27270 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
27271
c6fe4d53 27272 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
27273 assembly in final jump, using register constraints.
27274
b09db61d 27275 (grub_linux_boot): For text mode, initialize `have_vga' using
27276 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
27277
27278 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
27279 right before the final jump.
27280
27281 Set `video_mode' to 0x3.
27282
27283 Document initialization of `video_page', `video_mode' and
27284 `video_ega_bx'.
27285
28333ad0 272862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27287
27288 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
27289 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 27290 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 27291
02164e1b 272922009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27293
27294 Fix build on Debian / sparc.
27295
27296 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
27297
18b6c557 272982009-06-28 Pavel Roskin <proski@gnu.org>
27299
85f2aab6 27300 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
27301 fix a warning.
27302
18b6c557 27303 * util/grub.d/10_linux.in: Match SUSE style initrd names.
27304
ad760f81 273052009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27306
27307 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
27308 `err'.
27309
87a4623b 273102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27311
27312 Revert r2338.
27313
27314 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
27315 file can't be opened. grub_file_open() is already supposed to set
75421ca9 27316 grub_errno / grub_errmsg appropriately.
87a4623b 27317 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27318
8231fb77 273192009-06-27 Pavel Roskin <proski@gnu.org>
273202009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27321
27322 * include/grub/dl.h: Include grub/elf.h.
27323 (struct grub_dl): Add symtab field.
27324 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
27325 GRUB_MODULES_MACHINE_READONLY.
27326 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
27327 of the header for read-only modules.
27328 (grub_dl_unload): Free mod->symtab for read-only modules.
27329 * kern/i386/dl.c: Use mod->symtab.
27330 * kern/powerpc/dl.c: Likewise.
27331 * kern/sparc64/dl.c: Likewise.
27332 * kern/x86_64/dl.c: Likewise.
27333
27334 * conf/i386-qemu.rmk: New file.
27335 * kern/i386/qemu/startup.S: Likewise.
27336 * kern/i386/qemu/mmap.c: Likewise.
27337 * boot/i386/qemu/boot.S: Likewise.
27338 * include/grub/i386/qemu/time.h: Likewise.
27339 * include/grub/i386/qemu/serial.h: Likewise.
27340 * include/grub/i386/qemu/kernel.h: Likewise.
27341 * include/grub/i386/qemu/console.h: Likewise.
27342 * include/grub/i386/qemu/boot.h: Likewise.
27343 * include/grub/i386/qemu/init.h: Likewise.
27344 * include/grub/i386/qemu/machine.h: Likewise.
27345 * include/grub/i386/qemu/loader.h: Likewise.
27346 * include/grub/i386/qemu/memory.h: Likewise.
27347
27348 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
27349 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
27350 [qemu] (pkglib_IMAGES): Add `boot.img'.
27351 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
27352 [qemu] (boot_img_FORMAT): New variables.
27353 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
27354 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
27355 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
27356 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27357 [qemu] (kernel_img_FORMAT): New variables.
27358
27359 * configure.ac: Recognise `i386-qemu'.
27360
27361 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
27362 (for no compression).
27363 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
27364 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
27365 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
27366 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
27367 ifdefs).
27368
97fe384e 273692009-06-27 Pavel Roskin <proski@gnu.org>
27370
27371 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
27372 read.
27373 * efiemu/prepare32.c: Likewise.
27374 * efiemu/prepare64.c: Likewise.
27375
c402ab17 273762009-06-26 Pavel Roskin <proski@gnu.org>
27377
27378 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
27379 * include/grub/elf.h: Define symbols without "32" or "64" based
27380 on GRUB_TARGET_WORDSIZE.
27381 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
27382 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
27383 ELF definitions.
27384 * efiemu/loadcore64.c: Likewise.
27385 * loader/i386/bsd32.c: Likewise.
27386 * loader/i386/bsd64.c: Likewise.
27387 * kern/dl.c: Remove own ELF definitions.
27388 * util/i386/efi/grub-mkimage.c: Likewise.
27389
9bbdfd4d 273902009-06-23 Robert Millan <rmh.grub@aybabtu.com>
27391
27392 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
27393 segment 0x0 unconditionally, because the reference generated by
27394 GAS is an absolute address.
27395
a42ce6e9 273962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27397
27398 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
27399 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
27400
c952cf92 274012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27402
27403 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
27404 indexes. Check for -f explicitly.
cc3752ad 27405 (search_file): Improve error message.
27406 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 27407
132a0a59 274082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27409
27410 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
27411 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
27412
387a140c 274132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27414
27415 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
27416 * conf/i386-ieee1275.rmk: Likewise.
27417 * conf/i386-coreboot.rmk: Likewise.
27418
27419 * kern/i386/pc/startup.S (grub_stop): Remove function.
27420 * kern/i386/ieee1275/startup.S: Likewise.
27421 * kern/i386/coreboot/startup.S: Likewise.
27422 * kern/i386/misc.S (grub_stop): New function.
27423
41da9665 274242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27425
27426 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
27427 * kern/i386/realmode.S (real_to_prot): ... to here.
27428
bf337234 274292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27430
27431 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
27432 with `kernel.img'.
27433 (kernel_elf_SOURCES): Rename to ...
27434 (kernel_img_SOURCES): ... this.
27435 (kernel_elf_HEADERS): Rename to ...
27436 (kernel_img_HEADERS): ... this. Update all users.
27437 (kernel_elf_ASFLAGS): Rename to ...
27438 (kernel_img_ASFLAGS): ... this.
27439 (kernel_elf_CFLAGS): Rename to ...
27440 (kernel_img_CFLAGS): ... this.
27441 (kernel_elf_LDFLAGS): Rename to ...
27442 (kernel_img_LDFLAGS): ... this.
27443 * conf/i386-coreboot.rmk: Likewise.
27444 * conf/powerpc-ieee1275.rmk: Likewise.
27445
27446 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
27447 with "kernel.img".
27448
f52196ff 274492009-06-21 Pavel Roskin <proski@gnu.org>
27450
c3cee413 27451 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
27452 to match nested functions.
27453 * loader/sparc64/ieee1275/linux.c: Likewise.
27454
f52196ff 27455 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
27456
58750afc 274572009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27458
27459 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
27460 all i386 platforms.
27461
15355c7d 274622009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27463
27464 Fix asm file handling on ELF, and remove workarounds.
27465
27466 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 27467 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 27468 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
27469 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
27470
3f3ec72b 274712009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
27472
27473 Load BSD ELF modules
27474
27475 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
27476 and loader/i386/bsd64.c
27477 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
27478 (FREEBSD_MODTYPE_ELF_MODULE): New definition
27479 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
27480 (grub_freebsd_load_elfmodule32): New declaration
27481 (grub_freebsd_load_elfmoduleobj64): Likewise
27482 (grub_freebsd_load_elf_meta32): Likewise
27483 (grub_freebsd_load_elf_meta64): Likewise
27484 (grub_freebsd_add_meta): Likewise
27485 (grub_freebsd_add_meta_module): Likewise
27486 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
27487 (grub_freebsd_add_meta_module): Likewise and move module-specific
27488 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
27489 (grub_cmd_freebsd): Add elf-kernel specific parts
27490 based on grub_freebsd_add_meta_module
27491 (grub_cmd_freebsd_module): Add type parsing moved from
27492 grub_freebsd_add_meta_module
27493 (grub_cmd_freebsd_module_elf): New function
27494 (cmd_freebsd_module_elf): New variable
27495 (GRUB_MOD_INIT): Register freebsd_module_elf
27496 * loader/i386/bsd32.c: New file
27497 * loader/i386/bsd64.c: Likewise
27498 * loader/i386/bsdXX.c: Likewise
27499 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
27500 (grub_elf64_load): Likewise
27501 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
27502 All users updated
27503 (grub_elf64_load_hook_t): Likewise
27504
0db15301 275052009-06-21 Colin Watson <cjwatson@ubuntu.com>
27506
27507 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
27508 variable.
27509 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
27510 don't write a menu entry for recovery mode.
27511
546796c1 275122009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27513
27514 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
27515 after it's no longer needed.
27516
cd7310d5 275172009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27518
27519 * include/grub/i386/loader.h (grub_linux_prot_size)
27520 (grub_linux_tmp_addr, grub_linux_real_addr)
27521 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
27522 GRUB_MACHINE_PCBIOS.
27523 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
27524 common grub_util_info() call to ...
27525 (generate_image): ... here.
27526 Fix use of uninitialized memory, comparison of signed with
27527 unsigned integers and memory leak.
27528 Remove bogus module address message.
27529
ab32d3b5 275302009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27531
27532 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
27533 grub_raid_register
27534 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
27535
024ef597 275362009-06-19 Pavel Roskin <proski@gnu.org>
27537
27538 * configure.ac: Remove stray AC_MSG_CHECKING.
27539
3ac72b51 275402009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
27541
27542 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 27543
e14cd814 275442009-06-18 Pavel Roskin <proski@gnu.org>
27545
27546 * conf/common.rmk: Add fs_file.mod.
27547 * disk/fs_file.c: New file.
27548 * include/grub/disk.h (enum grub_disk_dev_id): Add
27549 GRUB_DISK_DEVICE_FILE_ID.
27550
26586d98 275512009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27552
27553 Fix build with Apple's toolchain. Part 2
27554
27555 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
27556 a fake start
27557
26de2bcd 275582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27559
27560 Fix build with Apple's toolchain. Part 1
27561
27562 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
27563 for long calls
27564 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 27565 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 27566 Apple's toolchain
27567
09b3490b 275682009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27569
27570 Fix warnings
27571
27572 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
27573 (decomp_block): initialize ch
27574 use grub_memcpy instead of memcpy
27575
c22a006a 275762009-06-17 Pavel Roskin <proski@gnu.org>
27577
d3638678 27578 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
27579 version, use declarations needed to use vga_text as the startup
27580 console.
27581
c22a006a 27582 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
27583 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
27584 the kernel.
27585 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
27586 and grub_at_keyboard_fini(), it's done on module load and
27587 unload.
27588
05b129e0 275892009-06-17 Felix Zielcke <fzielcke@z-51.de>
27590
27591 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
27592 file can't be found.
27593 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27594
cf24ed9e 275952009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27596
27597 Fix newline handling
27598
27599 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 27600 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 27601 (grub_script_yylex): don't segfault on unterminated script
27602 newline terminates command and variable
27603
74aa8e4b 276042009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27605
27606 avoid double grub_adjust_range call. Bug reported by David Simner
27607
27608 * kern/disk.c (grub_disk_write): change to raw disk access before
27609 calling disk_read
27610
1bd265f3 276112009-06-17 Colin Watson <cjwatson@ubuntu.com>
27612
27613 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
27614 spaces, for the benefit of help2man.
27615 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27616
a2d08c06 276172009-06-16 Pavel Roskin <proski@gnu.org>
27618
27619 * kern/i386/halt.c: Include grub/machine/init.h.
27620 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
27621
b97bcb19 276222009-06-16 Felix Zielcke <fzielcke@z-51.de>
27623
27624 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27625 drivemap menuentry.
27626
0644f96c 276272009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27628
27629 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27630 `echo' command.
27631
3ef17a2e 276322009-06-16 Pavel Roskin <proski@gnu.org>
27633
27634 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27635 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27636 save %dx, we only need %dl and we never change it.
27637 * boot/i386/pc/cdboot.S: Don't set the root drive.
27638 * boot/i386/pc/pxeboot.S: Likewise.
27639 * include/grub/i386/pc/boot.h: Remove
27640 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27641 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27642 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27643 * kern/i386/pc/init.c (make_install_device): Remove references
27644 to grub_root_drive.
27645 * kern/i386/pc/startup.S: Likewise.
27646 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27647
693fe637 276482009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27649
27650 xnu_uuid command
27651
27652 * commands/xnu_uuid.c: new file
27653 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27654 (xnu_uuid_mod_SOURCES): new variable
27655 (xnu_uuid_mod_CFLAGS): likewise
27656 (xnu_uuid_mod_LDFLAGS): likewise
27657 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27658 * conf/i386-ieee1275.rmk: likewise
27659 * conf/i386-pc.rmk: likewise
27660 * conf/powerpc-ieee1275.rmk: likewise
27661 * conf/sparc64-ieee1275.rmk: likewise
27662 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27663
c9da87d0 276642009-06-16 Pavel Roskin <proski@gnu.org>
27665
27666 * configure.ac: Avoid '==' in test command, it's not portable.
27667
9c6f4596 276682009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27669
27670 Probe command
27671
27672 * commands/probe.c: new file
27673 * conf/common.rmk (pkglib_MODULES): add probe.mod
27674 (probe_mod_SOURCES): new variable
27675 (probe_mod_CFLAGS): likewise
27676 (probe_mod_LDFLAGS): likewise
27677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27678 * conf/i386-ieee1275.rmk: likewise
27679 * conf/i386-pc.rmk: likewise
27680 * conf/powerpc-ieee1275.rmk: likewise
27681 * conf/sparc64-ieee1275.rmk: likewise
27682
70b7f9fd 276832009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Fix handling of string like \"hello\" and "a
27686 b"
27687
27688 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27689 (grub_script_yylex): fix parsing of quoting, escaping and newline
27690
71c79a6b 276912009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27692
dd74360c 27693 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27694 handling
dd74360c 27695
0644f96c 276962009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27697
27698 * util/grub-mkconfig.in: Fix parsing of --output option.
27699
e40893c3 277002009-06-12 Pavel Roskin <proski@gnu.org>
27701
27702 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27703 genmk.rb don't need to be generated or installed.
27704
3a1acfe2 277052009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27706
27707 * commands/i386/pc/drivemap_int13h.S: add more comments
27708
3a4575d4 277092009-06-11 Pavel Roskin <proski@gnu.org>
27710
0658e928 27711 * Makefile.in (uninstall): Uninstall manuals.
27712
ca0388f0 27713 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27714 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27715 and update-grub_lib in two places.
27716 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27717
e3b27c39 27718 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27719 a compiler warning.
27720
3a4575d4 27721 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27722 `entry_lo' to fix variable shadowing.
27723
af1f4f55 277242009-06-11 Christian Franke <franke@computer.org>
27725
27726 * kern/misc.c (__enable_execute_stack): Add missing return type
27727 to prevent gcc warning.
27728
5225e649 277292009-06-11 Felix Zielcke <fzielcke@z-51.de>
27730
27731 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27732
7d83bd47 277332009-06-11 Pavel Roskin <proski@gnu.org>
27734
c1cb63ba 27735 * Makefile.in: Don't rely on any scripts being executable.
27736 Always use $(SHELL) to run shell scripts.
27737
7d83bd47 27738 * configure.ac: Always define ___main if using -nostdlib. This
27739 fixes tests on Cygwin.
27740
948f48e7 277412009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27742
27743 UDF fix
27744
7d83bd47 27745 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27746 is in bytes and not in blocks
7d83bd47 27747
8ada9bc1 277482009-06-11 Pavel Roskin <proski@gnu.org>
27749
27750 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27751 warning.
27752
25ad2323 277532009-06-11 Felix Zielcke <fzielcke@z-51.de>
27754
27755 * util/grub.d/30_os-prober.in: Fix a comment. Source
27756 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27757 to set the root device. Place drivemap command in the generated
27758 chain entry.
27759
e65acb0c 277602009-06-11 Pavel Roskin <proski@gnu.org>
27761
27762 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27763 have long been resolved.
27764
f285fe2d 277652009-06-11 Colin Watson <cjwatson@ubuntu.com>
27766
bd47b0b5 27767 * util/grub.d/10_linux.in: Capitalise "Linux".
27768
f285fe2d 27769 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27770
a0c62e4e 277712009-06-11 Pavel Roskin <proski@gnu.org>
27772
b6783cb2 27773 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27774 fix a gcc warning and ensure that the function won't ever exit.
27775
dde032e8 27776 * kern/i386/ieee1275/init.c: Add missing prototype for
27777 grub_stop_floppy().
27778
22cd079d 27779 * loader/ieee1275/multiboot2.c [__i386__]: Include
27780 grub/cpu/multiboot.h.
27781
a0c62e4e 27782 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27783 casts to short - they are not portable and cause warnings. Fix
27784 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27785
63963d17 277862009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27787
27788 Drivemap fixes
27789
27790 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27791 new function
27792 (grub_get_root_biosnumber_saved): new variable
27793 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27794 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27795 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27796 %dx after the call if necessary
27797 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27798 (boot_mod_SOURCES): remove
27799 (boot_mod_CFLAGS): remove
27800 (boot_mod_LDFLAGS): remove
27801 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27802 (boot_mod_SOURCES): new variable
27803 (boot_mod_CFLAGS): likewise
27804 (boot_mod_LDFLAGS): likewise
27805 * conf/i386-efi.rmk: likewise
27806 * conf/i386-ieee1275.rmk: likewise
27807 * conf/i386-pc.rmk: likewise
27808 * conf/powerpc-ieee1275.rmk: likewise
27809 * conf/sparc64-ieee1275.rmk: likewise
27810 * conf/x86_64-efi.rmk: likewise
27811 * include/grub/i386/pc/biosnum.h: new file
27812 * lib/i386/pc/biosnum.c: likewise
27813 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27814 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27815 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27816
33abf7ae 278172009-06-10 Pavel Roskin <proski@gnu.org>
27818
5ac35b35 27819 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27820 Use separate variables. Read only the file size at the end, but
27821 not the checksum that we don't use.
27822
5c5215d5 27823 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27824 Adjust all callers.
27825
27d5fef7 27826 * kern/ieee1275/openfw.c: Remove libc includes.
27827 * kern/ieee1275/cmain.c: Likewise.
27828 * include/grub/ieee1275/ieee1275.h: Likewise.
27829
33abf7ae 27830 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27831 compiler warnings.
27832
19d50c2b 278332009-06-10 Felix Zielcke <fzielcke@z-51.de>
27834
27835 * Makefile.in: Remove all trailing whitespace.
27836 * conf/i386-pc.rmk: Likewise.
27837 * conf/powerpc-ieee1275.rmk: Likewise.
27838 * conf/sparc64-ieee1275.rmk: Likewise.
27839 * docs/grub.texi: Likewise.
27840 * docs/texinfo.tex: Likewise.
27841 * disk/fs_uuid.c: Likewise.
27842 * disk/lvm.c: Likewise.
27843 * disk/scsi.c: Likewise.
27844 * disk/ata.c: Likewise.
27845 * disk/ieee1275/ofdisk.c: Likewise.
27846 * disk/i386/pc/biosdisk.c: Likewise.
27847 * disk/host.c: Likewise.
27848 * disk/raid.c: Likewise.
27849 * disk/efi/efidisk.c: Likewise.
27850 * disk/usbms.c: Likewise.
27851 * disk/memdisk.c: Likewise.
27852 * disk/loopback.c: Likewise.
27853 * kern/powerpc/dl.c: Likewise.
27854 * kern/device.c: Likewise.
27855 * kern/dl.c: Likewise.
27856 * kern/sparc64/dl.c: Likewise.
27857 * kern/ieee1275/ieee1275.c: Likewise.
27858 * kern/term.c: Likewise.
27859 * kern/fs.c: Likewise.
27860 * kern/i386/dl.c: Likewise.
27861 * kern/i386/pc/startup.S: Likewise.
27862 * kern/i386/pc/init.c: Likewise.
27863 * kern/i386/pc/mmap.c: Likewise.
27864 * kern/i386/pc/lzo1x.S: Likewise.
27865 * kern/i386/ieee1275/init.c: Likewise.
27866 * kern/i386/realmode.S: Likewise.
27867 * kern/i386/tsc.c: Likewise.
27868 * kern/partition.c: Likewise.
27869 * kern/corecmd.c: Likewise.
27870 * kern/file.c: Likewise.
27871 * kern/efi/efi.c: Likewise.
27872 * kern/efi/init.c: Likewise.
27873 * kern/efi/mm.c: Likewise.
27874 * kern/main.c: Likewise.
27875 * kern/err.c: Likewise.
27876 * kern/env.c: Likewise.
27877 * kern/disk.c: Likewise.
27878 * kern/generic/millisleep.c: Likewise.
27879 * kern/generic/rtc_get_time_ms.c: Likewise.
27880 * kern/misc.c: Likewise.
27881 * kern/parser.c: Likewise.
27882 * genmk.rb: Likewise.
27883 * configure.ac: Likewise.
27884 * boot/i386/pc/diskboot.S: Likewise.
27885 * boot/i386/pc/pxeboot.S: Likewise.
27886 * boot/i386/pc/boot.S: Likewise.
27887 * boot/i386/pc/lnxboot.S: Likewise.
27888 * boot/i386/pc/cdboot.S: Likewise.
27889 * parttool/pcpart.c: Likewise.
27890 * video/readers/tga.c: Likewise.
27891 * video/video.c: Likewise.
27892 * video/bitmap.c: Likewise.
27893 * lib/envblk.c: Likewise.
27894 * lib/i386/setjmp.S: Likewise.
27895 * fs/xfs.c: Likewise.
27896 * fs/afs.c: Likewise.
27897 * fs/fat.c: Likewise.
27898 * fs/ntfs.c: Likewise.
27899 * fs/udf.c: Likewise.
27900 * fs/affs.c: Likewise.
27901 * fs/iso9660.c: Likewise.
27902 * fs/hfs.c: Likewise.
27903 * fs/fshelp.c: Likewise.
27904 * fs/ext2.c: Likewise.
27905 * fs/jfs.c: Likewise.
27906 * fs/reiserfs.c: Likewise.
27907 * fs/hfsplus.c: Likewise.
27908 * fs/minix.c: Likewise.
27909 * fs/cpio.c: Likewise.
27910 * fs/sfs.c: Likewise.
27911 * fs/ufs.c: Likewise.
27912 * efiemu/prepare.c: Likewise.
27913 * efiemu/loadcore_common.c: Likewise.
27914 * efiemu/runtime/efiemu.sh: Likewise.
27915 * efiemu/runtime/efiemu.S: Likewise.
27916 * efiemu/runtime/efiemu.c: Likewise.
27917 * efiemu/pnvram.c: Likewise.
27918 * efiemu/main.c: Likewise.
27919 * efiemu/i386/pc/cfgtables.c: Likewise.
27920 * efiemu/i386/loadcore64.c: Likewise.
27921 * efiemu/i386/loadcore32.c: Likewise.
27922 * efiemu/loadcore.c: Likewise.
27923 * efiemu/symbols.c: Likewise.
27924 * efiemu/mm.c: Likewise.
27925 * include/grub/autoefi.h: Likewise.
27926 * include/grub/datetime.h: Likewise.
27927 * include/grub/term.h: Likewise.
27928 * include/grub/hfs.h: Likewise.
27929 * include/grub/lvm.h: Likewise.
27930 * include/grub/i386/tsc.h: Likewise.
27931 * include/grub/i386/linux.h: Likewise.
27932 * include/grub/i386/xnu.h: Likewise.
27933 * include/grub/i386/efiemu.h: Likewise.
27934 * include/grub/i386/pc/biosdisk.h: Likewise.
27935 * include/grub/i386/pc/memory.h: Likewise.
27936 * include/grub/i386/pc/vbe.h: Likewise.
27937 * include/grub/parttool.h: Likewise.
27938 * include/grub/video.h: Likewise.
27939 * include/grub/memory.h: Likewise.
27940 * include/grub/fs.h: Likewise.
27941 * include/grub/partition.h: Likewise.
27942 * include/grub/xnu.h: Likewise.
27943 * include/grub/efi/api.h: Likewise.
27944 * include/grub/efi/pe32.h: Likewise.
27945 * include/grub/efi/memory.h: Likewise.
27946 * include/grub/multiboot.h: Likewise.
27947 * include/grub/usbdesc.h: Likewise.
27948 * include/grub/multiboot2.h: Likewise.
27949 * include/grub/acpi.h: Likewise.
27950 * include/grub/efiemu/efiemu.h: Likewise.
27951 * include/grub/disk.h: Likewise.
27952 * include/grub/ieee1275/ieee1275.h: Likewise.
27953 * include/grub/net.h: Likewise.
27954 * include/grub/machoload.h: Likewise.
27955 * include/grub/macho.h: Likewise.
27956 * include/multiboot.h: Likewise.
27957 * genmoddep.awk: Likewise.
27958 * normal/main.c: Likewise.
27959 * normal/menu_entry.c: Likewise.
27960 * normal/menu_viewer.c: Likewise.
27961 * normal/completion.c: Likewise.
27962 * normal/cmdline.c: Likewise.
27963 * normal/misc.c: Likewise.
27964 * normal/datetime.c: Likewise.
27965 * bus/usb/usbtrans.c: Likewise.
27966 * bus/usb/ohci.c: Likewise.
27967 * bus/usb/uhci.c: Likewise.
27968 * bus/usb/usb.c: Likewise.
27969 * mmap/efi/mmap.c: Likewise.
27970 * mmap/i386/pc/mmap_helper.S: Likewise.
27971 * mmap/i386/pc/mmap.c: Likewise.
27972 * mmap/i386/mmap.c: Likewise.
27973 * mmap/i386/uppermem.c: Likewise.
27974 * mmap/mmap.c: Likewise.
27975 * commands/acpi.c: Likewise.
27976 * commands/echo.c: Likewise.
27977 * commands/blocklist.c: Likewise.
27978 * commands/loadenv.c: Likewise.
27979 * commands/usbtest.c: Likewise.
27980 * commands/boot.c: Likewise.
27981 * commands/parttool.c: Likewise.
27982 * commands/search.c: Likewise.
27983 * commands/cat.c: Likewise.
27984 * commands/i386/pc/play.c: Likewise.
27985 * commands/i386/pc/drivemap.c: Likewise.
27986 * commands/i386/pc/vbeinfo.c: Likewise.
27987 * commands/i386/pc/acpi.c: Likewise.
27988 * commands/i386/pc/vbetest.c: Likewise.
27989 * commands/ls.c: Likewise.
27990 * commands/cmp.c: Likewise.
27991 * commands/test.c: Likewise.
27992 * commands/efi/acpi.c: Likewise.
27993 * commands/gptsync.c: Likewise.
27994 * commands/help.c: Likewise.
27995 * partmap/amiga.c: Likewise.
27996 * partmap/apple.c: Likewise.
27997 * partmap/acorn.c: Likewise.
27998 * partmap/pc.c: Likewise.
27999 * partmap/sun.c: Likewise.
28000 * partmap/gpt.c: Likewise.
28001 * script/sh/lexer.c: Likewise.
28002 * script/sh/function.c: Likewise.
28003 * font/font.c: Likewise.
28004 * font/font_cmd.c: Likewise.
28005 * loader/powerpc/ieee1275/linux.c: Likewise.
28006 * loader/efi/chainloader.c: Likewise.
28007 * loader/multiboot_loader.c: Likewise.
28008 * loader/macho.c: Likewise.
28009 * loader/i386/multiboot.c: Likewise.
28010 * loader/i386/linux.c: Likewise.
28011 * loader/i386/pc/linux.c: Likewise.
28012 * loader/i386/pc/multiboot2.c: Likewise.
28013 * loader/i386/pc/chainloader.c: Likewise.
28014 * loader/i386/pc/xnu.c: Likewise.
28015 * loader/i386/bsd_trampoline.S: Likewise.
28016 * loader/i386/efi/linux.c: Likewise.
28017 * loader/i386/multiboot_elfxx.c: Likewise.
28018 * loader/i386/bsd_helper.S: Likewise.
28019 * loader/i386/bsd.c: Likewise.
28020 * loader/i386/linux_trampoline.S: Likewise.
28021 * loader/i386/xnu_helper.S: Likewise.
28022 * loader/i386/xnu.c: Likewise.
28023 * loader/i386/bsd_pagetable.c: Likewise.
28024 * loader/i386/multiboot_helper.S: Likewise.
28025 * loader/xnu.c: Likewise.
28026 * loader/xnu_resume.c: Likewise.
28027 * io/gzio.c: Likewise.
28028 * term/efi/console.c: Likewise.
28029 * term/terminfo.c: Likewise.
28030 * term/ieee1275/ofconsole.c: Likewise.
28031 * term/i386/pc/serial.c: Likewise.
28032 * term/i386/pc/vesafb.c: Likewise.
28033 * term/i386/pc/vga.c: Likewise.
28034 * term/usb_keyboard.c: Likewise.
28035 * term/gfxterm.c: Likewise.
28036 * aclocal.m4: Likewise.
28037 * util/lvm.c: Likewise.
28038 * util/grub.d/30_os-prober.in: Likewise.
28039 * util/grub.d/10_hurd.in: Likewise.
28040 * util/console.c: Likewise.
28041 * util/grub-macho2img.c: Likewise.
28042 * util/grub-probe.c: Likewise.
28043 * util/hostfs.c: Likewise.
28044 * util/i386/pc/grub-mkimage.c: Likewise.
28045 * util/i386/pc/grub-setup.c: Likewise.
28046 * util/i386/efi/grub-mkimage.c: Likewise.
28047 * util/grub-mkconfig.in: Likewise.
28048 * util/raid.c: Likewise.
28049 * util/resolve.c: Likewise.
28050 * util/grub-mkdevicemap.c: Likewise.
28051 * util/grub-emu.c: Likewise.
28052 * util/getroot.c: Likewise.
28053 * util/hostdisk.c: Likewise.
28054 * util/usb.c: Likewise.
28055 * util/grub-editenv.c: Likewise.
28056 * util/misc.c: Likewise.
28057
d2d49665 280582009-06-10 Felix Zielcke <fzielcke@z-51.de>
28059
28060 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28061 `genparttoollist.sh'.
28062 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28063 Add `*.sh' to the list find searches for and change `mdate.sh'
28064 to `mdate-sh'.
28065
fe052e37 280662009-06-10 Pavel Roskin <proski@gnu.org>
28067
2763ac18 28068 * include/grub/multiboot2.h: Provide compatibility defines for
28069 multiboot2.h.
28070 * include/multiboot2.h: Include stdint.h only if needed, using
28071 angle brackets.
28072 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28073 grub/multiboot2.h.
28074 * loader/ieee1275/multiboot2.c: Likewise.
28075 * loader/multiboot2.c: Likewise.
28076 * loader/multiboot_loader.c: Likewise.
28077
437e6adc 28078 * configure.ac: Use -nostdlib when probing for the target. It
28079 should not be required to have libc for the target.
28080
06a6836c 28081 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28082 they fail without libc headers for the target.
28083 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28084 exports.
28085 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28086 preprocessor conditionals.
28087
fe052e37 28088 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28089 build system doesn't need to be aware of the tar.c internals.
28090
afd22553 280912009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 28092
afd22553 28093 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 28094
6b787c4f 280952009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28096
28097 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28098 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28099
281002009-06-09 Felix Zielcke <fzielcke@z-51.de>
28101
28102 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 28103 aren't available if ata.mod gets used.
6b787c4f 28104
473d1e45 281052009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 28106
473d1e45 28107 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 28108 initialising controller.
473d1e45 28109 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 28110
255a27d4 281112009-06-08 Felix Zielcke <fzielcke@z-51.de>
28112
28113 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28114 to choose between ata and biosdisk module on i386-pc.
28115
473d1e45 281162009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 28117
d55842d8 28118 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28119 Subclass and Programming Interface fields in terms of the 3 byte
28120 Class Code register.
28121 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28122
fa5db0b1 28123 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28124 interface is OHCI. Add grub_dprintf for symmetry with
28125 bus/usb/uhci.c.
28126 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28127 interface is UHCI. Add interf variable for programming
28128 interface. Print interface with class/subclass.
28129
c0947beb 28130 * bus/usb/ohci.c: Set interf with correct field.
28131
69da8877 28132 * bus/usb/uhci.c: Remove unneeded doubled lines.
28133 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28134 Remove whitespace inside comment.
28135
9e172e30 281362009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28137
28138 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28139 as fallback an equivalent option without depth.
28140
de65ee2b 281412009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 Not fail if unable to retrieve C/H/S on LBA disks
28144
473d1e45 28145 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 28146 if unable to retrieve C/H/S on LBA disks
28147
b57ea2c9 281482009-06-08 Pavel Roskin <proski@gnu.org>
28149
28150 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28151 about aliasing.
28152
af361263 281532009-06-08 Felix Zielcke <fzielcke@z-51.de>
28154
28155 * Makefile.in (uninstall): Remove all $lib_DATA files.
28156
4c9ec6b3 281572009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28158
28159 Bugfix: install on partitionless device
28160
28161 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28162 is a whole disk
28163
e76fc924 281642009-06-08 Felix Zielcke <fzielcke@z-51.de>
28165
28166 * Makefile.in (uninstall): Remove all $include_DATA files.
28167
ba5a0d05 281682009-06-08 Felix Zielcke <fzielcke@z-51.de>
28169
28170 * commands/true.c: New file. Implement the true and false commands.
28171 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28172 (true_mod_SOURCES): New variable.
28173 (true_mod_CFLAGS): Likewise.
28174 (true_mod_LDFLAGS): Likewise.
28175
c8048e32 281762009-06-05 Colin D Bennett <colin@gibibit.com>
28177
28178 Optimized font character lookup using binary search instead of linear
28179 search. Fonts now are required to have the character index ordered by
28180 code point.
28181
28182 * font/font.c (load_font_index): Verify that fonts have ordered
28183 character indices.
28184 (find_glyph): Use binary search instead of linear search to find a
28185 character in a font.
28186
408305be 281872009-06-05 Michael Scherer <misc@mandriva.org>
28188
28189 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28190 uses case sensitive btree.
28191 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28192 only for case insensitive filesystems.
28193
8ee1e0d9 281942009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28195
28196 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28197 * conf/common.rmk (search_mod_CFLAGS): likewise
28198
a9966eb1 281992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28200
473d1e45 28201 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 28202 compensate a compiler bug
28203
9e7100fb 282042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28205
473d1e45 28206 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 28207 instead of '\b'
473d1e45 28208
ede21d71 282092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28210
28211 Definitions for creating asm symbols with Apple's CC
28212
28213 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28214 [APPLE_CC] (VARIABLE): likewise
28215
9dbf7653 282162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28217
28218 Disable lnxboot.img when compiled
28219 with Apple's CC
28220
28221 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28222 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28223 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28224 [! APPLE_CC] (CODE_LENG): skip
28225 [! APPLE_CC] (setup_sects): likewise
28226 [! APPLE_CC]: skip filling
473d1e45 28227
e93cdc3d 282282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28229
28230 Address in trampolines based on 32-bit registers when compiled
28231 with Apple's CC
28232
473d1e45 28233 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 28234 for addresses
28235 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28236
6c688477 282372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28238
28239 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28240
28241 * kern/misc.c [APPLE_CC] (memcpy): new function
28242 [APPLE_CC] (memmove): likewise
28243 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 28244 (memcpy): define alias conditionally on !APPLE_CC
6c688477 28245 (memset): likewise
28246 (abort): likewise
28247 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28248 APPLE_CC are defined
28249 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28250 (grub_assert_fail): make prototype conditional
28251
e37ffc5c 282522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28253
28254 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
28255
473d1e45 28256 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
28257 grub-macho2img
e37ffc5c 28258 (CLEANFILES): add grub-macho2img
28259 (grub_macho2img_SOURCES): new variable
28260 * kern/i386/pc/startup.S (bss_start): new variable
28261 (bss_end): likewise
28262 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
28263 * util/grub-macho2img.c: new file
28264
cf00df31 282652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28266
28267 Use objconv when compiling with Apple's CC
28268
28269 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
28270 (efiemu64.o): likewise
28271 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
28272 when compiling with Apple's CC
28273 (efiemu64_s.o): likewise
28274 * configure.ac: check for objconv when compiling with Apple's CC
28275 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 28276
d119a20c 282772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28278
28279 Define segment as well as section when compiling with
28280 Apple's CC
28281
28282 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
28283 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
28284 (efiemu_convert_pointer): likewise
28285 (efiemu_set_virtual_address_map): likewise
28286 (efiemu_convert_pointer): likewise
28287 (efiemu_getcrc32): likewise
28288 (init_crc32_table): likewise
28289 (reflect): likewise
28290 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
28291 (GRUB_MOD_DEP): likewise
473d1e45 28292
c8600122 282932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 Allow a compilation without -mcmodel=large
28296
28297 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
28298 when compiled without -mcmodel=large
473d1e45 28299 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 28300 without -mcmodel=large
473d1e45 28301 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 28302 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 28303
e8df1d4e 283042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28305
28306 Remove nested functions in efiemu core
28307
28308 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 28309
cc6c3ac1 283102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
28313
28314 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
28315 temporary storage
473d1e45 28316 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
28317 using Apple's CC
cc6c3ac1 28318 (grub_cpu_is_tsc_supported): likewise
28319 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 28320
3e325901 283212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 Absolute addressing through constant with Apple's cc
28324
28325 * kern/i386/pc/startup.S: Define necessary constants
28326 and address through it when using ABS with Apple's CC
28327 * boot/i386/pc/diskboot.S: likewise
28328 * boot/i386/pc/boot.S: likewise
28329 * boot/i386/pc/lnxboot.S: likewise
28330 * boot/i386/pc/cdboot.S: likewise
28331 * mmap/i386/pc/mmap_helper.S: likewise
28332 * commands/i386/pc/drivemap_int13h.S: likewise
28333
2b167a72 283342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28335
28336 Check if compiler is apple cc
28337
28338 * Makefile.in (ASFLAGS): new variable
28339 (TARGET_ASFLAGS): likewise
28340 (TARGET_MODULE_FORMAT): likewise
28341 (TARGET_APPLE_CC): likewise
28342 (OBJCONV): likewise
28343 (TARGET_IMG_CFLAGS): likewise
28344 (TARGET_CPPFLAGS): add includedir
28345 * configure.ac: call grub_apple_cc and grub_apple_target_cc
28346 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
28347 Check for linker script only if compiler isn't Apple's CC
28348 (TARGET_MODULE_FORMAT): set
28349 (TARGET_APPLE_CC): likewise
28350 (TARGET_ASFLAGS): likewise
28351 (ASFLAGS): likewise
28352 Check for objcopy only if compiler isn't Apple's CC
28353 Check for BSS symbol only if compiler isn't Apple's CC
28354 * genmk.rb: adapt nm options if we use Apple's utils
28355 * aclocal.m4 (grub_apple_cc): new test
28356 (grub_apple_target_cc): likewise
473d1e45 28357
fb14123e 283582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28359
28360 Simplify sed expressions and improve awk
28361
28362 * Makefile.in (install-local): simplify sed expression
28363 * gencmdlist.sh: likewise
28364 * genmoddep.awk: avoid adding module as a dependency of itself
28365
5b889789 283662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28367
28368 Add missing start symbols
28369
28370 * boot/i386/pc/boot.S: add start
fb14123e 28371 * boot/i386/pc/pxeboot.S: likewise
473d1e45 28372
fd2bf2e3 283732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28374
28375 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 28376
28377 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 28378 (relocate_addresses): consider both r_addend and value at offset
28379 (make_mods_section): zerofill modinfo and header
28380 (convert_elf): write prefix here
473d1e45 28381
5389763d 283822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28383
28384 Use .asciz instead of .string
28385
28386 * i386/pc/diskboot.S: use .asciz instead of .string
28387 * i386/pc/boot.S: likewise
28388 * include/grub/dl.h (GRUB_MOD_DEP): likewise
28389 (GRUB_MOD_NAME): likewise
473d1e45 28390
3eb5ed4e 283912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28392
28393 gfxpayload support
28394
28395 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
28396 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
28397 (grub_video_setup): remove
28398 (grub_video_set_mode): new prototype
28399 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
28400 (vid_mode): remove
28401 (linux_vesafb_res): compile only on PCBIOS
28402 (grub_linux_boot): support gfxpayload
28403 * loader/i386/pc/xnu.c (video_hook): new function
28404 (grub_xnu_set_video): support gfxpayload
28405 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
28406 (DEFAULT_VIDEO_HEIGHT): likewise
28407 (DEFAULT_VIDEO_FLAGS): likewise
28408 (DEFAULT_VIDEO_MODE): new definition
28409 (video_hook): new function
28410 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 28411 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 28412 loading xnu
28413 * video/video.c (grub_video_setup): removed
473d1e45 28414 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 28415 grub_video_setup
28416
4b0e1143 284172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28418
28419 Avoid calling biosdisk in drivemap
28420
28421 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
28422 (revparse_biosdisk): likewise
28423 (list_mappings): derive name from id directly
28424 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 28425
fda6cb98 284262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 Script fixes
28429
28430 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
28431 (grub_lexer_param): add tokenonhold
28432 (grub_script_create_cmdline): remove cmdline. All callers updated
28433 (grub_script_function_create): make functionname
28434 grub_script_arg. All callers updated
28435 (grub_script_execute_argument_to_string): new prototype
28436 * kern/parser.c (state_transitions): reorder
28437 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 28438 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 28439 make global
28440 (grub_script_execute_cmdline): use new format
28441 * script/sh/function.c (grub_script_function_create): make functionname
28442 grub_script_arg. All callers updated
473d1e45 28443 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 28444 (grub_script_yylex): remove
28445 (grub_script_yylex2): renamed to ...
28446 (grub_script_yylex): ...renamed
28447 parse the expressions like a${b}c
28448 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
28449 (GRUB_PARSER_TOKEN_VAR): remove
28450 (GRUB_PARSER_TOKEN_NAME): likewise
28451 ("if"): declare as typeless
28452 ("while"): likewise
28453 ("function"): likewise
28454 ("else"): likewise
28455 ("then"): likewise
28456 ("fi"): likewise
28457 (text): remove
28458 (argument): likewise
28459 (script): accept empty scripts and make exit on error
28460 (arguments): use GRUB_PARSER_TOKEN_ARG
28461 (function): likewise
28462 (command): move error handling to script
28463 (menuentry): move grub_script_lexer_ref before
473d1e45 28464 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 28465 argument. All callers updated
28466
f4448a07 284672009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28468
28469 Prevent GRUB from probing floppies during boot.
28470
28471 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
28472 * commands/search.c (options): Add --no-floppy.
28473 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
28474 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
28475 --no-floppy when searching for UUIDs.
28476
2bf5885a 284772009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28478
28479 Simplify the code duplication in commands/search.c.
28480
28481 * commands/search.c (search_label, search_fs_uuid): Merge into ...
28482 (search_fs): ... this. Update all users.
28483
f6fd460a 284842009-06-03 Felix Zielcke <fzielcke@z-51.de>
28485
28486 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
28487
cbb3c83e 284882009-05-28 Pavel Roskin <proski@gnu.org>
28489
57788cfd 28490 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
28491 Remove the original symlink explicitly.
28492
cbb3c83e 28493 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
28494 just one slash. That's how grub_fshelp_find_file() does it.
28495
cd0d5e30 284962009-05-26 Pavel Roskin <proski@gnu.org>
28497
f0f8bbe2 28498 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
28499 to `str'.
28500
cd0d5e30 28501 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
28502 possibly unused.
28503
8c2cab51 285042009-05-25 Christian Franke <franke@computer.org>
28505
28506 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
28507 register.
28508 (grub_atapi_identify): Add wait after drive select.
28509 (grub_ata_identify): Do more strict status register check before
28510 calling grub_atapi_identify (). Suppress error message if status
28511 register is 0x00 after command failure. Add status register
28512 check after PIO read to avoid bogus identify due to stuck DRQ.
28513 Thanks to Pavel Roskin for testing.
28514 (grub_device_initialize): Remove unsafe status register check.
28515 Thanks to 'phcoder' for problem report and patch.
28516 Prevent sign extension in debug message.
28517
230c0ad6 285182009-05-23 Colin D Bennett <colin@gibibit.com>
28519
28520 Cleaned up `include/grub/normal.h'. Grouped prototypes by
28521 definition file, and functions defined in `normal/menu.c' have had
28522 their prototypes moved to `include/grub/menu.h' for consistency.
28523
28524 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
28525 from normal.h.
28526 (grub_menu_get_entry): Likewise.
28527 (grub_menu_get_timeout): Likewise.
28528 (grub_menu_set_timeout): Likewise.
28529 (grub_menu_execute_entry): Likewise.
28530 (grub_menu_execute_with_fallback): Likewise.
28531 (grub_menu_entry_run): Likewise.
28532
28533 * include/grub/normal.h: Re-ordered and grouped function
28534 prototypes by file that the function is defined in.
28535 (grub_menu_execute_callback): Removed; moved to menu.h.
28536 (grub_menu_get_entry): Likewise.
28537 (grub_menu_get_timeout): Likewise.
28538 (grub_menu_set_timeout): Likewise.
28539 (grub_menu_execute_entry): Likewise.
28540 (grub_menu_execute_with_fallback): Likewise.
28541 (grub_menu_entry_run): Likewise.
28542 (grub_menu_addentry): Renamed from this ...
28543 (grub_normal_add_menu_entry): ... to this.
28544
28545 * normal/main.c (grub_menu_addentry): Renamed from this ...
28546 (grub_normal_add_menu_entry): ... to this.
28547
28548 * script/sh/execute.c (grub_script_execute_menuentry): Update
28549 reference to renamed grub_menu_addentry function.
28550
861f03a5 285512009-05-23 Felix Zielcke <fzielcke@z-51.de>
28552
28553 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
28554
96b1619a 285552009-05-22 Pavel Roskin <proski@gnu.org>
28556
bf6a5fb2 28557 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
28558 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
28559 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
28560 compiling for the i386 targets, but not for the utilities.
28561
96b1619a 28562 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
28563 to grub_uint8_t.
28564 (grub_root_drive): Likewise.
28565 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
28566 remove alignment.
28567 (grub_root_drive): Change size to byte.
28568 (grub_start_addr): Remove.
28569 (grub_end_addr): Likewise.
28570 (grub_apm_bios_info): Likewise.
28571
b729776b 285722009-05-21 Felix Zielcke <fzielcke@z-51.de>
28573
28574 * normal/i386: Remove.
28575 * normal/powerpc: Likewise.
28576 * normal/sparc64: Likewise.
28577 * normal/x86_64: Likewise.
28578
0a15ce80 285792009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 28582 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 28583 * loader/i386/xnu_helper.S: Likewise
d6da58e6 28584
33db9015 285852009-05-18 Colin D Bennett <colin@gibibit.com>
28586
d6da58e6 28587 Display error messages when parsing a Lua statement fails.
28588 Previously, executing a syntactically invalid statement like
28589 ")foo" or "bar;" would silently fail.
33db9015 28590
28591 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 28592 (grub_lua_parse_line): Improved reporting of Lua parser and
28593 execution errors.
33db9015 28594
46422c89 285952009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28596
28597 Remove -Werror which causes build to fail on some systems
28598
28599 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
28600 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
28601 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 28602
22f53a96 286032009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28604
28605 trampoline for linux on 64-bit platform
28606
18f547ad 28607 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
28608 loader/i386/efi/linux_trampoline.S
28609 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 28610 declaration
d6da58e6 28611 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
28612 here
22f53a96 28613 * loader/i386/linux_trampoline.S: moved here
d6da58e6 28614 * loader/i386/efi/linux.c (allocate_pages): reserve space for
28615 trampoline
22f53a96 28616 (jumpvector): removed
28617 (grub_linux_trampoline_start): new declaration
28618 (grub_linux_trampoline_end): likewise
28619 (grub_linux_boot): use trampoline when on 64-bit platform
28620 * loader/i386/linux.c: likewise
28621
cb5a0f40 286222009-05-16 Pavel Roskin <proski@gnu.org>
28623
28624 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28625 const to avoid a warning.
28626 (grub_lua_setenv): Likewise.
28627 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28628 lmsg to fix a warning.
28629
334f2c28 286302009-05-16 Felix Zielcke <fzielcke@z-51.de>
28631
28632 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28633 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28634 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28635 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28636 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28637 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28638 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28639 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28640
59e5d3ec 286412009-05-16 Felix Zielcke <fzielcke@z-51.de>
28642
28643 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28644
9d87a1ba 286452009-05-16 Bean <bean123ch@gmail.com>
28646
28647 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28648 (lua_mod_SOURCES): New variable.
28649 (lua_mod_CFLAGS): Likewise.
28650 (lua_mod_LDFLAGS): Likewise.
28651
28652 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28653 (setjmp_mod_SOURCES): New variable.
28654 (setjmp_mod_CFLAGS): Likewise.
28655 (setjmp_LDFLAGS): Likewise.
28656
28657 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28658 (setjmp_mod_SOURCES): New variable.
28659 (setjmp_mod_CFLAGS): Likewise.
28660 (setjmp_LDFLAGS): Likewise.
28661
28662 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28663 (setjmp_mod_SOURCES): New variable.
28664 (setjmp_mod_CFLAGS): Likewise.
28665 (setjmp_LDFLAGS): Likewise.
28666
28667 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28668 (setjmp_mod_SOURCES): New variable.
28669 (setjmp_mod_CFLAGS): Likewise.
28670 (setjmp_LDFLAGS): Likewise.
28671
28672 * normal/i386/setjmp.S: Moved from here ...
28673 * lib/i386/setjmp.S: ... Moved here
28674 * normal/x86_64/setjmp.S: Moved from here ...
28675 * lib/x86_64/setjmp.S: ... Moved here
28676 * normal/powerpc/setjmp.S: Moved from here ...
28677 * lib/powerpc/setjmp.S: ... Moved here
28678 * normal/sparc64/setjmp.S: Moved from here ...
28679 * lib/sparc64/setjmp.S: ... Moved here
28680
28681 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28682 returns_twice in mingw.
28683
28684 * script/lua/grub_lib.c: New file.
28685 * script/lua/grub_lib.h: Likewise.
28686 * script/lua/grub_lua.h: Likewise.
28687 * script/lua/grub_main.c: Likewise.
28688 * script/lua/lapi.c: Likewise.
28689 * script/lua/lapi.h: Likewise.
28690 * script/lua/lauxlib.c: Likewise.
28691 * script/lua/lauxlib.h: Likewise.
28692 * script/lua/lbaselib.c: Likewise.
28693 * script/lua/lcode.c: Likewise.
28694 * script/lua/lcode.h: Likewise.
28695 * script/lua/ldblib.c: Likewise.
28696 * script/lua/ldebug.c: Likewise.
28697 * script/lua/ldebug.h: Likewise.
28698 * script/lua/ldo.c: Likewise.
28699 * script/lua/ldo.h: Likewise.
28700 * script/lua/ldump.c: Likewise.
28701 * script/lua/lfunc.c: Likewise.
28702 * script/lua/lfunc.h: Likewise.
28703 * script/lua/lgc.c: Likewise.
28704 * script/lua/lgc.h: Likewise.
28705 * script/lua/linit.c: Likewise.
28706 * script/lua/liolib.c: Likewise.
28707 * script/lua/llex.c: Likewise.
28708 * script/lua/llex.h: Likewise.
28709 * script/lua/llimits.h: Likewise.
28710 * script/lua/lmathlib.c: Likewise.
28711 * script/lua/lmem.c: Likewise.
28712 * script/lua/lmem.h: Likewise.
28713 * script/lua/loadlib.c: Likewise.
28714 * script/lua/lobject.c: Likewise.
28715 * script/lua/lobject.h: Likewise.
28716 * script/lua/lopcodes.c: Likewise.
28717 * script/lua/lopcodes.h: Likewise.
28718 * script/lua/loslib.c: Likewise.
28719 * script/lua/lparser.c: Likewise.
28720 * script/lua/lparser.h: Likewise.
28721 * script/lua/lstate.c: Likewise.
28722 * script/lua/lstate.h: Likewise.
28723 * script/lua/lstring.c: Likewise.
28724 * script/lua/lstring.h: Likewise.
28725 * script/lua/lstrlib.c: Likewise.
28726 * script/lua/ltable.c: Likewise.
28727 * script/lua/ltable.h: Likewise.
28728 * script/lua/ltablib.c: Likewise.
28729 * script/lua/ltm.c: Likewise.
28730 * script/lua/ltm.h: Likewise.
28731 * script/lua/lua.h: Likewise.
28732 * script/lua/luaconf.h: Likewise.
28733 * script/lua/lualib.h: Likewise.
28734 * script/lua/lundump.c: Likewise.
28735 * script/lua/lundump.h: Likewise.
28736 * script/lua/lvm.c: Likewise.
28737 * script/lua/lvm.h: Likewise.
28738 * script/lua/lzio.c: Likewise.
28739 * script/lua/lzio.h: Likewise.
28740
5e898c9d 287412009-05-16 Bean <bean123ch@gmail.com>
28742
28743 * include/grub/kernel.h (grub_module_header_types): Add type
28744 OBJ_TYPE_CONFIG.
28745
28746 * kern/main.c (grub_load_config): New function.
28747 (grub_main): Call grub_load_config to read boot config.
28748
28749 * grub-mkimage (generate_image): New parameter config_path.
28750 (options): New option --config.
28751 (main): Parse --config option, and pass it to generate_image.
28752
cf353a47 287532009-05-14 Christian Franke <franke@computer.org>
28754
28755 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28756 This fixes build on Cygwin.
28757
3834887f 287582009-05-14 Pavel Roskin <proski@gnu.org>
28759
28760 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28761 jump. This saves two bytes, so the typical case of 2 swapped
28762 drives would fit 32 bytes.
28763
8090fc01 287642009-05-13 Pavel Roskin <proski@gnu.org>
28765
ac963883 28766 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28767 grub_uint32_t to avoid a warning.
28768
8090fc01 28769 * loader/i386/linux.c (allocate_pages): When assigning
28770 real_mode_mem, cast through grub_size_t to fix a warning. The
28771 code already makes sure that the value would fit a pointer.
28772 (grub_linux_setup_video): Cast render_target->data to
28773 grub_size_t to fix a warning.
28774
18f547ad 287752009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28776
28777 * commands/i386/pc/drivemap.c: New file - implement drivemap
28778 command.
28779 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28780 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28781
6f6a8b28 287822009-05-13 Pavel Roskin <proski@gnu.org>
28783
28784 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28785 embedding_area_exists.
28786
15fbf4c4 287872009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28788
28789 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28790 it easier to understand / work with.
59978c8a 28791 Improve warning messages for cases where there's no embedding area,
28792 or when it is too small (or core.img too large).
15fbf4c4 28793
238e871f 287942009-05-13 Pavel Roskin <proski@gnu.org>
28795
0ab3a9a4 28796 * loader/i386/pc/multiboot2.c: Add necessary includes for
28797 grub_multiboot2_real_boot().
28798
a2c8c5f8 28799 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28800 PX record is always little-endian. We only need the lower 2
28801 bytes of the mode.
28802
faec96af 28803 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28804 facilitate code reuse.
28805 (grub_cpio_mount): Use "struct head", not a char buffer. This
28806 fixes a warning reported by gcc 4.4.
28807
238e871f 28808 * kernel/disk.c (grub_disk_read): Use void pointer for the
28809 buffer.
28810 (grub_disk_write): Use const void pointer for the buffer.
28811 Adjust all callers. Remove unnecessary casts.
28812
901d2f0c 288132009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28814
28815 * util/i386/pc/grub-install.in: Update copyright year.
28816
18f547ad 288172009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28818
28819 gptsync
28820
28821 * commands/gptsync.c: new file
28822 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28823 (gptsync_mod_SOURCES): new variable
28824 (gptsync_mod_CFLAGS): likewise
28825 (gptsync_mod_LDFLAGS): likewise
18f547ad 28826 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28827 new definition
28828 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28829 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28830 * conf/i386-ieee1275.rmk: likewise
28831 * conf/i386-pc.rmk: likewise
28832 * conf/powerpc-ieee1275.rmk: likewise
28833
b4ba690a 288342009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28835
28836 Fixed grub-emu
28837
28838 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28839 (grub_dl_ref): likewise
28840
317e1a44 288412009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28842
28843 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28844 split in two functions (one for msdos and one for gpt).
28845
041b8094 288462009-05-08 Pavel Roskin <proski@gnu.org>
28847
752473c2 28848 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28849 not modified.
28850
041b8094 28851 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28852 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28853 Initialize them with -1. Add sanity check for bad1. Eliminate
28854 nerr variable.
28855
172800ce 288562009-05-08 David S. Miller <davem@davemloft.net>
28857
28858 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28859
29aa5e81 288602009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28861
28862 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28863 existence.
29aa5e81 28864
96613b62 288652009-05-05 Felix Zielcke <fzielcke@z-51.de>
28866
28867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28868 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28869
eef73c8a 288702009-05-05 David S. Miller <davem@davemloft.net>
28871
28872 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28873
119494b5 288742009-05-05 Pavel Roskin <proski@gnu.org>
28875
28876 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28877 of grub_dl_ref() and grub_dl_unref().
28878 * commands/parttool.c: Remove preprocessor conditionals around
28879 grub_dl_ref() and grub_dl_unref().
28880 * fs/affs.c: Likewise.
28881 * fs/afs.c: Likewise.
28882 * fs/cpio.c: Likewise.
28883 * fs/ext2.c: Likewise.
28884 * fs/fat.c: Likewise.
28885 * fs/hfs.c: Likewise.
28886 * fs/hfsplus.c: Likewise.
28887 * fs/iso9660.c: Likewise.
28888 * fs/jfs.c: Likewise.
28889 * fs/minix.c: Likewise.
28890 * fs/ntfs.c: Likewise.
28891 * fs/reiserfs.c: Likewise.
28892 * fs/sfs.c: Likewise.
28893 * fs/udf.c: Likewise.
28894 * fs/ufs.c: Likewise.
28895 * fs/xfs.c: Likewise.
28896 * include/grub/dl.h: Likewise.
28897 * loader/xnu.c: Likewise.
28898
de5fd76e 288992009-05-04 Pavel Roskin <proski@gnu.org>
28900
28901 * commands/acpi.c: Remove unused variable my_mod.
28902 * partmap/amiga.c: Likewise.
28903 * partmap/apple.c: Likewise.
28904 * partmap/gpt.c: Likewise.
28905 * partmap/pc.c: Likewise.
28906 * partmap/sun.c: Likewise.
28907 * term/gfxterm.c: Likewise.
28908 * term/i386/pc/vesafb.c: Likewise.
28909 * term/i386/pc/vga.c: Likewise.
28910
983598ad 289112009-05-04 David S. Miller <davem@davemloft.net>
28912
28913 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28914 pointer args to grub_ieee1275_get_property().
28915
8aadec43 28916 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28917
9554b15e 28918 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28919 devices, and do not traverse down under controller nodes.
28920
67e23c90 28921 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28922 (grub_ofdisk_open): Use it to un-escape "," characters.
28923 * kern/disk.c (find_part_sep): New.
28924 (grub_disk_open): Use it to find the first non-escaped ','
28925 character in the disk name.
28926 * util/ieee1275/devicemap.c (escape_of_path): New.
28927 (grub_util_emit_devicemap_entry): Use it.
28928 * util/sparc64/ieee1275/grub-install.in: Update script to
28929 strip partition specifiers properly by not triggering on
28930 '\' escaped ',' characters.
28931
74bfdd2f 289322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28933
28934 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28935 to 0x300.
28936 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28937 resolutions.
28938 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28939 on documentation from Wikipedia).
28940
4241d2b1 289412009-05-04 Pavel Roskin <proski@gnu.org>
28942
28943 * disk/ata.c: Spelling fixes.
28944 * disk/raid.c: Likewise.
28945 * disk/usbms.c: Likewise.
28946 * disk/dmraid_nvidia.c: Likewise.
28947 * kern/ieee1275/openfw.c: Likewise.
28948 * kern/ieee1275/init.c: Likewise.
28949 * kern/ieee1275/cmain.c: Likewise.
28950 * boot/i386/pc/cdboot.S: Likewise.
28951 * video/readers/png.c: Likewise.
28952 * video/i386/pc/vbe.c: Likewise.
28953 * fs/udf.c: Likewise.
28954 * fs/hfs.c: Likewise.
28955 * fs/reiserfs.c: Likewise.
28956 * efiemu/runtime/efiemu.c: Likewise.
28957 * efiemu/main.c: Likewise.
28958 * efiemu/mm.c: Likewise.
28959 * include/grub/elf.h: Likewise.
28960 * include/grub/xnu.h: Likewise.
28961 * include/grub/usbdesc.h: Likewise.
28962 * include/grub/usb.h: Likewise.
28963 * include/grub/script_sh.h: Likewise.
28964 * include/grub/lib/LzmaEnc.h: Likewise.
28965 * include/grub/efiemu/efiemu.h: Likewise.
28966 * include/grub/command.h: Likewise.
28967 * normal/menu.c: Likewise.
28968 * normal/main.c: Likewise.
28969 * normal/datetime.c: Likewise.
28970 * bus/usb/uhci.c: Likewise.
28971 * mmap/i386/uppermem.c: Likewise.
28972 * mmap/mmap.c: Likewise.
28973 * commands/acpi.c: Likewise.
28974 * commands/test.c: Likewise.
28975 * partmap/apple.c: Likewise.
28976 * font/font.c: Likewise.
28977 * loader/sparc64/ieee1275/linux.c: Likewise.
28978 * loader/macho.c: Likewise.
28979 * loader/i386/bsd_trampoline.S: Likewise.
28980 * loader/i386/bsd.c: Likewise.
28981 * loader/xnu.c: Likewise.
28982 * term/i386/pc/vesafb.c: Likewise.
28983 * term/usb_keyboard.c: Likewise.
28984 * util/resolve.c: Likewise.
28985 * util/getroot.c: Likewise.
28986
0cfc0083 289872009-05-04 Felix Zielcke <fzielcke@z-51.de>
28988
28989 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28990
7c1d00cd 289912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28992
28993 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28994 build error.
28995
b01f0548 289962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28997
28998 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28999 parameter only available on BIOS.
29000
ecc3eb22 290012009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 Removed wrong semicolon in declaration
29004
29005 * grub/misc.h (grub_dprintf): remove semicolon
29006
112972a9 290072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29008
29009 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29010 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29011 is done by grub_cmd_linux() now).
29012 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29013 restore video to text mode.
29014 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29015 indicates lack of "vga=" parameter. "vga=0" is mapped to
29016 `GRUB_LINUX_VID_MODE_NORMAL'.
29017
afd5c115 290182009-05-04 Felix Zielcke <fzielcke@z-51.de>
29019
29020 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29021 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29022 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 29023 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 29024 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29025 `grub_script.tab.c'.
29026
29027 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29028 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29030 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29031 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29032
faa517ce 29033 * Makefile.in: Remove duplicated 2008 in Copyright line.
29034
ae0c0bdc 290352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29036
473d1e45 29037 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29038 unconditionally.
29039 * include/grub/util/misc.h (grub_util_warn): New declaration.
29040
29041 * util/i386/pc/grub-install.in: Understand --force and pass it down
29042 to grub-setup.
29043
29044 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29045 down to setup().
29046 (setup): Improve error messages and add warnings when requested to
29047 install in odd layouts. Refuse to install using blocklists unless
29048 --force was set.
29049
18f547ad 290502009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 29051
29052 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29053
6d260daa 290542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29055
29056 Updated copyright year
29057
29058 * fs/hfsplus.c: updated copyright year
18f547ad 29059
69f853f8 290602009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29061
29062 HFS+ UUID
29063
18f547ad 29064 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 29065 in the space previously used by unused3
29066 (grub_hfsplus_uuid): new function
29067 (grub_hfsplus_fs): added uuid field
29068
4c402e73 290692009-05-03 Pavel Roskin <proski@gnu.org>
29070
29071 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29072 suppress warnings. It's no longer needed.
29073 * disk/host.c: Likewise.
29074 * disk/ata_pthru.c: Likewise.
29075 * disk/loopback.c: Likewise.
29076 * hook/datehook.c: Likewise.
29077 * parttool/pcpart.c: Likewise.
29078 * fs/i386/pc/pxe.c: Likewise.
29079 * fs/ntfscomp.c: Likewise.
29080 * efiemu/main.c: Likewise.
29081 * mmap/mmap.c: Likewise.
29082 * commands/crc.c: Likewise.
29083 * commands/hexdump.c: Likewise.
29084 * commands/hdparm.c: Likewise.
29085 * commands/acpi.c: Likewise.
29086 * commands/echo.c: Likewise.
29087 * commands/minicmd.c: Likewise.
29088 * commands/blocklist.c: Likewise.
29089 * commands/memrw.c: Likewise.
29090 * commands/loadenv.c: Likewise.
29091 * commands/usbtest.c: Likewise.
29092 * commands/lsmmap.c: Likewise.
29093 * commands/boot.c: Likewise.
29094 * commands/parttool.c: Likewise.
29095 * commands/configfile.c: Likewise.
29096 * commands/search.c: Likewise.
29097 * commands/ieee1275/suspend.c: Likewise.
29098 * commands/cat.c: Likewise.
29099 * commands/i386/pc/pxecmd.c: Likewise.
29100 * commands/i386/pc/play.c: Likewise.
29101 * commands/i386/pc/halt.c: Likewise.
29102 * commands/i386/pc/vbeinfo.c: Likewise.
29103 * commands/i386/pc/vbetest.c: Likewise.
29104 * commands/lspci.c: Likewise.
29105 * commands/date.c: Likewise.
29106 * commands/handler.c: Likewise.
29107 * commands/ls.c: Likewise.
29108 * commands/test.c: Likewise.
29109 * commands/cmp.c: Likewise.
29110 * commands/efi/loadbios.c: Likewise.
29111 * commands/efi/fixvideo.c: Likewise.
29112 * commands/halt.c: Likewise.
29113 * commands/help.c: Likewise.
29114 * commands/reboot.c: Likewise.
29115 * hello/hello.c: Likewise.
29116 * script/sh/main.c: Likewise.
29117 * loader/xnu.c: Likewise.
29118 * term/terminfo.c: Likewise.
29119 * term/i386/pc/serial.c: Likewise.
29120 * term/usb_keyboard.c: Likewise.
29121
515b5079 291222009-05-03 David S. Miller <davem@davemloft.net>
29123
29124 * normal/menu.c: Include grub/parser.h
29125
dfc31a22 291262009-05-03 Pavel Roskin <proski@gnu.org>
29127
2fee74f1 29128 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29129 not char*.
29130 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29131 Suggested by Javier Martín <lordhabbit@gmail.com>
29132
dfc31a22 29133 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29134 efiemu??.o doesn't exist.
29135 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29136 copying.
29137
18f547ad 291382009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 29139
29140 FreeBSD 64-bit support
29141
18f547ad 29142 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 29143 and loader/i386/bsd_trampoline.S
29144 (bsd_mod_ASFLAGS): new variable
29145 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29146 (FREEBSD_MODTYPE_KERNEL64): likewise
29147 (grub_bsd64_trampoline_start): likewise
29148 (grub_bsd64_trampoline_end): likewise
29149 (grub_bsd64_trampoline_selfjump): likewise
29150 (grub_bsd64_trampoline_gdt): likewise
29151 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29152 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29153 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29154 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 29155 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 29156 of "attrib" member
29157 * loader/i386/bsd_pagetable.c: new file
29158 * loader/i386/bsd_trampoline.S: likewise
29159 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29160 (ALIGN_VAR): likewise
29161 (entry_hi): new variable
29162 (kern_end_mdofs): likewise
29163 (is_64bit): likewise
29164 (grub_freebsd_add_meta): use ALIGN_VAR
29165 (grub_e820_mmap): new declaration
29166 (grub_freebsd_add_mmap): new function
29167 (grub_freebsd_add_meta_module): support 64 bit kernels
29168 (grub_freebsd_list_modules): use ALIGN_VAR
29169 (gdt_descriptor): new declaration
29170 (grub_freebsd_boot): support 64 bit kernels
29171 (grub_bsd_elf64_hook): new function
29172 (grub_bsd_load_elf): support elf64
29173
038c5720 291742009-05-03 Bean <bean123ch@gmail.com>
29175
29176 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
29177 after we get the result of if statement.
29178
fc45fb58 291792009-05-03 Bean <bean123ch@gmail.com>
29180
29181 * Makefile.in (enable_efiemu): New variable.
29182
29183 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29184 set.
29185 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29186 path.
29187 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29188 path, add -mno-red-zone option.
29189 (efiemu64_s.o): Likewise.
29190 (efiemu64.o): Use macro $^ for source file.
29191
29192 * configure.ac (--enable-efiemu): New option.
29193
bbee0f2b 291942009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29195
29196 xnu support
29197
29198 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29199 (pkglib_MODULES): add xnu.mod
29200 (xnu_mod_SOURCES): new variable
29201 (xnu_mod_CFLAGS): likewise
29202 (xnu_mod_LDFLAGS): likewise
29203 (xnu_mod_ASFLAGS): likewise
29204 * conf/i386-pc.rmk: likewise
29205 * conf/x86_64-efi.rmk: likewise
7dd4a573 29206 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 29207 new declaration
29208 * include/grub/i386/macho.h: new file
29209 * include/grub/i386/xnu.h: likewise
29210 * include/grub/macho.h: likewise
29211 * include/grub/machoload.h: likewise
29212 * include/grub/x86_64/macho.h: likewise
29213 * include/grub/x86_64/xnu.h: likewise
29214 * include/grub/xnu.h: likewise
29215 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29216 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29217 * loader/i386/efi/xnu.c: new file
29218 * loader/i386/pc/xnu.c: likewise
29219 * loader/i386/xnu.c: likewise
29220 * loader/i386/xnu_helper.S: likewise
29221 * loader/macho.c: likewise
29222 * loader/xnu.c: likewise
29223 * loader/xnu_resume.c: likewise
29224 * util/grub-dumpdevtree: likewise
29225 * include/grub/i386/pit.h: include grub/err.h
29226 (grub_pit_wait): export
29227 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 29228
5caf964d 292292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29230
29231 Efiemu
7dd4a573 29232
5caf964d 29233 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 29234 _linux_efi, linux_efi.
29235 new files in grub-emu
5caf964d 29236 new targets efiemu32.o and efiemu64.o
29237 * loader/linux_normal_efiemu.c: likewise
29238 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 29239 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 29240 files to copy
29241 * include/grub/autoefi.h: new file
7dd4a573 29242 * include/grub/i386/efiemu.h: likewise
5caf964d 29243 * include/grub/i386/pc/efiemu.h: likewise
29244 * include/grub/efi/api.h: add LL suffix when necessary
29245 new definitions relating to tables
29246 * include/grub/efiemu/efiemu.h: new file
29247 * include/grub/efiemu/runtime.h: likewise
29248 * efiemu/prepare.c: likewise
29249 * efiemu/loadcore_common.c: likewise
29250 * efiemu/loadcore64.c: likewise
29251 * efiemu/runtime/efiemu.sh: likewise
29252 * efiemu/runtime/efiemu.S: likewise
29253 * efiemu/runtime/efiemu.c: likewise
29254 * efiemu/runtime/config.h: likewise
29255 * efiemu/prepare32.c: likewise
29256 * efiemu/main.c: likewise
29257 * efiemu/modules/pnvram.c: likewise
29258 * efiemu/modules/i386: likewise
29259 * efiemu/modules/i386/pc: likewise
29260 * efiemu/modules/acpi.c: likewise
29261 * efiemu/i386/pc/cfgtables.c: likewise
29262 * efiemu/i386/loadcore64.c: likewise
29263 * efiemu/i386/loadcore32.c: likewise
29264 * efiemu/prepare64.c: likewise
29265 * efiemu/loadcore.c: likewise
29266 * efiemu/symbols.c: likewise
29267 * efiemu/mm.c: likewise
29268 * efiemu/loadcore32.c: likewise
7dd4a573 29269
292702009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 29271
29272 ACPI spoofing
29273
29274 * commands/acpi.c: new file
29275 * commands/i386/pc/acpi.c: likewise
29276 * commands/efi/acpi.c: likewise
29277 * include/grub/acpi.h: likewise
29278 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
29279 (acpi_mod_SOURCES): new variable
29280 (acpi_mod_CFLAGS): likewise
29281 (acpi_mod_LDFLAGS): likewise
29282 * conf/i386-efi.rmk: likewise
29283 * conf/x86_64-efi.rmk: likewise
29284
7dd4a573 292852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 29286
29287 Missing part from mmap patch
29288
29289 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
29290 (grub_mmap_unregister)
29291 (grub_mmap_free_and_unregister): use grub_mmap_register
29292
7dd4a573 292932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 29294
29295 Mmap services
29296
29297 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
29298 * loader/i386/linux.c (find_mmap_size): likewise
29299 (allocate_pages): likewise
29300 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
29301 (grub_fill_multiboot_mmap): likewise
29302 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
29303 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
29304 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
29305 (OPENBSD_MMAP_RESERVED): likewise
29306 * include/grub/i386/pc/memory.h: include grub/memory.h
29307 (grub_lower_mem): removed
29308 (grub_upper_mem): likewise
29309 (GRUB_MACHINE_MEMORY_ACPI): new definition
29310 (GRUB_MACHINE_MEMORY_NVS): likewise
29311 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
29312 (GRUB_MACHINE_MEMORY_HOLE): likewise
29313 (grub_machine_mmap_register): likewise
29314 (grub_machine_mmap_unregister): likewise
29315 (grub_machine_get_upper): likewise
29316 (grub_machine_get_lower): likewise
29317 (grub_machine_get_post64): likewise
29318 * include/grub/i386/efi/memory.h: new file
29319 * include/grub/x86_64/efi/memory.h: likewise
29320 * include/grub/efi/memory.h: likewise
29321 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
29322 (mmap_mod_SOURCES): new variable
29323 (mmap_mod_LDFLAGS): likewise
29324 (mmap_mod_ASFLAGS): likewise
29325 * conf/i386-coreboot.rmk: likewise
29326 * conf/i386-ieee1275.rmk: likewise
29327 * conf/i386-efi.rmk: likewise
29328 * conf/x86_64-efi.rmk: likewise
29329 * include/grub/types.h (UINT_TO_PTR): new macro
29330 (PTR_TO_UINT32): likewise
29331 (PTR_TO_UINT64): likewise
29332 * include/grub/memory.h: new file
29333 * mmap/i386/pc/mmap.c: likewise
29334 * mmap/i386/pc/mmap_helper.S: likewise
29335 * mmap/i386/uppermem.c: likewise
29336 * mmap/mmap.c: likewise
29337 * mmap/efi/mmap.c: likewise
7dd4a573 29338 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 29339 grub_upper_mem
29340 * kern/i386/pc/init.c (grub_lower_mem): removed variable
29341 (grub_upper_mem): likewise
29342 (grub_machine_init): don't use grub_upper_mem,
29343 make grub_lower_mem local
29344 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
29345 grub_mmap_iterate and grub_mmap_get_upper
29346 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
29347
d558e6b5 293482009-05-02 Bean <bean123ch@gmail.com>
29349
29350 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
29351 script/sh/parser.y.
29352 (pkglib_MODULES): Add normal.mod and sh.mod.
29353 (normal_SOURCES): New variable.
29354 (normal_mod_CFLAGS): Likewise.
29355 (normal_mod_LDFLAGS): Likewise.
29356 (sh_mod_SOURCES): Likewise.
29357 (sh_mod_CFLAGS): Likewise.
29358 (sh_mod_LDFLAGS): Likewise.
29359
29360 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
29361 script/sh/lexer.c_DEPENDENCIES.
29362 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
29363 kern/rescue_reader.c and kern/rescue_parser.c.
29364 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
29365 (grub_emu_SOURCES): Change source files.
29366 (pkglib_MODULES): Remove normal.mod.
29367 (normal_SOURCES): Removed.
29368 (normal_mod_CFLAGS): Likewise.
29369 (normal_mod_LDFLAGS): Likewise.
29370 * conf/i386-coreboot.rmk: Likewise.
29371 * conf/i386-efi.rmk: Likewise.
29372 * conf/i386-ieee1276.rmk: Likewise.
29373 * conf/powerpc-ieee1275.rmk: Likewise.
29374 * conf/sparc64-ieee1275.rmk: Likewise.
29375 * conf/x86_64-efi.rmk: Likewise.
29376
29377 * include/grub/command.h (grub_command_execute): New inline function.
29378
29379 * include/grub/menu.h (grub_menu_entry): Removed commands field.
29380
29381 * include/grub/normal.h: Remove <grub/setjmp.h>.
29382 (grub_fs_module_list): Moved to normal/autofs.c.
29383 (grub_exit_env): Removed.
29384 (grub_command_execute): Likewise.
29385 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
29386 parameter script.
29387 (read_command_list): New function declaration.
29388 (read_fs_list): Likewise.
29389
29390 * include/parser.h: Include <grub/reader.h>.
29391 (grub_parser_split_cmdline): Change type of getline parameter.
29392 (grub_parser): New structure.
29393 (grub_parser_class): New variable.
29394 (grub_parser_execute): New function declaration.
29395 (grub_register_rescue_parser): Likewise.
29396 (grub_parser_register): New inline function.
29397 (grub_parser_unregister): Likewise.
29398 (grub_parser_get_current): Likewise.
29399 (grub_parser_set_current): Likewise.
29400
29401 * include/grub/reader.h: New file.
29402 * kern/reader.c: Likewise.
29403 * kern/rescue_parser.c: Likewise.
29404 * kern/rescue_reader.c: Likewise.
29405 * normal/autofs.c: Likewise.
29406 * normal/dyncmd.c: Likewise.
29407
29408 * include/grub/rescue.h: Removed.
29409 * normal/command.h: Likewise.
29410
29411 * include/grub/script.h: Moved to ...
29412 * include/grub/script_sh.h: ... Moved here.
29413 * normal/execute.c: Moved to ...
29414 * script/sh/execute.c: ... Moved here.
29415 * normal/function.c: Moved to ...
29416 * script/sh/function.c: ... Moved here.
29417 * normal/lexer.c: Moved to ...
29418 * script/sh/lexer.c: ... Moved here.
29419 * normal/parser.y: Moved to ...
29420 * script/sh/parser.y: ... Moved here.
29421 * normal/script.c: Moved to ...
29422 * script/sh/script.c: ... Moved here.
29423
29424 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
29425 <grub/reader.h>.
29426 (grub_exit_env): Removed.
29427 (fs_module_list): Moved to normal/autofs.c.
29428 (grub_file_getline): Don't handle comment here.
29429 (free_menu): Skip removed field entry->commands.
29430 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
29431 script parameter.
29432 (read_config_file): Removed nested parameter, change getline function.
29433 (grub_enter_normal_mode): Removed.
29434 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
29435 (read_command_list): Likewise.
29436 (autoload_fs_module): Moved to normal/autofs.c.
29437 (read_fs_list): Likewise.
29438 (reader_nested): New variable.
29439 (grub_normal_execute): Run parser.sh to switch to sh parser.
29440 (grub_cmd_rescue): Removed.
29441 (cmd_normal): Removed.
29442 (grub_cmd_normal): Unregister itself at the beginning. Don't register
29443 rescue command.
29444 (grub_cmdline_run): New function.
29445 (grub_normal_reader_init): Likewise.
29446 (grub_normal_read_line): Likewise.
29447 (grub_env_write_pager): Likewise.
29448 (cmdline): New variable.
29449 (grub_normal_reader): Likewise.
29450 (GRUB_MOD_INIT): Register normal reader and set as current, register
29451 pager hook, register normal command with grub_register_command_prio,
29452 so that it won't show up in command.lst.
29453 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
29454 grub_fs_autoload_hook.
29455
29456 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
29457 (grub_menu_execute_entry): Replace grub_script_execute with
29458 grub_parser_execute, change parameter to grub_command_execute.
29459
29460 * normal/menu_text.c: Remove <grub/script.h>.
29461
29462 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
29463 and <grub/parser.h>.
29464 (run): Change editor_getline to use new parser interface. Change
29465 parameter to grub_command_execute.
29466
29467 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
29468 <grub/reader.h> and <grub/parser.h>.
29469 (grub_load_normal_mode): Execute normal command.
29470 (grub_main): Call grub_register_core_commands,
29471 grub_register_rescue_parser and grub_register_rescue_reader, use
29472 grub_reader_loop to enter input loop.
29473
7dd4a573 29474 * kern/parser.c (grub_parser_split_cmdline): Change type of
29475 getline parameter.
d558e6b5 29476 (grub_parser_class): New variable.
29477 (grub_parser_execute): New function.
29478
29479 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
29480 * loader/multiboot2.c: Likewise.
29481 * loader/sparc64/ieee1275/linux.c: Likewise.
29482
29483 * util/grub-emu.c (read_command_list): New dummy function.
29484
18db813d 294852009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29486
29487 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
29488 count to 16 for CCISS and IDA.
29489
6c67de15 294902009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29491
29492 * normal/menu_text.c (grub_wait_after_message): Print a newline
29493 after waiting for user input.
29494
29495 * loader/i386/linux.c: Include `<grub/normal.h>'.
29496 (grub_cmd_linux): Improve the error message about `ask' mode, by
29497 waiting for user input so it's not missed (we can do this, since
29498 user requested interaction).
29499
d9dc87b0 295002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29501
29502 Added missing lst to grub-mkrescue
29503
29504 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
29505 and ${input_dir}/parttool.lst
29506
ac8a2baa 295072009-04-30 David S. Miller <davem@davemloft.net>
29508
ad22a610 29509 * util/hostdisk.c (device_is_wholedisk): New function.
29510 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
29511 zero only if device_is_wholedisk() returns true.
29512
6966215d 29513 * util/hostdisk.c (convert_system_partition_to_system_disk):
29514 Handle virtual disk devices named /dev/vdiskX as found on sparc
29515 and powerpc.
29516
ac8a2baa 29517 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
29518 lettered partition specifier is found, convert to numbered.
29519
979b4fb4 295202009-04-29 David S. Miller <davem@davemloft.net>
29521
e2bf39b2 29522 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
29523 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29524
3c64e104 29525 * normal/command.c: Add missing newline at end of file.
29526
979b4fb4 29527 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
29528 warnings.
29529 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
29530 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
29531 grub_ofdisk_read): Likewise, and deal similarly with the fact that
29532 ihandles have a 32-bit type but need to be stored in a "void *".
29533
136d9f82 295342009-04-28 Pavel Roskin <proski@gnu.org>
29535
9459c306 29536 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
29537 not disk. Adjust all dependencies.
2e08a26a 29538 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 29539 grub_disk_close().
29540
136d9f82 29541 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
29542 parent's partition, don't copy it by reference, as it gets freed
29543 on close.
29544
7dd4a573 295452009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 29546
29547 Preboot hooks support
29548
29549 * commands/boot.c (struct grub_preboot_t): new declaration
29550 (preboots_head): new variable
29551 (preboots_tail): likewise
29552 (grub_loader_register_preboot_hook): new function
29553 (grub_loader_unregister_preboot_hook): likewise
29554 (grub_loader_set): launch preboot hooks
29555 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
29556 (grub_loader_register_preboot_hook): new declaration
29557 (grub_loader_unregister_preboot_hook): likewise
29558
5af922b5 295592009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29560
29561 Warning fix
29562
7dd4a573 29563 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 29564 calling grub_dprintf
29565
a5562c30 295662009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
29567
29568 Bug and warning fixes
29569
7dd4a573 29570 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 29571 declaration
29572 * commands/test.c (test_parse): fixed bug with file tests and corrected
29573 declaration of find_file
29574
4006f85c 295752009-04-26 Pavel Roskin <proski@gnu.org>
29576
29577 * Makefile.in: Don't install empty manual pages if help2man is
29578 missing. Use help2man option for output, not shell redirection.
29579
5c77c3de 295802009-04-26 David S. Miller <davem@davemloft.net>
29581
29582 * util/grub-mkdevicemap.c (make_device_map): Add missing
29583 NESTED_FUNC_ATTR to process_device().
29584
033b10a8 295852009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29586
29587 Test command
29588
29589 * commands/test.c: rewritten to use bash-like test
29590
e4343593 295912009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29592
29593 Parttool autoloading and improvements
29594
7dd4a573 29595 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 29596 (parttool.lst): new target
29597 * genmk.rb: generate parttool-*
29598 (CLEANFILES): add #{parttool}
29599 (PARTTOOLFILES): new variable
29600 * genparttoollist.sh: new file
7dd4a573 29601 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 29602 (grub_pcpart_type): likewise
29603 * commands/parttool.c (helpmsg): new variable
29604 (grub_cmd_parttool): output help if not enough arguments are supplied
29605 autoload modules
29606 (GRUB_MOD_INIT(parttool)): use helpmsg
29607
0d312500 296082009-04-24 David S. Miller <davem@davemloft.net>
29609
7dd4a573 29610 Avoiding opening same device multiple times in device iterator.
0d312500 29611
29612 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 29613 and use it to build a list of partitions in iterate_disk() and
0d312500 29614 iterate_partition().
29615
ac20caff 29616 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
29617 on disk->data.
29618
0dcf7495 29619 * disk/ieee1275/nand.c (grub_nand_iterate): Return
29620 grub_devalias_iterate() result instead of unconditional 0.
29621 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
29622 Also, capture hook return value, either directly or via
29623 grub_children_iterate(), and propagate to caller.
29624 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29625 grub_children_iterate): Return value is now 'int' instead of
29626 'grub_err_t'.
29627 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29628 like a proper iterator, stopping when hooks return non-zero.
29629 (grub_devalias_iterate): Likewise.
29630
c8c08833 296312009-04-23 David S. Miller <davem@davemloft.net>
29632
29633 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29634
f01005a8 296352009-04-22 David S. Miller <davem@davemloft.net>
29636
29637 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29638 is larger than address_cells, use that value for address_cells too.
29639
4e8269da 29640 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29641 IEEE1275_MAX_PATH_LEN): Define.
29642 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29643 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29644 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29645 'devtype'. Explicitly NULL terminate devalias expansion.
29646
a1447506 29647 * util/sparc64/ieee1275/misc.c: New file.
29648 * util/sparc64/ieee1275/grub-setup.c: New file.
29649 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29650 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29651 * util/sparc64/ieee1275/grub-install.in: New file.
29652 * util/ieee1275/ofpath.c: New file.
29653 * util/ieee1275/devicemap.c: New file.
29654 * util/devicemap.c: New file.
29655 * util/deviceiter.c: New file.
29656 * kern/sparc64/ieee1275/init.c: New file.
29657 * include/grub/util/ofpath.h: New file.
29658 * include/grub/util/deviceiter.h: New file.
29659 * util/grub-mkdevicemap.c: Include deviceiter.h.
29660 Implement using grub_util_emit_devicemap_entry and
29661 grub_util_iterate_devices.
29662 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29663 util/devicemap.c into grub-mkdevicemap
29664 * conf/i386-efi.rmk: Likewise.
29665 * conf/i386-ieee1275.rmk: Likewise.
29666 * conf/i386-pc.rmk: Likewise.
29667 * conf/powerpc-ieee1275.rmk: Likewise.
29668 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29669 images and installation utilities. Build kernel as image
29670 instead of as elf binary. Use common rules as much as possible.
29671
7dd4a573 296722009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29673
29674 Correct GPT definition
29675
7dd4a573 29676 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29677 of "attrib" member
29678
c6c5219f 296792009-04-19 Felix Zielcke <fzielcke@z-51.de>
29680
29681 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29682
0552ff9f 296832009-04-19 David S. Miller <davem@davemloft.net>
29684
29685 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29686 (grub_rescue_cmd_linux): Rename to...
29687 (grub_cmd_linux): and fix prototype.
29688 (grub_rescue_cmd_initrd): Rename to...
29689 (grub_cmd_initrd): and fix prototype.
29690 (cmd_linux, cmd_initrd): New.
29691 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29692 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29693
d1a282fc 296942009-04-17 Pavel Roskin <proski@gnu.org>
29695
07c5039f 29696 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29697 format.
29698 (grub_ohci_transfer): Likewise.
29699
b012002d 29700 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29701
1bc09c35 29702 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29703 return without a value. Fix inconsistent indentation.
29704
e0ff9126 29705 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29706 match struct grub_fs.
29707
d1a282fc 29708 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29709 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29710 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29711 * commands/lspci.c (grub_lspci_iter): Likewise.
29712
a96df3f2 297132009-04-16 Bean <bean123ch@gmail.com>
29714
29715 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29716 value.
29717
41bb0fe9 297182009-04-15 Pavel Roskin <proski@gnu.org>
29719
29720 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29721 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29722 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29723 definitions.
29724
596c6970 297252009-04-15 Felix Zielcke <fzielcke@z-51.de>
29726
29727 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29728 that no multiple data or metadata areas are supported and `Unknown
596c6970 29729 metadata header'.
29730
7dd4a573 297312009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29732
29733 Move loader out of the kernel
29734
29735 * kern/loader.c: moved to ...
29736 * commands/boot.c: ... moved here
29737 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29738 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29739 * include/grub/kernel.h (grub_machine_fini): export
29740 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29741 (grub_loader_set): likewise
29742 (grub_loader_unset): likewise
29743 (grub_loader_boot): likewise
29744 * conf/common.rmk: new module boot.mod
29745 (pkglib_MODULES): add boot.mod
29746 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29747 (grub_emu_SOURCES): likewise
29748 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29749 (grub_emu_SOURCES): likewise
29750 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29751 (grub_emu_SOURCES): likewise
29752 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29753 (grub_emu_SOURCES): likewise
29754 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29755 (grub_emu_SOURCES): likewise
7dd4a573 29756 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29757 (grub_emu_SOURCES): likewise
0d5d5653 29758 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29759 (grub_emu_SOURCES): likewise
0d5d5653 29760
7dd4a573 297612009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29762
29763 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29764
5999d619 29765 * kern/misc.c (grub_itoa): Removed function
29766 (grub_ltoa): likewise
29767 (grub_vsprintf): use grub_lltoa
29768
7dd4a573 297692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29770
29771 Restore grub-emu
29772
29773 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29774 * conf/i386-coreboot.rmk: likewise
29775 * conf/i386-ieee1275.rmk: likewise
29776 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29777
20318222 297782009-04-15 Felix Zielcke <fzielcke@z-51.de>
29779
29780 * INSTALL: Add that `./autogen.sh' needs to be run before
29781 `./configure.'.
29782
d05f0df3 297832009-04-14 Bean <bean123ch@gmail.com>
29784
29785 * Makefile.in (pkglib_DATA): Add handler.lst.
29786 (handler.lst): New rule.
29787
29788 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29789 * conf/i386-coreboot.rmk: Likewise.
29790 * conf/i386-ieee1275.rmk: Likewise.
29791 * conf/i386-efi.rmk: Likewise.
29792 * conf/x86_64-efi.rmk: Likewise.
29793 * conf/powerpc-ieee1275.rmk: Likewise.
29794 * conf/sparc64-ieee1275.rmk: Likewise.
29795
29796 * genhandlerlist.sh: New file.
29797
29798 * genmk.rb: Add rules to generate handler.lst.
29799
29800 * include/grub/normal.h (grub_file_getline): New function definition.
29801 (read_handler_list): Likewise.
29802 (free_handler_list): Likewise.
29803
29804 * include/grub/term.h (grub_term_register_input): Add name parameter
29805 for auto generation of handler.lst.
29806 (grub_term_register_output): Likewise.
29807
29808 * normal/handler.c: New file.
29809
29810 * normal/main.c (get_line): Renamed to grub_file_getline.
29811 (read_config_file): Use the newly renamed grub_file_getline.
29812 (read_command_list): Likewise.
29813 (read_fs_list): Likewise.
29814 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29815 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29816
29817 * term/efi/console.c (grub_console_init): Add name parameter for auto
29818 generation of handler.lst.
29819 * term/gfxterm.c: Likewise.
29820 * term/i386/pc/at_keyboard.c: Likewise.
29821 * term/i386/pc/console.c: Likewise.
29822 * term/i386/pc/serial.c: Likewise.
29823 * term/i386/pc/vesafb.c: Likewise.
29824 * term/i386/pc/vga.c: Likewise.
29825 * term/i386/pc/vga_text.c: Likewise.
29826 * term/ieee1275/ofconsole.c: Likewise.
29827 * term/usb_keyboard.c: Likewise.
29828
33c846be 298292009-04-14 Bean <bean123ch@gmail.com>
29830
29831 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29832 properly with null character.
29833
4484e01e 298342009-04-14 Felix Zielcke <fzielcke@z-51.de>
29835
29836 * configure: Remove.
29837 * config.h.in: Likewise.
f93d668e 29838 * stamp-h.in: Likewise.
4484e01e 29839 * DISTLIST: Likewise.
29840 * conf/common.mk: Likewise.
29841 * conf/i386-coreboot.mk: Likewise.
29842 * conf/i386-efi.mk: Likewise.
29843 * conf/i386-ieee1275.mk: Likewise.
29844 * conf/i386.mk: Likewise.
29845 * conf/i386-pc.mk: Likewise.
29846 * conf/powerpc-ieee1275.mk: Likewise.
29847 * conf/sparc64-ieee1275.mk: Likewise.
29848 * conf/x86_64-efi.mk: Likewise.
29849
29850 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29851 develop on GRUB.
29852
7dd4a573 298532009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29854 David S. Miller <davem@davemloft.net>
29855
29856 * util/hostdisk.c (make_device_name): Fix buffer length
29857 calculations.
29858
e25b5a8c 298592009-04-14 Felix Zielcke <fzielcke@z-51.de>
29860
29861 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29862 <sys/param.h> and <sys/sysctl.h>.
29863 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29864 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29865 opening the device and reset them afterwards.
29866
1f1f580c 298672009-04-13 Pavel Roskin <proski@gnu.org>
29868
29869 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29870 Reported by John Stanley <jpsinthemix@verizon.net>
29871
7ebc2d6b 298722009-04-13 Robert Millan <rmh@aybabtu.com>
29873
29874 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29875 that name for menuentries when appropriate.
7ebc2d6b 29876
d8ba3667 298772009-04-13 Felix Zielcke <fzielcke@z-51.de>
29878
29879 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29880
cba416eb 298812009-04-13 Robert Millan <rmh@aybabtu.com>
29882
29883 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29884 to Linux, simply abort telling the user it's no longer supported.
29885
a547a745 298862009-04-13 Felix Zielcke <fzielcke@z-51.de>
29887
29888 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29889 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29890 `freebsd_loadenv' only when devices.hints exist.
29891
232a769c 298922009-04-13 Pavel Roskin <proski@gnu.org>
29893
29894 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29895
c3012039 298962009-04-13 Felix Zielcke <fzielcke@z-51.de>
29897
29898 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29899 partition number.
29900 (grub_drive): Likewise.
29901
234022fe 299022009-04-13 David S. Miller <davem@davemloft.net>
29903
29904 * kern/sparc64/ieee1275/ieee1275.c: New file.
29905 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29906 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29907 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29908 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29909 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29910 grub_ieee1275_alloc_physmem): Declare new exported functions.
29911
d8e1836c 29912 * include/grub/sparc64/ieee1275/loader.h: New file.
29913 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29914 * include/grub/sparc64/kernel.h: Likewise.
29915 * loader/sparc64/ieee1275/linux.c: Likewise.
29916
96bd81ec 29917 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29918 (grub_fstest_SOURCES): Likewise.
29919
6a4737e5 29920 * util/hostdisk.c (make_device_name): Do not make any assumptions
29921 about the length of drive names.
29922
1d7a72fd 29923 * kern/dl.c (grub_dl_load_file): Close file immediately when
29924 we are done using it.
29925
56bc2471 299262009-04-12 David S. Miller <davem@davemloft.net>
29927
29928 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29929 values. Noticed by Pavel Roskin.
29930
df38d0bb 29931 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29932 target compiler.
7dd4a573 29933
e382e93a 29934 * genmk.rb: Add more flexible image type specification, also
29935 pass --strip-unneeded to objcopy.
29936 * conf/i386-pc.rmk: Use *_FORMAT.
29937 * conf/i386-pc.mk: Rebuilt.
29938
f5dbbca9 29939 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29940 (OFDISK_HASH_SZ): Define.
29941 (ofdisk_hash): New hash table.
29942 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29943 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29944 instead of device phandle which is not unique.
29945
91c88b12 29946 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29947 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29948 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29949 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29950 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29951 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29952 GRUB_KERNEL_MACHINE_DATA_END): Define.
29953 (grub_kernel_image_size, grub_total_module_size): Declare.
29954
5b5d4aa5 299552009-04-12 Pavel Roskin <proski@gnu.org>
29956
7dd4a573 29957 * configure.ac: Change the logic when we check for target tools.
29958 Do it when the target is specified and it's different from the
29959 specified value of the host.
5b5d4aa5 29960
c91e1793 299612009-04-11 Felix Zielcke <fzielcke@z-51.de>
29962
29963 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29964 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29965 GNU/kFreeBSD. Check if a device is a character device. Use
29966 DIOCGMEDIASIZE to get the size.
29967 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29968 support for GNU/kFreeBSD.
29969 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29970 is a character device instead of a block device. Add support for
29971 FreeBSD device names.
29972
29973 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29974 is a character device instead of a block device.
29975
29976 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29977 is a character device instead of a block device.
29978
b1ac8644 299792009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29980
29981 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29982 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29983 FreeBSD. Check if a device is a character device. Use
29984 DIOCGMEDIASIZE to get the size.
29985 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29986 support for FreeBSD.
29987 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29988 is a character device instead of a block device. Add support for
29989 FreeBSD device names.
29990
29991 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29992 a character device instead of a block device.
29993 (grub_util_check_char_device): New function.
29994
29995 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29996 a character device instead of a block device.
29997
29998 * include/grub/util/getroot.h (grub_util_check_char_device): New
29999 prototype.
30000
a3f7515a 300012009-04-11 David S. Miller <davem@davemloft.net>
30002
30003 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30004 static libgcc.
30005 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30006 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30007 function, if present.
30008 (__bswapdi2): Likewise.
30009
0d44993d 30010 * include/grub/sparc64/ieee1275/boot.h: New file.
30011 * boot/sparc64/ieee1275/boot.S: Likewise.
30012 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30013
ed3d2bc2 30014 * kern/misc.c (grub_ltoa): New function.
30015 (grub_vsprintf): Use it to format 'long' integers.
30016
d3bfb59c 300172009-04-10 David S. Miller <davem@davemloft.net>
30018
30019 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30020 slots are of type grub_ieee1275_cell_t.
30021 (grub_nand_read): Likewise.
30022 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30023 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30024 macros are used to compare values in arg/ret block of the call.
30025 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30026 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30027 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30028 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30029 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30030 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30031 grub_ieee1275_close, grub_ieee1275_set_property,
30032 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30033 grub_ieee1275_cell_t.
30034 * kern/ieee1275/openfw.c (grub_map): Likewise.
30035 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30036 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30037
450e2238 30038 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30039 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30040 (grub_devalias_iterate): Likewise.
30041
7dd4a573 300422009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 30043
30044 UFS improvements
30045
30046 * fs/ufs.c (INODE_NBLOCKS): new definition
30047 (struct grub_ufs_dirent): added fields for non-BSD dirents
30048 (grub_ufs_get_file_block): fixed double indirect handling
30049 (grub_ufs_lookup_symlink): use more robust way to determine whether
30050 symlink is inline
30051 (grub_ufs_find_file): support for non-BSD dirents
30052 (grub_ufs_dir): support for non-BSD dirents
30053
e7e6862a 300542009-04-10 Bean <bean123ch@gnail.com>
30055
30056 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30057 attribute, otherwise the size would be wrong for i386 platform.
30058
30059 * include/grub/pci.h (grub_pci_read_word): New inline function.
30060 (grub_pci_read_byte): Likewise.
30061 (grub_pci_write): Likewise.
30062 (grub_pci_write_word): Likewise.
30063 (grub_pci_write_byte): Likewise.
30064
30065 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30066
30067 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30068 (find_framebuf): Scan pci to locate the frame buffer address.
30069
30070 * commands/efi/fixvideo.c: New file.
30071
30072 * commands/efi/loadbios.c: Likewise.
30073
30074 * commands/memrw.c: Likewise.
30075
30076 * util/grub-dumpbios.in: Likewise.
30077
30078 * conf/common.rmk (grub-dumpbios): New utility.
30079 (pkglib_MODULES): New module memrw.mod.
30080 (memrw_mod_SOURCE): New macro.
30081 (memrw_mod_CFLAGS): Likewise.
30082 (memrw_mod_LDFLAGS): Likewise.
30083
7dd4a573 30084 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30085 fixvideo.mod.
30086 (loadbios_mod_SOURCE): New macro.
30087 (loadbios_mod_CFLAGS): Likewise.
30088 (loadbios_mod_LDFLAGS): Likewise.
30089 (fixvideo_mod_SOURCE): Likewise.
30090 (fixvideo_mod_CFLAGS): Likewise.
30091 (fixvideo_mod_LDFLAGS): Likewise.
30092
7dd4a573 30093 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30094 fixvideo.mod.
30095 (loadbios_mod_SOURCE): New macro.
30096 (loadbios_mod_CFLAGS): Likewise.
30097 (loadbios_mod_LDFLAGS): Likewise.
30098 (fixvideo_mod_SOURCE): Likewise.
30099 (fixvideo_mod_CFLAGS): Likewise.
30100 (fixvideo_mod_LDFLAGS): Likewise.
30101
af63ada2 301022009-04-08 Felix Zielcke <fzielcke@z-51.de>
30103
30104 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30105
c2cdde70 301062009-04-07 David S. Miller <davem@davemloft.net>
30107
30108 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30109 support for R_SPARC_OLO10 relocations. Fix compile warning for
30110 R_SPARC_WDISP30 case.
ea3f72cf 30111 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 30112
761319cf 301132009-04-06 Pavel Roskin <proski@gnu.org>
30114
1007d1f5 30115 * include/grub/misc.h (ARRAY_SIZE): New macro.
30116 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30117 New macro.
30118 * loader/i386/linux.c (allocate_pages): Use free_pages().
30119 (grub_linux_unload): Don't use free_pages().
30120 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30121 wrong index. Treat all other modes as text modes.
30122 (grub_cmd_linux): Initialize vid_mode unconditionally to
30123 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30124
761319cf 30125 * commands/help.c (print_command_help): Use cmd->prio, not
30126 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30127
ea761d40 301282009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 30129
ea761d40 30130 Parttool
30131
30132 * parttool/pcpart.c: new file
30133 * commands/parttool.c: likewise
30134 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30135 (parttool_mod_SOURCES): new variable
30136 (parttool_mod_CFLAGS): likewise
30137 (parttool_mod_LDFLAGS): likewise
30138 (pcpart_mod_SOURCES): likewise
30139 (pcpart_mod_CFLAGS): likewise
30140 (pcpart_mod_LDFLAGS): likewise
7dd4a573 30141 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 30142 and parttool/pcpart.c
30143 * conf/i386-efi.rmk: likewise
30144 * conf/i386-ieee1275.rmk: likewise
30145 * conf/i386-pc.rmk: likewise
30146 * conf/powerpc-ieee1275.rmk: likewise
30147 * conf/sparc64-ieee1275.rmk: likewise
30148 * conf/x86_64-ieee1275.rmk: likewise
30149
05aaebfb 301502009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30151
30152 Support for mtime and further expandability of dir command
30153
30154 * include/grub/lib/datetime.h: moved to ...
7dd4a573 30155 * include/grub/datetime.h: ... moved here and added
05aaebfb 30156 declaration of grub_unixtime2datetime. All users updated
7dd4a573 30157 * include/grub/fs.h: new syntax for dir and mtime functions in
30158 struct grub_fs
05aaebfb 30159 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30160 and GRUB_FSHELP_FLAGS_MASK
30161 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30162 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30163 (grub_ext2_mtime): new function
30164 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30165 (grub_hfsplus_mtime): new function
30166 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30167 (GRUB_UFS_ATTR_FILE): likewise
30168 (GRUB_UFS_ATTR_LNK): likewise
30169 (struct grub_ufs_sblock): new fields mtime
30170 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30171 all users updated
30172 (grub_ufs_dir): mtime support
30173 (grub_ufs_mtime): new function
30174 * fs/affs.c (grub_affs_dir): use new dir syntax
30175 * fs/afs.c (grub_afs_dir): likewise
30176 * fs/cpio.c (grub_cpio_dir): likewise
30177 * fs/fat.c (grub_fat_find_dir): likewise
30178 * fs/hfs.c (grub_hfs_dir): likewise
30179 * fs/iso9660.c (grub_iso9660_dir): likewise
30180 * fs/jfs.c (grub_jfs_dir): likewise
30181 * fs/minix.c (grub_minix_dir): likewise
30182 * fs/ntfs.c (grub_ntfs_dir): likewise
30183 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30184 * fs/sfs.c (grub_sfs_dir): likewise
30185 * fs/xfs.c (grub_xfs_dir): likewise
30186 * util/hostfs.c (grub_hostfs_dir): likewise
30187 * lib/datetime.c: moved to ...
30188 * normal/datetime.c: ... moved here
30189 (grub_unixtime2datetime): new function
30190 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 30191 * normal/completion.c (iterate_dir): use new dir syntax
30192 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 30193 last modification time of a volume
7dd4a573 30194 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 30195 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 30196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 30197 (normal_mod_SOURCES): likewise
30198 (datetime_mod_SOURCES): Removed lib/datetime.c
30199 * conf/i386-efi.rmk: likewise
7dd4a573 30200 * conf/i386-ieee1275.rmk: likewise
05aaebfb 30201 * conf/i386-pc.rmk: likewise
30202 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30203 * conf/sparc64-ieee1275.rmk: likewise
30204 * conf/x86_64-efi.rmk: likewise
05aaebfb 30205
8a7e1a14 302062009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30207
30208 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 30209
30210 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 30211 on grub_fat_find_dir
30212 (grub_fat_find_dir): use grub_fat_iterate_dir
30213 (grub_fat_label): likewise
30214
04186a9c 302152009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30216
7dd4a573 30217 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 30218 and command.h
30219 remove extraneous kernel_elf_HEADERS
30220
da4c0bb6 302212009-04-04 Bean <bean123ch@gnail.com>
30222
30223 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30224
30225 * util/misc.c: Likewise.
30226
54ad9555 302272009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30228
30229 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30230 instead of grub_printf.
30231
7a6bf9f2 302322009-04-03 Robert Millan <rmh@aybabtu.com>
30233
30234 * loader/i386/linux.c (grub_linux_setup_video): Fill
30235 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30236 values from `mode info' structure instead of hardcoded
30237 values.
30238
3fcc2083 302392009-04-01 Pavel Roskin <proski@gnu.org>
30240
30241 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30242 unused now.
30243 * genmk.rb: Likewise.
30244 * configure.ac: Likewise.
30245
5ec9740b 302462009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30247
30248 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30249 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30250
5270cec8 302512009-04-01 David S. Miller <davem@davemloft.net>
30252
30253 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 30254 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 30255 (grub_setjmp): Mark with 'returns_twice' attribute.
30256 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
30257 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
30258 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
30259
9c3dd854 302602009-04-01 Robert Millan <rmh@aybabtu.com>
30261
30262 Reapply fix from 2008-07-28 which was accidentally reverted; also
30263 perform the same fix to a similar check in same function.
30264
30265 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30266 with the same number are found, just use issue a warning with
30267 grub_dprintf(), as this error has been reported to be non-fatal.
30268
0d818b7e 302692009-03-31 Pavel Roskin <proski@gnu.org>
30270
30271 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
30272 for cross-compilation.
30273
95646d92 302742009-03-30 Robert Millan <rmh@aybabtu.com>
30275
30276 Fix i386-ieee1275 build.
30277
30278 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
30279 Remove declaration.
30280
6a003ed1 302812009-03-30 Pavel Roskin <proski@gnu.org>
30282
30283 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
30284 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
30285 zero-terminated, rely only on the strlen value. Fix comparison
30286 of strings differing in length.
30287
92f33540 302882009-03-30 Robert Millan <rmh@aybabtu.com>
30289
30290 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
30291 checking for abi version. Improve error messages on BIOS to notify
30292 user about `linux16' command.
30293
a8c48fd5 302942009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
30295
f968172e 30296 Leak fixes
a8c48fd5 30297
f968172e 30298 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
30299 in case of collision
30300 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 30301
9c323f09 303022009-03-29 Robert Millan <rmh@aybabtu.com>
30303
30304 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
30305 set `vid_mode' accordingly.
30306 (grub_linux_boot): Process `vid_mode' and set video mode.
30307
ae68f423 303082009-03-29 Robert Millan <rmh@aybabtu.com>
30309
30310 * util/grub.d/10_linux.in (linux_entry): New function.
30311 Factorize generation of Linux boot entries.
30312
5709cfc4 303132009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
30314
30315 Make the format of Environment Block plain text. The boot loader
30316 part is not tested well yet.
7dd4a573 30317
5709cfc4 30318 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
30319 (buffer): Removed.
30320 (envblk): Likewise.
30321 (usage): Remove "info" and "clear". Add "unset". Update the
30322 description of "set", as this does not delete variables any
30323 longer.
30324 (create_envblk_file): Complete rewrite.
30325 (open_envblk_file): Likewise.
30326 (cmd_info): Removed.
30327 (cmd_list): Likewise.
30328 (cmd_set): Likewise.
30329 (cmd_clear): Likewise.
30330 (list_variables): New function.
30331 (write_envblk): Likewise.
30332 (set_variables): Likewise.
30333 (unset_variables): Likewise.
30334 (main): Complete rewrite.
30335
30336 * commands/loadenv.c (buffer): Removed.
30337 (envblk): Likewise.
30338 (open_envblk_file): New function.
30339 (read_envblk_file): Complete rewrite.
30340 (grub_cmd_load_env): Likewise.
30341 (grub_cmd_list_env): Likewise.
30342 (struct blocklist): New struct.
30343 (free_blocklists): New function.
30344 (check_blocklists): Likewise.
30345 (write_blocklists): Likewise.
30346 (grub_cmd_save_env): Complete rewrite.
30347
30348 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
30349 a plain text signature.
30350 (GRUB_ENVBLK_MAXLEN): Removed.
30351 (struct grub_envblk): Complete rewrite.
30352 (grub_envblk_find): Removed.
30353 (grub_envblk_insert): Likewise.
30354 (grub_envblk_open): New prototype.
30355 (grub_envblk_set): Likewise.
30356 (grub_envblk_delete): Put const to VALUE.
30357 (grub_envblk_iterate): Put const to NAME and VALUE.
30358 (grub_envblk_close): New prototype.
30359 (grub_envblk_buffer): New inline function.
30360 (grub_envblk_size): Likewise.
30361
30362 * lib/envblk.c: Include grub/mm.h.
30363 (grub_env_find): Removed.
30364 (grub_envblk_open): New function.
30365 (grub_envblk_close): Likewise.
30366 (escaped_value_len): Likewise.
30367 (find_next_line): Likewise.
30368 (grub_envblk_insert): Removed.
30369 (grub_envblk_set): New function.
30370 (grub_envblk_delete): Complete rewrite.
30371 (grub_envblk_iterate): Likewise.
30372
a9368fd3 303732009-03-28 Robert Millan <rmh@aybabtu.com>
30374
30375 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
30376 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
30377 variables. Use 16-bit loader.
30378 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
30379 loader.
30380 * kern/i386/loader.S (grub_linux_boot): Rename to ...
30381 (grub_linux16_boot): ... this. Update all users.
30382 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
30383 (grub_linux_boot): ... this. Update all users.
30384
30385 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
30386 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
30387 commands to `linux16' and `initrd16'.
30388 (GRUB_MOD_FINI(linux)): Rename to ...
30389 (GRUB_MOD_FINI(linux16)): ... this.
30390
e4dd5a7e 303912009-03-24 Pavel Roskin <proski@gnu.org>
30392
30393 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
30394 not just for compilation.
30395
c04d6e05 303962009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
30397
30398 Move multiboot helper out of kernel
30399
30400 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
30401 `loader/i386/multiboot_helper.S'.
30402 * conf/i386-coreboot.rmk: Likewise
30403 * conf/i386-ieee1275.rmk: Likewise
30404
30405 * kern/i386/loader.S: Move multiboot helpers from here...
30406 * loader/i386/multiboot_helper.S: ...moved here
30407 * include/grub/i386/loader.h: Move declarations of multiboot
30408 helpers from here...
30409 * include/grub/i386/multiboot.h: ...moved here
30410 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
30411
42a5b3fc 304122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30413
30414 * kern/env.c (grub_env_context_open): Added an argument to specify
30415 whether a new context inherits exported variables from current
30416 one. This is useful when making a sandbox to interpret a config
30417 file.
30418 All callers updated.
30419
30420 * include/grub/env.h (grub_env_context_open): Updated the prototype.
30421
b28bbc4e 304222009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30423
30424 * kern/env.c (grub_env_context_close): Fix memory leaks.
30425
f04f02e4 304262009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30427
30428 * normal/main.c (grub_normal_execute): Added an argument
30429 BATCH to specify if an interactive interface should be provided
30430 after reading a config file.
30431 All callers updated.
30432 (read_command_list): Prevent being executed twice.
30433 (read_fs_list): Likewise.
30434
42a5b3fc 30435 * include/grub/normal.h (grub_normal_execute): Updated the
30436 prototype.
f04f02e4 30437
41473ac2 304382009-03-22 Pavel Roskin <proski@gno.org>
30439
fbc00b0c 30440 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
30441 _start.
30442 * kern/i386/pc/startup.S: Likewise.
30443 * kern/i386/efi/startup.S: Likewise.
30444 * kern/i386/ieee1275/startup.S: Likewise.
30445 * kern/i386/coreboot/startup.S: Likewise.
30446 * kern/x86_64/efi/startup.S: Likewise.
30447
41473ac2 30448 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
30449 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
30450 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
30451
2274cc8f 304522009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
30453
30454 Bugfixes in multiboot for bugs uncovered by solaris kernel.
30455
30456 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
30457 limit detection.
30458 Use vaddr of correct segment for entry_point.
30459
b1b797cb 304602009-03-21 Bean <bean123ch@gmail.com>
30461
30462 * commands/blocklist.c: Add include file <grub/command.h>, remove
30463 <grub/normal.h> and <grub/arg.h>.
30464 (grub_cmd_blocklist): Use the new command interface.
30465 (GRUB_MOD_INIT): Likewise.
30466 (GRUB_MOD_FINI): Likewise.
30467 * commands/boot.c: Likewise.
30468 * commands/cat.c: Likewise.
30469 * commands/cmp.c: Likewise.
30470 * commands/configfile.c: Likewise.
30471 * commands/crc.c: Likewise.
30472 * commands/echo.c: Likewise.
30473 * commands/halt.c: Likewise.
30474 * commands/handler.c: Likewise.
30475 * commands/hdparm.c: Likewise.
30476 * commands/help.c: Likewise.
30477 * commands/hexdump.c: Likewise.
30478 * commands/loadenv.c: Likewise.
30479 * commands/ls.c: Likewise.
30480 * commands/lsmmap.c: Likewise.
30481 * commands/lspci.c: Likewise.
30482 * commands/loadenv.c: Likewise.
30483 * commands/read.c: Likewise.
30484 * commands/reboot.c: Likewise.
30485 * commands/search.c: Likewise.
30486 * commands/sleep.c: Likewise.
30487 * commands/test.c: Likewise.
30488 * commands/usbtest.c: Likewise.
30489 * commands/videotest.c: Likewise.
30490 * commands/i386/cpuid.c: Likewise.
30491 * commands/i386/pc/halt.c: Likewise.
30492 * commands/i386/pc/play.c: Likewise.
30493 * commands/i386/pc/pxecmd.c: Likewise.
30494 * commands/i386/pc/vbeinfo.c: Likewise.
30495 * commands/i386/pc/vbetest.c: Likewise.
30496 * commands/ieee1275/suspend.c: Likewise.
30497 * disk/loopback.c: Likewise.
30498 * font/font_cmd.c: Likewise.
30499 * hello/hello.c: Likewise.
30500 * loader/efi/appleloader.c: Likewise.
30501 * loader/efi/chainloader.c: Likewise.
30502 * loader/i386/bsd.c: Likewise.
30503 * loader/i386/efi/linux.c: Likewise.
30504 * loader/i386/ieee1275/linux.c: Likewise.
30505 * loader/i386/linux.c: Likewise.
30506 * loader/i386/pc/chainloader.c: Likewise.
30507 * loader/i386/pc/linux.c: Likewise.
30508 * loader/powerpc/ieee1275/linux.c: Likewise.
30509 * loader/multiboot_loader.c: Likewise.
30510 * term/gfxterm.c: Likewise.
30511 * term/i386/pc/serial.c: Likewise.
30512 * term/terminfo.c: Likewise.
30513
30514 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
30515 * term/i386/pc/vga.c: Likewise.
30516 * video/readers/jpeg.c: Likewise.
30517 * video/readers/png.c: Likewise.
30518 * video/readers/tga.c: Likewise.
30519
30520 * util/grub-fstest (cmd_loopback): Removed.
30521 (cmd_blocklist): Likewise.
30522 (cmd_ls): Likewise.
30523 (grub_register_command): Likewise.
30524 (grub_unregister_command): Likewise.
30525 (execute_command): Use grub_command_find to locate command and execute
30526 it.
30527
30528 * include/grub/efi/chainloader.h: Removed.
30529 * loader/efi/chainloader_normal.c: Likewise.
30530 * loader/i386/bsd_normal.c: Likewise.
30531 * loader/i386/pc/chainloader_normal.c: Likewise.
30532 * loader/i386/pc/multiboot_normal.c: Likewise.
30533 * loader/linux_normal.c: Likewise.
30534 * loader/multiboot_loader_normal.c: Likewise.
30535 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30536
30537 * gencmdlist.sh: Scan new registration command grub_register_extcmd
30538 and grub_register_command_p1.
30539
30540 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
30541 kern/command.c, lib/arg.c and commands/extcmd.c.
30542 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
30543 (minicmd_mod_SOURCES): New variable.
30544 (minicmd_mod_CFLAGS): Likewise.
30545 (minicmd_mod_LDFLAGS): Likewise.
30546 (extcmd_mod_SOURCES): Likewise.
30547 (extcmd_mod_CFLAGS): Likewise.
30548 (extcmd_mod_LDFLAGS): Likewise.
30549 (boot_mod_SOURCES): Removed.
30550 (boot_mod_CFLAGS): Likewise.
30551 (boot_mod_LDFLAGS): Likewise.
30552
30553 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
30554 kern/corecmd.c.
30555 (kernel_img_HEADERS): Add command.h.
30556 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
30557 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
30558 and lib/arg.c.
30559 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
30560 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
30561 remove the corresponding normal mode command.
30562 (normal_mod_SOURCES): Remove normal/arg.c.
30563 * conf/i386-coreboot.rmk: Likewise.
30564 * conf/i386-efi.rmk: Likewise.
30565 * conf/i386-ieee1275.rmk: Likewise.
30566 * conf/powerpc-ieee1275.rmk: Likewise.
30567 * conf/x86_64-efi.rmk: Likewise.
30568
30569 * include/grub/arg.h: Move from here ...
30570 * include/grub/lib/arg.h: ... to here.
30571
30572 * normal/arg.c: Move from here ...
30573 * lib/arg.c: ... to here.
30574
30575 * commands/extcmd.c: New file.
30576 * commands/minicmd.c: Likewise.
30577 * include/grub/command.h: Likewise.
30578 * include/grub/extcmd.h: Likewise.
30579 * kern/command.c: Likewise.
30580 * kern/corecmd.c: Likewise.
30581
30582 * kern/list.c (grub_list_iterate): Return int instead of void.
30583 (grub_list_insert): New function.
30584 (grub_prio_list_insert): Likewise.
30585
30586 * kern/rescue.c (grub_rescue_command): Removed.
30587 (grub_rescue_command_list): Likewise.
30588 (grub_rescue_register_command): Likewise.
30589 (grub_rescue_unregister_command): Likewise.
30590 (grub_rescue_cmd_boot): Move to minicmd.c
30591 (grub_rescue_cmd_help): Likewise.
30592 (grub_rescue_cmd_info): Likewise.
30593 (grub_rescue_cmd_boot): Likewise.
30594 (grub_rescue_cmd_testload): Likewise.
30595 (grub_rescue_cmd_dump): Likewise.
30596 (grub_rescue_cmd_rmmod): Likewise.
30597 (grub_rescue_cmd_lsmod): Likewise.
30598 (grub_rescue_cmd_exit): Likewise.
30599 (grub_rescue_print_devices): Moved to corecmd.c.
30600 (grub_rescue_print_files): Likewise.
30601 (grub_rescue_cmd_ls): Likewise.
30602 (grub_rescue_cmd_insmod): Likewise.
30603 (grub_rescue_cmd_set): Likewise.
30604 (grub_rescue_cmd_unset): Likewise.
7d074e3c 30605 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 30606 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 30607 commands, remove grub_rescue_register_command calls.
b1b797cb 30608
7d074e3c 30609 * normal/command.c (grub_register_command): Removed.
b1b797cb 30610 (grub_unregister_command): Likewise.
30611 (grub_command_find): Likewise.
30612 (grub_iterate_commands): Likewise.
30613 (rescue_command): Likewise.
30614 (export_command): Moved to corecmd.c.
30615 (set_command): Removed.
30616 (unset_command): Likewise.
30617 (insmod_command): Likewise.
30618 (rmmod_command): Likewise.
30619 (lsmod_command): Likewise.
30620 (grub_command_init): Likewise.
30621
30622 * normal/completion.c (iterate_command): Use cmd->prio to check for
30623 active command.
30624 (complete_arguments): Use grub_extcmd_t structure to find options.
30625 (grub_normal_do_completion): Change function grub_iterate_commands to
30626 grub_command_iterate.
30627
30628 * normal/execute.c (grub_script_execute_cmd): No need to parse
30629 argument here.
30630
30631 * normal/main.c (grub_dyncmd_dispatcher): New function.
30632 (read_command_list): Register unload commands as dyncmd.
30633 (grub_cmd_normal): Use new command interface, register rescue,
30634 unregister normal at entry, register normal, unregister rescue at exit.
30635
30636 * include/grub/list.h (grub_list_test_t): New type.
30637 (grub_list_iterate): Return int instead of void.
30638 (grub_list_insert): New function.
30639 (GRUB_AS_NAMED_LIST_P): New macro.
30640 (GRUB_AS_PRIO_LIST): Likewise.
30641 (GRUB_AS_PRIO_LIST_P): Likewise.
30642 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30643 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30644 (grub_prio_list): New structure.
30645 (grub_prio_list_insert): New function.
30646 (grub_prio_list_remove): New inline function.
30647
30648 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30649 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30650 (GRUB_COMMAND_FLAG_MENU): Likewise.
30651 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30652 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30653 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30654 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30655 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30656 (grub_command): Likewise.
30657 (grub_register_command): Likewise.
30658 (grub_command_find): Likewise.
30659 (grub_iterate_commands): Likewise.
30660 (grub_command_init): Likewise.
30661 (grub_arg_parse): Likewise.
30662 (grub_arg_show_help): Likewise.
30663
30664 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30665 (grub_rescue_unregister_command): Likewise.
30666
30667 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30668 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30669 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30670
30671 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30672 grub_rescue_cmd_initrd.
30673 * include/grub/i386/loader.h: Likewise.
30674 * include/grub/x86_64/loader.h: Likewise.
30675
30676 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30677
1f4147aa 306782009-03-21 Bean <bean123ch@gmail.com>
30679
30680 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30681 instead of stat in mingw environment.
30682
30683 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30684
30685 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30686
30687 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30688 AC_CONFIG_LINKS.
30689
2156d5ba 306902009-03-21 Bean <bean123ch@gmail.com>
30691
30692 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30693 out of range error.
30694
177b82ca 306952009-03-18 Michel Dänzer <michel@daenzer.net>
30696
30697 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30698 checking inode flags for EXT4_EXTENTS_FLAG.
30699
14aad807 307002009-03-18 Robert Millan <rmh@aybabtu.com>
30701
30702 * loader/i386/linux.c: Include `<grub/video.h>' and
30703 `<grub/i386/pc/vbe.h>'..
30704 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30705 (grub_linux32_boot): Attempt to configure video settings with
30706 grub_linux_setup_video().
30707 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30708 to avoid grub_console_fini() which would step out of graphical mode
30709 unconditionally.
30710
8cf83a27 307112009-03-14 Robert Millan <rmh@aybabtu.com>
30712
30713 Fix build on powerpc.
30714 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30715
40164e75 307162009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30717
30718 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30719 background image command.
30720
c58bc32a 307212009-03-12 Colin D Bennett <colin@gibibit.com>
30722
30723 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30724 (grub_gfxterm_putchar): Extract pairs of identical calls to
30725 draw_cursor out of conditional blocks.
30726
5415144a 307272009-03-11 Pavel Roskin <proski@gnu.org>
30728
30729 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30730 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30731
6394042e 307322009-03-11 Robert Millan <rmh@aybabtu.com>
30733
30734 * loader/i386/multiboot_elfxx.c
30735 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30736
b7b50e5f 307372009-03-11 Felix Zielcke <fzielcke@z-51.de>
30738
30739 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30740 `kern/handler.c'.
30741
1ca7fc96 307422009-03-11 Robert Millan <rmh@aybabtu.com>
30743
30744 * loader/i386/multiboot.c (code_size): New variable.
30745 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30746 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30747 4-byte alignment to MBI and others by increasing
7d074e3c 30748 `boot_loader_name_length' appropriately.
1ca7fc96 30749
30750 * loader/i386/multiboot_elfxx.c
30751 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30752
a83ea1d2 307532009-03-09 Felix Zielcke <fzielcke@z-51.de>
30754
30755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30756 `fs/ext2.c'.
30757
aa9f3bff 307582009-03-08 Robert Millan <rmh@aybabtu.com>
30759
30760 Make loader/i386/linux.c usable on i386-pc again.
30761
30762 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30763 memory to heap.
30764 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30765 `#error' stanza.
30766
d8b3b60e 307672009-03-07 Bean <bean123ch@gmail.com>
30768
30769 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30770 allocation.
30771
b362c9e9 307722009-03-06 Robert Millan <rmh@aybabtu.com>
30773
30774 Fix display issue on terminals with screen size other than 80x25
30775 (e.g. gfxterm with resolution higher than 640x480).
30776
30777 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30778 position relative to the center of the terminal instead of relying
b362c9e9 30779 on a hardcoded offset.
30780
9304eef1 307812009-03-04 Robert Millan <rmh@aybabtu.com>
30782
30783 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30784 installed.
30785
30786 * Makefile.in (host_kernel): New variable.
30787 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30788 scripts instead of just the windows one.
30789 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30790
eabc95fb 307912009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30792
30793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30794 `kern/handler.c'.
30795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30796 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30797 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30801
ceb1223c 308022009-03-04 Felix Zielcke <fzielcke@z-51.de>
30803
30804 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30805 or if there's no space for the disk label and print the partition number on a
30806 invalid magic.
30807
4910684a 308082009-03-04 Felix Zielcke <fzielcke@z-51.de>
30809
30810 * util/misc.c: Include <time.h>.
30811 (grub_millisleep): New function.
30812
7e9ca17a 308132009-03-04 Bean <bean123ch@gmail.com>
30814
30815 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30816 another option -mno-red-zone.
30817
30818 * commands/handler.c: Change module description.
30819
30820 * kern/handler.c: Add missing space at the end of description line.
30821
30822 * kern/list.c: Likewise.
30823
f501677c 308242009-03-03 Robert Millan <rmh@aybabtu.com>
30825
30826 Move more components to the relocation area, and fix mbi pointer
30827 handling to use the destination rather than the origin (thanks to
30828 Vladimir Serbinenko for spotting).
30829
30830 * loader/i386/multiboot.c (mbi_dest): New variable.
30831 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30832 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30833 relocation area.
30834
9902d047 308352009-03-01 Bean <bean123ch@gmail.com>
30836
50fb7002 30837 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30838 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30839 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30840 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30841
30842 * loader/i386/efi/linux.c (acpi_guid): New variable.
30843 (acpi_guid): Likewise.
30844 (EBDA_SEG_ADDR): New constant.
30845 (LOW_MEM_ADDR): Likewise.
30846 (FAKE_EBDA_SEG): Likewise.
30847 (fake_bios_data): New function.
30848 (grub_linux_boot): Call fake_bios_data.
30849
71b9f361 308502009-03-01 Bean <bean123ch@gmail.com>
30851
30852 * commands/terminal.c: Removed.
30853
30854 * commands/handler.c: New file.
30855
30856 * include/grub/list.h: Likewise.
30857
30858 * include/grub/handler.h: Likewise.
30859
30860 * kern/list.c: Likewise.
30861
30862 * kern/handler.c: Likewise.
30863
30864 * kern/term.h: Include header file <grub/handler.h>.
30865 (grub_term_input): Move next field to the beginning.
30866 (grub_term_output): Likewise.
30867 (grub_term_input_class): New variable.
30868 (grub_term_output_class): Likewise.
30869 (grub_term_register_input): Changed to inline function.
30870 (grub_term_register_output): Likewise.
30871 (grub_term_unregister_input): Likewise.
30872 (grub_term_unregister_output): Likewise.
30873 (grub_term_set_current_input): Likewise.
30874 (grub_term_set_current_output): Likewise.
30875 (grub_term_get_current_input): Likewise.
30876 (grub_term_get_current_output): Likewise.
30877 (grub_term_iterate_input): Removed.
30878 (grub_term_iterate_output): Likewise.
30879
30880 * kern/term.c (grub_term_list_input): Removed.
30881 (grub_term_list_output): Likewise.
30882 (grub_term_input_class): New variable.
30883 (grub_term_output_class): Likewise.
50fb7002 30884 (grub_cur_term_input): Change variable as macro.
71b9f361 30885 (grub_cur_term_output): Likewise.
30886 (grub_term_register_input): Removed.
30887 (grub_term_register_output): Likewise.
30888 (grub_term_unregister_input): Likewise.
30889 (grub_term_unregister_output): Likewise.
30890 (grub_term_set_current_input): Likewise.
30891 (grub_term_set_current_output): Likewise.
30892 (grub_term_iterate_input): Likewise.
30893 (grub_term_iterate_output): Likewise.
30894 (grub_term_get_current_input): Likewise.
30895 (grub_term_get_current_output): Likewise.
30896
30897 * util/grub-editenv.c: Include header file <grub/handler.h>.
30898 (grub_term_get_current_input): Removed.
30899 (grub_term_get_current_output): Likewise.
30900 (grub_term_input_class): New variable.
50fb7002 30901 (grub_term_output_class): Likewise.
71b9f361 30902
30903 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30904 (grub_term_get_current_output): Likewise.
30905 (grub_term_input_class): New variable.
50fb7002 30906 (grub_term_output_class): Likewise.
71b9f361 30907
30908 * util/grub-probe.c (grub_term_get_current_input): Removed.
30909 (grub_term_get_current_output): Likewise.
30910 (grub_term_input_class): New variable.
50fb7002 30911 (grub_term_output_class): Likewise.
71b9f361 30912
30913 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30914 (grub_term_get_current_output): Likewise.
30915 (grub_term_input_class): New variable.
50fb7002 30916 (grub_term_output_class): Likewise.
71b9f361 30917
30918 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30919 (terminal_mod_SOURCES): Likewise.
30920 (terminal_mod_CFLAGS): Likewise.
30921 (terminal_mod_LDFLAGS): Likewise.
30922
30923 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30924 handler.c.
30925 (kernel_img_SOURCES): Add list.c and handler.c.
30926 (kernel_img_HEADERS): Add list.h and handler.h.
30927
30928 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30929 handler.c.
30930 (kernel_mod_SOURCES): Add list.c and handler.c.
30931 (kernel_mod_HEADERS): Add list.h and handler.h.
30932
30933 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30934 handler.c.
30935 (kernel_elf_SOURCES): Add list.c and handler.c.
30936 (kernel_elf_HEADERS): Add list.h and handler.h.
30937
30938 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30939 handler.c.
30940 (kernel_elf_SOURCES): Add list.c and handler.c.
30941 (kernel_elf_HEADERS): Add list.h and handler.h.
30942
30943 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30944 handler.c.
30945 (kernel_mod_SOURCES): Add list.c and handler.c.
30946 (kernel_mod_HEADERS): Add list.h and handler.h.
30947
30948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30949 handler.c.
30950 (kernel_elf_SOURCES): Add list.c and handler.c.
30951 (kernel_elf_HEADERS): Add list.h and handler.h.
30952
8a31787f 309532009-02-27 Robert Millan <rmh@aybabtu.com>
30954
30955 Factorize elf32 / elf64 code in Multiboot loader. This will
30956 prevent it from getting out of sync again.
30957
30958 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30959 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30960 grub_multiboot_load_elf64): Move from here ...
30961 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30962 grub_multiboot_load_elf): ... to here (new file).
30963
51cd3dfc 309642009-02-27 Robert Millan <rmh@aybabtu.com>
30965
30966 * util/grub.d/10_linux.in: Rename "single-user mode" to
30967 "recovery mode".
30968
6e8c9c3a 309692009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30970
30971 Don't leak in SCSI code.
30972 * disk/scsi.c (grub_scsi_close): free `scsi'.
30973
4b6bf4f9 309742009-02-27 Robert Millan <rmh@aybabtu.com>
30975
30976 * loader/i386/pc/multiboot.c: Move from here ...
30977 * loader/i386/multiboot.c: ... to here. Update all users.
30978
b9413424 309792009-02-27 Robert Millan <rmh@aybabtu.com>
30980
30981 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30982 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30983
50fb7002 309842009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30985
30986 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30987 b-tree.
30988
8cc50345 309892009-02-27 Robert Millan <rmh@aybabtu.com>
30990
30991 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30992 `0x' qualifier as 0 when base is specified as parameter).
30993
6e09b8b7 309942009-02-24 Bean <bean123ch@gmail.com>
30995
30996 * configure.ac: Check for -mcmodel=large in x86_64 target.
30997
30998 * include/grub/efi/api.h (efi_call_10): New macro.
30999 (efi_wrap_10): New function.
31000
31001 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31002 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31003 (GRUB_PE32_REL_BASED_LOW): Likewise.
31004 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31005 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31006 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31007 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31008 (GRUB_PE32_REL_BASED_REL): Likewise.
31009 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31010 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31011 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31012
31013 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31014 issue.
31015
31016 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31017 (efi_wrap_10): New function.
31018
31019 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31020
31021 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31022 MB/MBP model (NV chipset).
31023 (devdata_devs): Add devpath_5 to the list.
31024
31025 * load/i386/efi/linux.c (video_base): Remove variable.
31026 (RGB_MASK): New macro.
31027 (RGB_MAGIC): Likewise.
31028 (LINE_MIN): Likewise.
31029 (LINE_MAX): Likewise.
31030 (FBTEST_STEP): Likewise.
31031 (FBTEST_COUNT): Likewise.
31032 (fb_list): New variable.
31033 (grub_find_video_card): Remove function.
31034 (find_framebuf): New function.
31035 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31036 line length.
31037
31038 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31039 problem for x86_64.
31040
74b21bee 310412009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31042
31043 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31044
31045 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31046 coding tool name.
31047
a455f472 310482009-02-22 Robert Millan <rmh@aybabtu.com>
31049
31050 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31051 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31052 in our relocation, instead of using it directly from heap. Also
31053 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31054
6374daf3 310552009-02-21 Robert Millan <rmh@aybabtu.com>
31056
31057 Implement USB keyboard support (based on patch by Marco Gerards)
31058
31059 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31060 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31061 (usb_keyboard_mod_LDFLAGS): New variables.
31062
31063 * term/usb_keyboard.c: New file.
31064
8fa4ea70 310652009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31066
31067 Corrected wrong declaration
31068
31069 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31070
353976ac 310712009-02-14 Christian Franke <franke@computer.org>
31072
31073 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31074 (grub_lspci_iter): Print class code and programming interface byte.
31075
6aa1169b 310762009-02-14 Christian Franke <franke@computer.org>
31077
31078 * gendistlist.sh: Ignore `.svn' directories.
31079
265372ca 310802009-02-14 Felix Zielcke <fzielcke@z-51.de>
31081
31082 * fs/fat.c: Add 2009 to Copyright line.
31083
9ff516f3 310842009-02-14 Christian Franke <franke@computer.org>
31085
31086 * commands/hdparm.c: New file. Provides `hdparm' command
31087 which sends ATA commands via grub_disk_ata_pass_through ().
31088
31089 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31090
31091 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31092 and <grub/cpu/io.h> to include/grub/ata.h.
31093 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31094 (GRUB_CDROM_SECTOR_SIZE): Remove.
31095 (GRUB_ATA_*): Move to include/grub/ata.h.
31096 (GRUB_ATAPI_*): Likewise.
31097 (enum grub_ata_commands): Likewise.
31098 (enum grub_ata_timeout_milliseconds): Likewise.
31099 (struct grub_ata_device): Likewise.
31100 (grub_ata_regset): Likewise.
31101 (grub_ata_regget): Likewise.
31102 (grub_ata_regset2): Likewise.
31103 (grub_ata_regget2): Likewise.
31104 (grub_ata_check_ready): Likewise.
31105 (grub_ata_wait_not_busy): Remove static, exported in
31106 include/grub/ata.h.
31107 (grub_ata_wait_drq): Likewise.
31108 (grub_ata_pio_read): Likewise.
31109
31110 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31111 function for hdparm.mod.
31112
31113 * include/grub/ata.h: New file, contains declarations from
31114 disk/ata.c.
31115 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31116
31117 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31118 (grub_disk_ata_pass_through): New exported variable.
31119
31120 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31121
772e23da 311222009-02-13 Colin D Bennett <colin@gibibit.com>
31123
31124 Support multiple fallback entries, and provide an API to support
31125 executing default+fallback menu entries. Renamed the `terminal' menu
31126 viewer to `text'.
31127
31128 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31129 variable declaration.
31130 (grub_menu_execute_callback): New structure declaration.
31131 (grub_menu_execute_callback_t): New typedef.
31132 (grub_menu_execute_with_fallback): New function declaration.
31133 (grub_menu_get_entry): Likewise.
31134 (grub_menu_get_timeout): Likewise.
31135 (grub_menu_set_timeout): Likewise.
31136
31137 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31138
31139 * normal/menu.c (grub_wait_after_message): Moved to
31140 `normal/menu_text.c'.
31141 (draw_border): Likewise.
31142 (print_message): Likewise.
31143 (print_entry): Likewise.
31144 (print_entries): Likewise.
31145 (grub_menu_init_page): Likewise.
31146 (get_entry_number): Likewise.
31147 (print_timeout): Likewise.
31148 (run_menu): Likewise.
31149 (grub_menu_execute_entry): Likewise.
31150 (show_text_menu): Likewise.
31151 (get_and_remove_first_entry_number): New function.
31152 (grub_menu_execute_with_fallback): Likewise.
31153 (get_entry): Renamed to ...
31154 (grub_menu_get_entry): .. this and made it global.
31155 (get_timeout): Renamed to ...
31156 (grub_menu_get_timeout): ... this and made it global.
31157 (set_timeout): Renamed to ...
31158 (grub_menu_set_timeout): ... this and made it global.
31159 (grub_normal_terminal_menu_viewer): Renamed to ...
31160 (grub_normal_text_menu_viewer): ... this.
31161
31162 * normal/menu_text.c: New file. Extracted text-menu-specific code
31163 from normal/menu.c.
31164
31165 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31166 (normal_mod_SOURCES): Likewise.
31167
31168 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31169 (normal_mod_SOURCES): Likewise.
31170
31171 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31172 (normal_mod_SOURCES): Likewise.
31173
31174 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31175 (normal_mod_SOURCES): Likewise.
31176
31177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31178 (normal_mod_SOURCES): Likewise.
31179
31180 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31181 (normal_mod_SOURCES): Likewise.
31182
31183 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31184 (normal_mod_SOURCES): Likewise.
31185
16ac430e 311862009-02-11 Robert Millan <rmh@aybabtu.com>
31187
31188 * util/grub.d/00_header.in: Update old reference to `font' command.
31189
06ff20fc 311902009-02-10 Felix Zielcke <fzielcke@z-51.de>
31191
31192 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31193
31194 Based on patch from Javier Martín.
31195
96da9407 311962009-02-09 Felix Zielcke <fzielcke@z-51.de>
31197
31198 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 31199 to avoid false positives with FAT.
96da9407 31200 (grub_fstest_SOURCES): Likewise.
31201 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31202 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31205 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31206 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31207
6dca6fe4 312082009-02-09 Felix Zielcke <fzielcke@z-51.de>
31209
06ff20fc 31210 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 31211 bpb.version_specific.fat12_or_fat16.fstype and
31212 bpb.version_specific.fat32.fstype.
31213
2550c62f 312142009-02-08 Robert Millan <rmh@aybabtu.com>
31215
be110b30 31216 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 31217
56978920 312182009-02-08 Robert Millan <rmh@aybabtu.com>
31219
31220 * Makefile.in (host_os, host_cpu): New variables.
31221 (target_os): Remove. Update all users.
31222
d64399b5 312232009-02-08 Marco Gerards <marco@gnu.org>
31224
31225 * Makefile.in (enable_grub_emu_usb): New variable.
31226 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31227 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31228 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31229 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31230 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31231 `usbtest.mod' and `usbms.mod'.
31232 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31233 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31234 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31235 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31236 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31237 variables.
31238
31239 * disk/usbms.c: New file.
31240
31241 * include/grub/usb.h: Likewise.
31242
31243 * include/grub/usbtrans.h: Likewise.
31244
31245 * include/grub/usbdesc.h: Likewise.
31246
31247 * bus/usb/usbtrans.c: Likewise.
31248
31249 * bus/usb/ohci.c: Likewise.
31250
31251 * bus/usb/uhci.c: Likewise.
31252
31253 * bus/usb/usbhub.c: Likewise.
31254
31255 * bus/usb/usb.c: Likewise.
31256
31257 * commands/usbtest.c: Likewise.
31258
31259 * util/usb.c: Likewise.
50fb7002 31260
d64399b5 31261 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
31262
31263 * configure.ac: Test for libusb presence.
50fb7002 31264
d64399b5 31265 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
31266
2b40d6bb 312672009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
31268
31269 * kern/mm.c: Add more comments.
31270
73a4ce81 312712009-02-08 Robert Millan <rmh@aybabtu.com>
31272
31273 Patch from Javier Martín.
31274 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
31275 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
31276
f821ce59 312772009-02-08 Robert Millan <rmh@aybabtu.com>
31278
31279 * fs/cpio.c: Split tar functionality to ...
31280 * fs/tar.c: ... here (new file). Update all users.
31281
aebfc4b0 312822009-02-07 Robert Millan <rmh@aybabtu.com>
31283
31284 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
31285 backward-incompatible features.
31286
31287 Based on patch from Javier Martín, with some adjustments.
31288
50fb7002 312892009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 31290
31291 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
31292
0bb5115e 312932009-02-07 Robert Millan <rmh@aybabtu.com>
31294
31295 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
31296 position of `disk/lvm.c' to ensure grub_init_all() always picks it
31297 after the RAID stuff.
31298
38a0f8e7 312992009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
31300
50fb7002 31301 Fixes problem when running vbetest command as reported by
38a0f8e7 31302 Vladimir Serbinenko <phcoder@gmail.com>.
31303
31304 * (grub_vbe_set_video_mode): Fixed problem with text modes.
31305
3143cc1c 313062009-02-04 Felix Zielcke <fzielcke@z-51.de>
31307
31308 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
31309 /dev/md/NpN style mdraid devices.
31310
9cba6fce 313112009-02-03 Felix Zielcke <fzielcke@z-51.de>
31312
31313 * util/unifont2pff.rb: Remove.
31314
e507a2c1 313152009-02-03 Felix Zielcke <fzielcke@z-51.de>
31316
31317 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
31318 `#'.
31319
d2c2b4cd 313202009-02-03 Felix Zielcke <fzielcke@z-51.de>
31321
31322 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
31323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31324 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31325 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31327 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31328 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31329
b4315fb0 313302009-02-02 Christian Franke <franke@computer.org>
31331
31332 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
31333
de3aa260 313342009-02-01 Felix Zielcke <fzielcke@z-51.de>
31335
7c3ff286 31336 * INSTALL: Note that we now require at least autoconf 2.59 and
31337 that LZO is optional.
de3aa260 31338
825a182b 313392009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31340
31341 Base on patch on bug #24154 created by Tomas Tintera
31342 <trosos@seznam.cz>.
31343
31344 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
31345
a69ef770 313462009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31347
7c3ff286 31348 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 31349 <bero@arklinux.org>.
31350
31351 * normal/parser.y (script_init): Add missing semicolon.
31352
6fa42fa6 313532009-01-31 Colin D Bennett <colin@gibibit.com>
31354
7c3ff286 31355 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 31356 (free_menu_entry_classes): Added.
31357 (grub_normal_menu_addentry): Added class property handling.
31358 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
31359 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
31360
31361 * normal/menu_viewer.c: New file.
31362
31363 * normal/menu.c (run_menu_entry): Renamed to ...
31364 (grub_menu_execute_entry): ... this and made it as global.
31365 (grub_menu_run): Renamed to ...
31366 (show_text_menu): ... this and made it local.
31367 (show_text_menu): Adapt to new function names.
31368 (grub_normal_terminal_menu_viewer): New global variable.
31369
31370 * include/grub/menu.h: New file.
31371
31372 * include/grub/menu_viewer.h: New file.
31373
31374 * include/grub/normal.h: Added include to grub/menu.h.
31375 (grub_menu_entry): Moved to include/grub/menu.h.
31376 (grub_menu_entry_t): Likewise.
31377 (grub_menu): Likewise.
31378 (grub_menu_t): Likewise.
31379 (grub_normal_terminal_menu_viewer): Added.
31380 (grub_menu_execute_entry): Likewise.
31381 (grub_menu_run): Removed.
31382
31383 * DISTLIST: Added include/grub/menu.h.
31384 Added include/grub/menu_viewer.h.
31385 Added normal/menu_viewer.c.
31386
313872009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
31388
31389 * normal/execute.c (grub_script_execute_menuentry): Changed to use
31390 arglist for menutitle arguments.
31391
31392 * normal/main.c (grub_normal_menu_addentry): Likewise.
31393
31394 * normal/parser.y (menuentry): Likewise.
31395
31396 * normal/script.c (grub_script_create_cmdmenu): Likewise.
31397
31398 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
31399 (grub_script_create_cmdmenu): Likewise.
31400
31401 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
31402
31403 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
31404 changes.
31405
31406 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
31407
31408 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
31409
31410 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
31411
31412 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31413
31414 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31415
31416 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31417
56192c23 314182009-01-30 Christian Franke <franke@computer.org>
31419
31420 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
31421 in option help text.
31422
d72521b3 314232009-01-27 Pavel Roskin <proski@gnu.org>
31424
31425 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
31426
994b5e84 314272009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31428
31429 * commands/lsmmap.c: Add include to grub/machine/memory.h.
31430
31431 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
31432
31433 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
31434 unregister function.
31435
6a7eab2c 314362009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31437
31438 * disk/scsi.c (grub_scsi_read): Fix sign problem.
31439
31440 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
31441
31442 * util/grub-mkfont.c (usage): Fix typo.
31443
31444 * util/elf/grub-mkimage.c (load_modules): Fix warning.
31445
1806b56e 314462009-01-26 Daniel Mierswa <impulze@impulze.org>
31447
3fb18f09 31448 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
31449
336e1fb9 31450 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
31451
1806b56e 31452 * kern/misc.c (grub_strcasecmp): New function.
31453 (grub_strcasecmp): Use grub_size_t instead of int for length.
31454 Fix return value.
31455 * include/grub/misc.h: Update function prototypes.
31456
580b2a0f 314572009-01-26 Robert Millan <rmh@aybabtu.com>
31458
31459 * configure.ac: Fix cross-compilation check.
ef257b36 31460
d31c24f1 314612009-01-22 Christian Franke <franke@computer.org>
31462
31463 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
31464 (precision) digit string. Allow `.format2' without `format1' (width).
31465 Limit input chars for `%s' output to `format2' if specified. This is
31466 compatible with standard printf ().
31467
3138b44c 314682009-01-22 Christian Franke <franke@computer.org>
31469
31470 * disk/ata.c (grub_ata_wait_status): Replace by ...
31471 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
31472 other status bits may be invalid while BSY is asserted.
31473 (grub_ata_check_ready): New function.
31474 (grub_ata_cmd): Removed.
31475 (grub_ata_wait_drq): New function.
31476 (grub_ata_strncpy): Remove inline.
31477 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
31478 and error check now done by grub_ata_wait_drq ().
31479 (grub_ata_pio_write): Likewise.
31480 (grub_atapi_identify): Set DEV before check for !BSY. Use
31481 grub_ata_wait_drq () to wait for data.
31482 (grub_ata_device_initialize): Add status register check to
31483 detect missing SATA slave devices. Add debug messages.
31484 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
31485 (grub_atapi_packet): Set DEV before check for !BSY. Replace
31486 transfer loop by grub_ata_pio_write ().
31487 (grub_ata_identify): Set DEV before check for !BSY. Use
31488 grub_ata_wait_drq () to wait for data.
ef257b36 31489 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 31490 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
31491 read/write in one loop. Fix invalid command on write. Fix incomplete
31492 command on (size % batch) == 0. Add missing error check after write of
31493 last block. Add debug messages.
31494 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
31495
59a64ef6 314962009-01-19 Christian Franke <franke@computer.org>
31497
31498 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
31499 (GRUB_ATAPI_IREASON_*): Likewise.
31500 (grub_ata_pio_write): Fix timeout error return.
31501 (grub_atapi_identify): Add grub_ata_wait () after cmd.
31502 (grub_atapi_wait_drq): New function.
31503 (grub_atapi_packet): New parameter `size'.
31504 Use grub_atapi_wait_drq () and direct write instead of
31505 grub_ata_pio_write ().
31506 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
31507 reads the number of bytes requested by the device for each DRQ
31508 assertion.
31509 (grub_atapi_write): Remove old implementation, return not
31510 implemented instead.
31511
1cfe20b3 315122009-01-19 Christian Franke <franke@computer.org>
31513
31514 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
31515 of 512 to calculate data size.
31516 (grub_scsi_read12): Likewise.
31517 (grub_scsi_write10): Likewise.
31518 (grub_scsi_write12): Likewise.
31519 (grub_scsi_read): Adjust size according to blocksize.
31520 Add checks for invalid blocksize and unaligned transfer.
31521
bee5fe5d 315222009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
31523
31524 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
31525
ef257b36 31526 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 31527 width glyphs.
31528
3e643f8c 315292009-01-19 Robert Millan <rmh@aybabtu.com>
31530
31531 * config.guess: Update to latest version from config git.
31532 * config.sub: Likewise.
31533
4fa80998 315342009-01-17 Felix Zielcke <fzielcke@z-51.de>
31535
31536 * Makefile.in: Change font compilation to use new grub-mkfont instead
31537 of java version.
31538
31539 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
31540 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
31541 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31542 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31543 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
31544 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
31545 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
31546 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
31547 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31548
7086085b 315492009-01-16 Christian Franke <franke@computer.org>
31550
31551 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
31552 (enum grub_ata_timeout_milliseconds): New enum.
31553 (grub_ata_wait_status): Add parameter milliseconds.
31554 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
31555 recovery from timed-out commands.
31556 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
31557 return grub_errno instead of REG_ERROR.
31558 (grub_ata_pio_write): Add parameter milliseconds.
31559 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
31560 Pass milliseconds to grub_ata_wait_status () and
31561 grub_ata_pio_read ().
31562 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
31563 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
31564 grub_ata_wait_status (). Fix IDENTIFY timeout check.
31565 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
31566 It is not suitable for device detection, because DEV bit is ignored,
31567 the command may run too long, and not all devices set the signature
31568 properly.
31569 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
31570 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
31571 Fix device selection, DEV bit must be set first to address the registers
31572 of the correct device.
31573 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
31574 grub_ata_pio_read/write ().
31575 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
31576 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
31577
4a412913 315782009-01-13 Carles Pina i Estany <carles@pina.cat>
31579
31580 * util/grub-editenv.c (main): Use fseeko(), not fseek().
31581
7795c55e 315822009-01-13 Bean <bean123ch@gmail.com>
d913988c 31583
31584 * util/grub-mkfont.c (write_font): forget to remove some debug code.
31585
7795c55e 315862009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 31587
31588 * Makefile.in: (enable_grub_mkfont): New variable.
31589 (freetype_cflags): Likewise.
31590 (freetype_libs): Likewise.
31591
31592 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
31593 (grub_mkfont_SOURCES): New variable.
31594 (grub_mkfont_CFLAGS): Likewise.
31595 (grub_mkfont_LDFLAGS): Likewise.
31596
31597 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
31598 library if `--enable-grub-mkfont' is requested.
31599 (enable_grub_mkfont): New variable.
31600 (freetype_cflags): Likewise.
31601 (freetype_libs): Likewise.
31602
31603 * util/grub-mkfont.c: New file.
31604
093af1fe 316052009-01-12 Christian Franke <franke@computer.org>
31606
31607 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
31608 mode check. Fix setting of compat_use[].
31609
f36cc108 316102009-01-10 Robert Millan <rmh@aybabtu.com>
31611
31612 Update a few copyright years which we forgot to do in 2008 (only for
31613 files whose changes made in 2008 were copyright-significant)
31614
31615 * Makefile.in: Add 2008 to Copyright line.
31616 * disk/ieee1275/ofdisk.c: Likewise.
31617 * disk/efi/efidisk.c: Likewise.
31618 * kern/dl.c: Likewise.
31619 * kern/sparc64/ieee1275/init.c: Likewise.
31620 * kern/mm.c: Likewise.
31621 * kern/efi/mm.c: Likewise.
31622 * boot/i386/pc/boot.S: Likewise.
31623 * genfslist.sh: Likewise.
31624 * fs/iso9660.c: Likewise.
31625 * fs/hfs.c: Likewise.
31626 * fs/jfs.c: Likewise.
31627 * fs/minix.c: Likewise.
31628 * fs/ufs.c: Likewise.
31629 * gensymlist.sh.in: Likewise.
31630 * genkernsyms.sh.in: Likewise.
31631 * include/grub/misc.h: Likewise.
31632 * include/grub/types.h: Likewise.
31633 * include/grub/symbol.h: Likewise.
31634 * include/grub/elf.h: Likewise.
31635 * include/grub/kernel.h: Likewise.
31636 * include/grub/disk.h: Likewise.
31637 * include/grub/dl.h: Likewise.
31638 * include/grub/i386/linux.h: Likewise.
31639 * include/grub/i386/pc/biosdisk.h: Likewise.
31640 * include/grub/efi/api.h: Likewise.
31641 * include/grub/efi/pe32.h: Likewise.
31642 * include/grub/util/misc.h: Likewise.
31643 * normal/execute.c: Likewise.
31644 * normal/arg.c: Likewise.
31645 * normal/completion.c: Likewise.
31646 * normal/lexer.c: Likewise.
31647 * normal/parser.y: Likewise.
31648 * normal/misc.c: Likewise.
31649 * commands/i386/pc/vbeinfo.c: Likewise.
31650 * commands/hexdump.c: Likewise.
31651 * commands/terminal.c: Likewise.
31652 * commands/ls.c: Likewise.
31653 * commands/help.c: Likewise.
31654 * partmap/pc.c: Likewise.
31655 * loader/efi/chainloader.c: Likewise.
31656 * loader/multiboot_loader.c: Likewise.
31657 * loader/i386/pc/multiboot2.c: Likewise.
31658 * term/efi/console.c: Likewise.
31659 * term/i386/pc/serial.c: Likewise.
31660 * util/lvm.c: Likewise.
31661 * util/console.c: Likewise.
31662 * util/i386/efi/grub-mkimage.c: Likewise.
31663 * util/raid.c: Likewise.
31664
7f02114b 316652009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31666
31667 * commands/videotest.c: Removed include to grub/machine/memory.h.
31668
31669 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31670 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31671 (video_mod_SOURCES): Removed.
31672 (video_mod_CFLAGS): Likewise.
31673 (video_mod_LDFLAGS): Likewise.
31674 (gfxterm_mod_SOURCES): Likewise.
31675 (gfxterm_mod_CFLAGS): Likewise.
31676 (gfxterm_mod_LDFLAGS): Likewise.
31677 (videotest_mod_SOURCES): Likewise.
31678 (videotest_mod_CFLAGS): Likewise.
31679 (videotest_mod_LDFLAGS): Likewise.
31680 (bitmap_mod_SOURCES): Likewise.
31681 (bitmap_mod_CFLAGS): Likewise.
31682 (bitmap_mod_LDFLAGS): Likewise.
31683 (tga_mod_SOURCES): Likewise.
31684 (tga_mod_CFLAGS): Likewise.
31685 (tga_mod_LDFLAGS): Likewise.
31686 (jpeg_mod_SOURCES): Likewise.
31687 (jpeg_mod_CFLAGS): Likewise.
31688 (jpeg_mod_LDFLAGS): Likewise.
31689 (png_mod_SOURCES): Likewise.
31690 (png_mod_CFLAGS): Likewise.
31691 (png_mod_LDFLAGS): Likewise.
31692
31693 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31694 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31695 (video_mod_SOURCES): Added.
31696 (video_mod_CFLAGS): Likewise.
31697 (video_mod_LDFLAGS): Likewise.
31698 (videotest_mod_SOURCES): Likewise.
31699 (videotest_mod_CFLAGS): Likewise.
31700 (videotest_mod_LDFLAGS): Likewise.
31701 (bitmap_mod_SOURCES): Likewise.
31702 (bitmap_mod_CFLAGS): Likewise.
31703 (bitmap_mod_LDFLAGS): Likewise.
31704 (tga_mod_SOURCES): Likewise.
31705 (tga_mod_CFLAGS): Likewise.
31706 (tga_mod_LDFLAGS): Likewise.
31707 (jpeg_mod_SOURCES): Likewise.
31708 (jpeg_mod_CFLAGS): Likewise.
31709 (jpeg_mod_LDFLAGS): Likewise.
31710 (png_mod_SOURCES): Likewise.
31711 (png_mod_CFLAGS): Likewise.
31712 (png_mod_LDFLAGS): Likewise.
31713 (gfxterm_mod_SOURCES): Likewise.
31714 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31715 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31716
31717 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31718 grub/machine/console.h.
31719
644fff97 317202009-01-04 Jerone Young <jerone@gmail.com>
31721
31722 Make on screen instructions clearer
31723
31724 Based on patch created by Jidanni <jidanni@jidanni.org>
31725
31726 * normal/menu.c: print clearer instructions on the screen
31727
1e901a75 317282009-01-02 Colin D Bennett <colin@gibibit.com>
31729
31730 New font engine.
34c44600 31731
1e901a75 31732 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31733 build system and fixed gfxterm.c to work with different sized fonts.
31734
31735 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31736
1e901a75 31737 * configure: Re-generated.
34c44600 31738
1e901a75 31739 * DISTLIST: Removed font/manager.c.
31740 Added font/font.c.
31741 Added font/font_cmd.c.
34c44600 31742
1e901a75 31743 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31744 compilation.
34c44600 31745
1e901a75 31746 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31747
31748 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31749
31750 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31751
1e901a75 31752 * normal/menu.c: Likewise.
34c44600 31753
1e901a75 31754 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31755 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31756
1e901a75 31757 * include/grub/font.h: Replaced with new file.
34c44600 31758
1e901a75 31759 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31760 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31761 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31762 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31763 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31764 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31765 fg_red, fg_green, fg_blue, fg_alpha.
31766 (grub_video_adapter): Removed blit_glyph.
34c44600 31767 (grub_video_blit_glyph): Removed.
31768
1e901a75 31769 * font/manager.c: Removed file.
34c44600 31770
31771 * font/font.c: New file.
31772
1e901a75 31773 * font/font_cmd.c: Likewise.
34c44600 31774
1e901a75 31775 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31776
1e901a75 31777 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31778 (grub_video_vbe_map_rgba): Likewise.
31779 (grub_video_vbe_unmap_color_int): Likewise.
31780 (grub_video_vbe_blit_glyph): Removed.
31781 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31782
1e901a75 31783 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31784 (get_pixel): Likewise.
34c44600 31785 (set_pixel): Likewise.
31786
1e901a75 31787 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31788
1e901a75 31789 * term/gfxterm.c: Adapted to new font engine.
34c44600 31790
1e901a75 31791 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31792
1e901a75 31793 * term/i386/pc/vga.c: Likewise.
34c44600 31794
1e901a75 31795 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31796
1e901a75 31797 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31798
1e901a75 31799 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31800
1e901a75 31801 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31802
1e901a75 31803 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31804
1e901a75 31805 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31806
1e901a75 31807 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31808
1e901a75 31809 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31810
1e901a75 31811 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31812
31813 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31814
1e901a75 31815 * util/grub-mkconfig_lib.in: Changed font extension.
31816
278922e8 318172008-12-28 Felix Zielcke <fzielcke@z-51.de>
31818
31819 * util/getroot.c (grub_util_get_grub_dev): Add support for
31820 /dev/md/dNNpNN style partitionable mdraid devices.
31821
3ced05cf 318222008-12-12 Alex Smith <alex@alex-smith.me.uk>
31823
31824 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31825 at a time limit of the PXE TFTP API correctly.
31826 (grub_pxefs_close): Likewise.
31827
7fd0ee30 318282008-11-29 Robert Millan <rmh@aybabtu.com>
31829
34c44600 31830 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31831 grub_ata_device_initialize() calls.
31832
34c44600 318332008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31834
31835 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31836 iteration failed.
31837 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31838
89313780 318392008-11-28 Robert Millan <rmh@aybabtu.com>
31840
31841 Fix build on powerpc-ieee1275. Based on patch created by
31842 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31843 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31844 `kern/ieee1275/mmap.c'.
31845 * include/grub/powerpc/ieee1275/memory.h: New file.
31846
15257703 31847 Provide grub-install on coreboot.
31848 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31849 (grub_install_SOURCES): New variable.
31850 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31851 usable on coreboot.
31852
9fc5388a 318532008-11-25 Felix Zielcke <fzielcke@z-51.de>
31854
31855 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31856 to `grub_term_input_t'.
31857 (grub_term_get_current_output): Change return type to
31858 `grub_term_output_t'.
31859
bc3a2f31 318602008-11-22 Robert Millan <rmh@aybabtu.com>
31861
34c44600 31862 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31863 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31864 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31865 grub_vga_text_cls().
31866
80fc88f2 31867 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31868 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31869
cbf36fd3 31870 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31871 to 0x200000 (avoids trouble with some OFW implementations, and matches
31872 with the one in Yaboot).
31873 Reported by Manoel Abranches
31874
73e8e268 318752008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31876
31877 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31878 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31879
73e8e268 31880 * util/grub-mkconfig_lib.in (grub_warn): New function.
31881 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31882 warnings, to obtain consistent formatting.
31883 * util/grub.d/00_header.in: Likewise.
31884 * util/update-grub_lib.in: Likewise.
31885
e94045a1 31886 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31887 Move comment text to `#error' stanza.
e94045a1 31888
79d29fd7 31889 Harmonize ieee1275's grub_available_iterate() with the generic
31890 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31891 build problem on i386-ieee1275):
31892 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31893 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31894 parameter `type'. Update all users of this function.
31895 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31896 `kern/ieee1275/mmap.c'.
31897 * kern/ieee1275/init.c
31898 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31899 with ...
31900 (grub_machine_mmap_iterate): ... this.
31901 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31902 return type to `grub_err_t'. Update all implementations of this
31903 function prototype.
31904 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31905 Likewise.
31906
60d6b16e 31907 Add `lsmmap' command (lists firmware-provided memory map):
31908 * commands/lsmmap.c: New file.
31909 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31910 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31911 variables.
31912 * conf/powerpc-ieee1275.rmk: Likewise.
31913 * conf/i386-coreboot.rmk: Likewise.
31914 * conf/i386-ieee1275.rmk: Likewise.
31915
ebaaf49b 319162008-11-19 Robert Millan <rmh@aybabtu.com>
31917
31918 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31919 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31920 constraints to initrd allocation (based on code from
31921 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31922 for Linux to find it.
ebaaf49b 31923
dfab719f 319242008-11-14 Robert Millan <rmh@aybabtu.com>
31925
31926 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31927 order to cope with duplicate slashes.
31928
10fc3eb9 319292008-11-14 Robert Millan <rmh@aybabtu.com>
31930
31931 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31932 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31933 don't want to mess with lower memory, because it is used in the Linux
31934 loader.
31935
31936 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31937 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31938 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31939 is in our heap (probably as a result of it being corrupted during
2f2a3442 31940 decompression). Add #error instance with comment to explain why this
31941 loader isn't currently usable on PC/BIOS.
10fc3eb9 31942
e2e07847 319432008-11-14 Robert Millan <rmh@aybabtu.com>
31944
31945 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31946 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31947
fe8e8d69 319482008-11-12 Robert Millan <rmh@aybabtu.com>
31949
31950 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31951
31952 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31953 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31954 from here ...
31955 * include/grub/i386/pc/memory.h: ... to here.
31956
976b07d0 319572008-11-12 Robert Millan <rmh@aybabtu.com>
31958
31959 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31960 split).
31961
31962 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31963 (grub_console_cur_color, grub_console_real_putchar)
31964 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31965 (grub_console_setcolorstate, grub_console_setcolor)
31966 (grub_console_getcolor): Move from here ...
31967 * include/grub/i386/vga_common.h: ... to here (new file).
31968
31969 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31970 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31971 `<grub/i386/io.h>'.
31972 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31973 `<grub/i386/vga_common.h>'.
31974
76679cd3 319752008-11-12 Robert Millan <rmh@aybabtu.com>
31976
31977 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31978 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31979 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31980 variables.
31981 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31982 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31983
31984 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31985 grub_console_init() with call to grub_vga_text_init().
31986 (grub_machine_fini): Replace call to
31987 grub_console_fini() with call to grub_vga_text_fini() and
31988 grub_at_keyboard_fini().
31989
31990 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31991 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31992 (grub_console_setcolorstate, grub_console_setcolor)
31993 (grub_console_getcolor): New function prototypes.
31994
31995 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31996 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31997 (grub_vga_text_setcursor): Static-ize.
31998 (grub_vga_text_term): New structure.
31999 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32000
32001 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32002 (grub_console_cur_color, grub_console_standard_color)
32003 (grub_console_normal_color, grub_console_highlight_color)
32004 (map_char, grub_console_putchar, grub_console_getcharwidth)
32005 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32006 (grub_console_getcolor): Move from here ...
32007 * term/i386/vga_common.c: ... to here (same function names).
32008
95b841d3 320092008-11-12 Robert Millan <rmh@aybabtu.com>
32010
32011 Use newly-added Multiboot support in coreboot.
32012
32013 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32014 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32015
32016 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32017 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32018 (codestart): Store the MBI in `startup_multiboot_info' when we're
32019 being loaded using Multiboot.
32020
32021 * kern/i386/coreboot/init.c (grub_machine_init): Move
32022 grub_at_keyboard_init() call to beginning of function (useful for
32023 debugging). Call grub_machine_mmap_init() before attempting to use
32024 grub_machine_mmap_iterate().
32025 (grub_lower_mem, grub_upper_mem): Move from here ...
32026 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32027 here (new file).
32028
32029 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32030 function prototype.
32031
761ca975 320322008-11-12 Robert Millan <rmh@aybabtu.com>
32033
32034 Fix a regression introduced by the at_keyboard.mod split. Because
32035 some terminals are default on some platforms and non-default on
32036 others, the first terminal being registered determines which is
32037 going to be default.
32038
32039 * kern/term.c (grub_term_register_input): If this is the first
32040 terminal being registered, set it as the current one.
32041 (grub_term_register_output): Likewise.
32042
32043 * term/efi/console.c (grub_console_init): Do not call
32044 grub_term_set_current_output() or grub_term_set_current_input().
32045 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32046 * term/i386/pc/console.c (grub_console_init): Likewise.
32047 (grub_console_fini): Do not call grub_term_set_current_input()
32048 (but leave grub_term_set_current_output() to restore text mode).
32049
6c529df7 320502008-11-10 Robert Millan <rmh@aybabtu.com>
32051
32052 * util/grub.d/00_header.in: Add backward compatibility check for
32053 versions of terminal.mod that don't understand `terminal_input' or
32054 `terminal_output'.
32055
132e4113 320562008-11-09 Robert Millan <rmh@aybabtu.com>
32057
32058 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32059 `terminal_input' / `terminal_output', not `terminal'.
32060
ac293d50 320612008-11-08 Robert Millan <rmh@aybabtu.com>
32062
32063 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 32064 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 32065
0025933a 320662008-11-08 Robert Millan <rmh@aybabtu.com>
32067
32068 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 32069 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 32070 members. Update all users.
32071 * util/console.c (grub_ncurses_term): Split in ...
32072 (grub_ncurses_term_input): ... this, and ...
32073 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 32074 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 32075
37c86336 320762008-11-08 Robert Millan <rmh@aybabtu.com>
32077
32078 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32079 (PKGDATA): Add $(pkgdata_SRCDIR).
32080 (pkglib_BUILDDIR): New variable.
32081 (pkgdata_SRCDIR): New variable.
32082 (build_env.mk): New target.
32083 (include_DATA): New variable.
32084 (install-local): Install $(include_DATA) files in $(includedir).
32085
b6c15a2d 320862008-11-07 Pavel Roskin <proski@gnu.org>
32087
d99d46f1 32088 * gendistlist.sh: Use C locale for sorting to ensure consistent
32089 output on all systems.
32090
b6c15a2d 32091 * util/grub.d/00_header.in: Remove incorrect space before
32092 "serial".
32093
c32ee8c9 320942008-11-07 Robert Millan <rmh@aybabtu.com>
32095
32096 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32097 per specification.
32098 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32099 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32100 (based on find_multi_boot1_header).
32101 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32102 using find_multi_boot2_header(), and abort if neither Multiboot or
32103 Multiboot headers were found.
32104
651c29b7 321052008-11-07 Robert Millan <rmh@aybabtu.com>
32106
32107 Modularize at_keyboard.mod:
32108
32109 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32110 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32111 (at_keyboard_mod_LDFLAGS): New variables.
32112
32113 Actual terminal split:
32114
32115 * include/grub/term.h (struct grub_term): Split in ...
32116 (struct grub_term_input): ... this, and ...
32117 (struct grub_term_output): ... this. Update all users.
32118 (grub_term_set_current): Split in ...
32119 (grub_term_set_current_input): ... this, and ...
32120 (grub_term_set_current_output): ... this.
32121 (grub_term_get_current): Split in ...
32122 (grub_term_get_current_input): ... this, and ...
32123 (grub_term_get_current_output): ... this.
32124 (grub_term_register): Split in ...
32125 (grub_term_register_input): ... this, and ...
32126 (grub_term_register_output): ... this.
32127 (grub_term_unregister): Split in ...
32128 (grub_term_unregister_input): ... this, and ...
32129 (grub_term_unregister_output): ... this.
32130 (grub_term_iterate): Split in ...
32131 (grub_term_iterate_input): ... this, and ...
32132 (grub_term_iterate_output): ... this.
32133
32134 * kern/term.c (grub_term_list): Split in ...
32135 (grub_term_list_input): ... this, and ...
32136 (grub_term_list_output): ... this. Update all users.
32137 (grub_cur_term): Split in ...
32138 (grub_cur_term_input): ... this, and ...
32139 (grub_cur_term_output): ... this. Update all users.
32140 (grub_term_set_current): Split in ...
32141 (grub_term_set_current_input): ... this, and ...
32142 (grub_term_set_current_output): ... this.
32143 (grub_term_get_current): Split in ...
32144 (grub_term_get_current_input): ... this, and ...
32145 (grub_term_get_current_output): ... this.
32146 (grub_term_register): Split in ...
32147 (grub_term_register_input): ... this, and ...
32148 (grub_term_register_output): ... this.
32149 (grub_term_unregister): Split in ...
32150 (grub_term_unregister_input): ... this, and ...
32151 (grub_term_unregister_output): ... this.
32152 (grub_term_iterate): Split in ...
32153 (grub_term_iterate_input): ... this, and ...
32154 (grub_term_iterate_output): ... this.
32155
32156 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32157 a check for input and one for output (and only attempt to get keys
32158 from user when input works).
32159
32160 * util/grub-probe.c (grub_term_get_current): Split in ...
32161 (grub_term_get_current_input): ... this, and ...
32162 (grub_term_get_current_output): ... this.
32163 * util/grub-fstest.c: Likewise.
32164 * util/i386/pc/grub-setup.c: Likewise.
32165 * util/grub-editenv.c: Likewise.
32166
32167 Portability adjustments:
32168
32169 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32170 `term/i386/pc/at_keyboard.c'.
32171 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32172 grub_keyboard_controller_init() (now handled by terminal .init).
32173 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32174 grub_at_keyboard_init().
32175 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32176 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
32177 at_keyboard.mod via input terminal interface).
32178 * include/grub/i386/coreboot/console.h: Convert into a stub for
32179 `<grub/i386/pc/console.h>'.
32180
32181 Migrate full terminals to new API:
32182
32183 * term/efi/console.c (grub_console_term): Split into ...
32184 (grub_console_term_input): ... this, and ...
32185 (grub_console_term_output): ... this. Update all users.
32186 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32187 (grub_ofconsole_init): Split into ...
32188 (grub_ofconsole_init_input): ... this, and ...
32189 (grub_ofconsole_init_output): ... this.
32190 (grub_ofconsole_term): Split into ...
32191 (grub_ofconsole_term_input): ... this, and ...
32192 (grub_ofconsole_term_output): ... this. Update all users.
32193 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32194 (grub_serial_term_input): ... this, and ...
32195 (grub_serial_term_output): ... this. Update all users.
32196 * term/i386/pc/console.c (grub_console_term): Split into ...
32197 (grub_console_term_input): ... this, and ...
32198 (grub_console_term_output): ... this. Update all users.
32199 (grub_console_term_input): Only enable it on PC/BIOS platform.
32200 (grub_console_init): Remove grub_keyboard_controller_init() call.
32201
32202 Migrate input terminals to new API:
32203
32204 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32205 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32206 i386-specific anyway).
32207 (grub_console_checkkey): Rename to ...
32208 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32209 users.
32210 (grub_keyboard_controller_orig): New variable.
32211 (grub_console_getkey): Rename to ...
32212 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32213 users.
32214 (grub_keyboard_controller_init): Static-ize. Save original
32215 controller value so that it can be restored ...
32216 (grub_keyboard_controller_fini): ... here (new function).
32217 (grub_at_keyboard_term): New structure.
32218 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32219 functions.
32220
32221 Migrate output terminals to new API:
32222
32223 * term/i386/pc/vga.c (grub_vga_term): Change type to
32224 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32225 members. Update all users.
32226 * term/gfxterm.c (grub_video_term): Change type to
32227 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32228 members. Update all users.
32229 * include/grub/i386/pc/console.h (grub_console_checkkey)
32230 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32231 etc).
32232
32233 Migrate `terminal' command and userland tools to new API:
32234
32235 * commands/terminal.c (grub_cmd_terminal): Split into ...
32236 (grub_cmd_terminal_input): ... this, and ...
32237 (grub_cmd_terminal_output): ... this.
32238 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32239 `terminal_input' and `terminal_output'.
32240 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32241 `terminal_input' / `terminal_output' API.
32242 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32243 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32244 provided ${GRUB_TERMINAL}, convert it).
32245
96e5d876 322462008-11-04 Robert Millan <rmh@aybabtu.com>
32247
32248 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32249 for FreeBSD.
32250 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32251
556f3775 322522008-11-03 Bean <bean123ch@gmail.com>
32253
32254 * kern/elf.c (grub_elf32_load): Revert to previous code.
32255 (grub_elf64_load): Likewise.
32256
32257 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
32258
926b9823 322592008-11-01 Robert Millan <rmh@aybabtu.com>
32260
32261 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
32262 (TARGET_CPPFLAGS): Likewise.
32263 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
32264
1432e958 322652008-11-01 Carles Pina i Estany <carles@pina.cat>
32266
32267 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
32268
dba3f844 322692008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 32270
32271 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
32272 addition of objects until the code is not going to be able to fail.
32273
dba3f844 322742008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 32275
32276 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
32277 (add a missing NULL check, and correct them by moving the pointer
32278 operations after the actual check).
32279
7ab28c21 322802008-10-29 Robert Millan <rmh@aybabtu.com>
32281
32282 * util/i386/pc/grub-install.in: Handle empty string as output from
32283 make_system_path_relative_to_its_root().
32284
1b7748eb 322852008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
32286
32287 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
32288 circular metadata worst case scenario. If the metadata is circular
32289 then copy the wrap in place.
32290 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
32291 project lib/format_text/layout.h
32292 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
32293
c9618ab2 322942008-10-03 Felix Zielcke <fzielcke@z-51.de>
32295
7a36edca 32296 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 32297
bf981c62 322982008-10-03 Felix Zielcke <fzielcke@z-51.de>
32299
32300 * util/update-grub_lib.in: Mention filename in warning message.
32301
6d994591 323022008-09-29 Felix Zielcke <fzielcke@z-51.de>
32303
32304 * NEWS: Update for rename of update-grub to grub-mkconfig.
32305
18ade780 323062008-09-29 Felix Zielcke <fzielcke@z-51.de>
32307
32308 * util/update-grub_lib.in: Copy to ...
32309 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 32310 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 32311 * util/update-grub.in: Rename to ...
32312 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
32313 option. Add `--output' option to allow users to specify the generated
32314 configuration file. Default to stdout.
32315 (update_grub_dir): Rename to ...
32316 (grub_mkconfig_dir): ... this.
32317 (grub_cfg): Default to an empty string.
32318 * conf/common.rmk (update-grub): Rename to ...
32319 (grub-mkconfig): ... this.
32320 (update-grub_lib): Copy to ...
32321 (grub-mkconfig_lib): ... this.
32322 (update-grub_SCRIPTS): Copy to ...
32323 (grub-mkconfig_SCRIPTS): ... this. Update all users.
32324 (update-grub_DATA): Rename to ...
32325 (grub-mkconfig_DATA): ... this.
32326
556ce6ac 323272008-09-28 Robert Millan <rmh@aybabtu.com>
32328
32329 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
32330 to `modified'. Add the real `created' field.
32331 (grub_iso9660_uuid): Use `modified' rather than `created' for
32332 constructing the UUID.
32333
323342008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 32335
32336 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
32337 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
32338
92274e85 323392008-09-28 Bean <bean123ch@gmail.com>
32340
32341 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
32342 Thanks to Christian Franke for finding this bug.
32343
add6f17a 323442008-09-25 Robert Millan <rmh@aybabtu.com>
32345
32346 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
32347 instances of grub_util_get_disk_name() (see previous commit).
32348
d2a367b8 323492008-09-25 Robert Millan <rmh@aybabtu.com>
32350
32351 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
32352 `util/i386/get_disk_name.c'.
32353 * conf/i386-efi.rmk: Likewise.
32354 * conf/x86_64-efi.rmk: Likewise.
32355 * conf/i386-coreboot.rmk: Likewise.
32356 * conf/i386-ieee1275.rmk: Likewise.
32357 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
32358 `util/ieee1275/get_disk_name.c'.
32359 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
32360 * util/ieee1275/get_disk_name.c: Remove file.
32361 * util/i386/get_disk_name.c: Remove file.
32362 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
32363 "hd%d" for device.map entries, rather than using
32364 grub_util_get_disk_name().
32365
81a06771 323662008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 32367
32368 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
32369 warning.
32370 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
32371
5a004279 323722008-09-24 Carles Pina i Estany <carles@pina.cat>
32373
32374 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
32375 Changed to 0x5100.
32376 (GRUB_TERM_PPAGE): Changed to 0x4900.
32377
397093d3 323782008-09-24 Robert Millan <rmh@aybabtu.com>
32379
32380 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
32381 macros (they were i386-pc specific).
32382 * include/grub/sparc64/ieee1275/console.h: Likewise.
32383 * include/grub/efi/console.h: Likewise.
32384
a91b6c7c 323852008-09-22 Bean <bean123ch@gmail.com>
32386
32387 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
32388 resident and in attribute list.
32389
32390 * include/grub/ntfs.h (BMP_LEN): Removed.
32391
c40fd116 323922008-09-22 Bean <bean123ch@gmail.com>
32393
81a06771 32394 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 32395 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
32396
32397 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
32398 error occurs, as grub_disk_open will call grub_disk_close, which will
32399 call p->close (scsi).
32400
81a06771 324012008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 32402
32403 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
32404 (AC_PREREQ): Bumped to 2.59.
32405 (AC_TRY_COMPILE): Replace obsolete macro with ...
32406 (AC_COMPILE_IFELSE): ... this.
32407 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
32408 (AC_LINK_IFELSE): ... this.
32409
5dc43410 324102008-09-21 Felix Zielcke <fzielcke@z-51.de>
32411
32412 * autogen.sh: Add a call to `gendistlist.sh'.
32413
9035dce4 324142008-09-19 Christian Franke <franke@computer.org>
32415
32416 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
32417 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
32418 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
32419 Export __enable_execute_stack() to modules.
32420 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
32421 New function.
32422
7fd75377 324232008-09-09 Felix Zielcke <fzielcke@z-51.de>
32424
040030b3 32425 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
32426 Sort the list.
32427
324282008-09-09 Felix Zielcke <fzielcke@z-51.de>
32429
32430 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 32431 #include <grub/util/hostdisk.h>.
32432
89d5ffcf 324332008-09-08 Robert Millan <rmh@aybabtu.com>
32434
32435 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
32436 segments when their filesz is zero (grub_file_read() interprets
81a06771 32437 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 32438 Use `lowest_segment' rather than 0 for calculating the current
32439 segment load address.
32440
40da438f 324412008-09-08 Robert Millan <rmh@aybabtu.com>
32442
32443 * util/hostdisk.c (open_device): Replace a grub_util_info() call
32444 with grub_dprintf("hostdisk", ...), as it was so verbose that it
32445 clobbered useful information.
32446
ddbf5556 324472008-09-08 Robert Millan <rmh@aybabtu.com>
32448
32449 * include/grub/util/biosdisk.h: Move to ...
32450 * include/grub/util/hostdisk.h: ... here. Update all users.
32451 * util/biosdisk.c: Move to ...
32452 * util/hostdisk.c: ... here. Update all users.
32453
783d0f48 324542008-09-07 Robert Millan <rmh@aybabtu.com>
32455
32456 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
32457 variables.
32458 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
32459 and length can be stored directly in the `mbi->mmap_addr' and
32460 `mbi->mmap_length' struct fields.
32461
548e2ea5 324622008-09-07 Robert Millan <rmh@aybabtu.com>
32463
32464 * conf/i386.rmk: New file. Provides declaration for building
32465 `cpuid.mod'.
32466 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
32467 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
32468 variables.
32469 Include `conf/i386.mk'.
32470 * conf/i386-efi.rmk: Likewise.
32471 * conf/x86_64-efi.rmk: Likewise.
32472 * conf/i386-coreboot.rmk: Likewise.
32473 * conf/i386-ieee1275.rmk: Likewise.
32474
0ea85a37 324752008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
32476
32477 Based on patch created by Colin D Bennett <colin@gibibit.com>.
32478 Adds optimization support for BGR based modes.
32479
32480 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
32481 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32482 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32483 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32484 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32485 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32486 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32487 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32488 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32489 (grub_video_i386_vbeblit_index_index): Likewise.
32490 (grub_video_i386_vbeblit_replace_directN): Added.
32491 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32492 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32493 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32494 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32495 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32496 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 32497 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 32498 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32499 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32500 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32501 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32502 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32503 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
32504
32505 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
32506 (grub_video_i386_vbefill_R8G8B8): Likewise.
32507 (grub_video_i386_vbefill_index): Likewise.
32508 (grub_video_i386_vbefill_direct32): Added.
32509 (grub_video_i386_vbefill_direct24): Likewise.
32510 (grub_video_i386_vbefill_direct16): Likewise.
32511 (grub_video_i386_vbefill_direct8): Likewise.
32512
81a06771 32513 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 32514 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
32515 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
32516 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
32517 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
32518 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 32519
0ea85a37 32520 * video/video.c (grub_video_get_blit_format): Updated to use new
32521 blit formats. Added handling for 16 bit color modes.
81a06771 32522
32523 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 32524 fillers.
32525 (common_blitter): Updated to use new blitters.
32526
32527 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
32528 Removed.
32529 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32530 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32531 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32532 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32533 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32534 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32535 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32536 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32537 (grub_video_i386_vbeblit_index_index): Likewise.
32538 (grub_video_i386_vbeblit_replace_directN): Added.
32539 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32540 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32541 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32542 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32543 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32544 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
32545 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
32546 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32547 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32548 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32549 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32550 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32551 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 32552
0ea85a37 32553 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
32554 (grub_video_i386_vbefill_R8G8B8): Likewise.
32555 (grub_video_i386_vbefill_index): Likewise.
32556 (grub_video_i386_vbefill_direct32): Added.
32557 (grub_video_i386_vbefill_direct24): Likewise.
32558 (grub_video_i386_vbefill_direct16): Likewise.
32559 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 32560
0ea85a37 32561 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
32562 types.
81a06771 32563
0ea85a37 32564 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
32565 types.
81a06771 32566
0ea85a37 32567 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
32568 blitter types.
81a06771 32569
0ea85a37 32570 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
32571 types.
32572
e8a83df6 325732008-09-06 Felix Zielcke <fzielcke@z-51.de>
32574
32575 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
32576 RAID level 1.
32577
6bcd8ee5 325782008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 32579
6bcd8ee5 32580 * fs/iso9660.c (grub_iso9660_date): New structure.
32581 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
32582 (grub_iso9660_uuid): New function.
c375ae58 32583
59261157 325842008-09-05 Bean <bean123ch@gmail.com>
32585
32586 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
32587
32588 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
32589 insensitive bit for names in Win32 and Win32 & DOS namespace.
32590
32591 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
32592
32593 * include/grub/types.h (LONG_MAX): Likewise.
32594
58b6645a 325952008-09-04 Felix Zielcke <fzielcke@z-51.de>
32596
4ee55921 32597 * util/getroot.c: Include <config.h>.
32598 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
32599 add support for /dev/md/N devices and handle LVM double dash escaping.
32600
326012008-09-04 Felix Zielcke <fzielcke@z-51.de>
32602
32603 * config.guess: Update to latest version from config git.
32604 * config.sub: Likewise.
58b6645a 32605
9124f65d 326062008-09-03 Robert Millan <rmh@aybabtu.com>
32607
32608 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
32609 `disk->total_sectors'.
32610
81a06771 326112008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 32612
32613 * include/grub/normal.h: Fixed incorrect comment for
32614 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
32615
81a06771 326162008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 32617
32618 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
32619 values with defines.
32620
32621 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
32622 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
32623 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32624 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32625 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32626 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32627 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32628 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32629 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32630 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32631 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32632 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32633 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32634 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32635 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32636 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32637 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32638 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32639 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32640
93d5cbf8 326412008-08-31 Robert Millan <rmh@aybabtu.com>
32642
32643 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32644 declaration.
32645 (grub_multiboot): Fix a few warnings.
32646
21751d50 326472008-08-31 Robert Millan <rmh@aybabtu.com>
32648
32649 * loader/i386/pc/multiboot.c: Update comment not to say that
32650 boot_device support is unimplemented.
32651
e27a75c5 326522008-08-31 Robert Millan <rmh@aybabtu.com>
32653
32654 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32655 or memory map support are unimplemented.
32656
81a06771 326572008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32658
32659 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32660
81a06771 326612008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32662
32663 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32664 total video memory in 'vbeinfo' output; show color format details for
32665 each video mode.
32666
7c5d8d95 326672008-08-30 Pavel Roskin <proski@gnu.org>
32668
32669 * util/genmoddep.c: Remove for real this time.
32670 * DISTLIST: Remove util/genmoddep.c.
32671
4cebd25a 326722008-08-30 Robert Millan <rmh@aybabtu.com>
32673
32674 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32675 as required by Multiboot spec (it was already 4-byte aligned, but
32676 only by chance).
32677
b497a269 326782008-08-29 Pavel Roskin <proski@gnu.org>
32679
e3925185 32680 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32681 * kern/powerpc/ieee1275/startup.S: ... this.
32682 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32683 * DISTLIST: Likewise.
32684
b497a269 32685 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32686 grub/cpu/kernel.h. Add start label for consistency with other
32687 platforms. Add grub_prefix immediately after start. Add jump
32688 to the code after grub_prefix.
32689 * include/grub/powerpc/kernel.h: Provide valid values for
32690 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32691
6e5a42fe 326922008-08-29 Bean <bean123ch@gmail.com>
32693
32694 * configure.ac: Change host_os to cygwin for mingw.
32695 (asprintf): New check for function.
32696
32697 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32698 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32699
32700 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32701 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32702 sync, sleep and grub_util_get_disk_size for mingw.
32703
32704 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32705 to get size in mingw.
32706 (open_device): Use flag O_BINARY if it's defined.
32707 (find_root_device): Add dummy code for mingw.
32708
32709 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32710 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32711 (get_scsi_disk_name): Return 0 for mingw.
32712
32713 * util/hostfs.c: #include <grub/util/misc.h>.
32714 (grub_hostfs_open): Use "rb" flag to open file, use
32715 grub_util_get_disk_size to get disk size for mingw.
32716
32717 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32718 (asprintf): New function if HAVE_ASPRINTF is not set.
32719 (sync): New function for mingw.
32720 (sleep): Likewise.
32721 (grub_util_get_disk_size): Likewise.
32722
ab3f2673 327232008-08-28 Pavel Roskin <proski@gnu.org>
32724
32725 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32726 kern/time.c.
32727
1c282483 327282008-08-28 Robert Millan <rmh@aybabtu.com>
32729
32730 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32731
678e849c 327322008-08-28 Robert Millan <rmh@aybabtu.com>
32733
32734 Change find_grub_drive() syntax so it doesn't prevent it from
32735 detecting NULL names as errors.
32736
32737 * util/biosdisk.c (find_grub_drive): Move free slot search code
32738 from here ...
32739 (find_free_slot): ... to here.
32740 (read_device_map): Use find_free_slot() to search for free slots.
32741
965c75ca 327422008-08-27 Marco Gerards <marco@gnu.org>
32743
32744 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32745 (scsi_mod_SOURCES): New variable.
32746 (scsi_mod_CFLAGS): Likewise
32747 (scsi_mod_LDFLAGS): Likewise.
32748
32749 * disk/scsi.c: New file.
32750
32751 * include/grub/scsi.h: Likewise.
32752
32753 * include/grub/scsicmd.h: Likewise.
32754
32755 * disk/ata.c: Include <grub/scsi.h>.
32756 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32757 instead.
32758 (grub_ata_iterate): Skip ATAPI devices.
32759 (grub_ata_open): Only handle ATAPI devices.
32760 (struct grub_atapi_read): Removed.
32761 (grub_atapi_readsector): Likewise.
32762 (grub_ata_read): No longer handle ATAPI devices.
32763 (grub_ata_write): Likewise.
32764 (grub_atapi_iterate): New function.
32765 (grub_atapi_read): Likewise.
32766 (grub_atapi_write): Likewise.
32767 (grub_atapi_open): Likewise.
32768 (grub_atapi_close): Likewise.
32769 (grub_atapi_dev): New variable.
32770 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32771 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32772
32773 * include/grub/disk.h (enum grub_disk_dev_id): Add
32774 `GRUB_DISK_DEVICE_SCSI_ID'.
32775
c07ae501 327762008-08-26 Robert Millan <rmh@aybabtu.com>
32777
32778 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32779 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32780 descriptive.
32781
5ed20adc 327822008-08-23 Bean <bean123ch@gmail.com>
32783
32784 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32785 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32786 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32787 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32788 dm_nv.mod.
32789 (raid5rec_mod_SOURCES): New macro.
32790 (raid5rec_mod_CFLAGS): Likewise.
32791 (raid5rec_mod_LDFLAGS): Likewise.
32792 (raid6rec_mod_SOURCES): Likewise.
32793 (raid6rec_mod_CFLAGS): Likewise.
32794 (raid6rec_mod_LDFLAGS): Likewise.
32795 (mdraid_mod_SOURCES): Likewise.
32796 (mdraid_mod_CFLAGS): Likewise.
32797 (mdraid_mod_LDFLAGS): Likewise.
32798 (dm_nv_mod_SOURCES): Likewise.
32799 (dm_nv_mod_CFLAGS): Likewise.
32800 (dm_nv_mod_LDFLAGS): Likewise.
32801
32802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32803 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32804 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32805
32806 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32807 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32808
32809 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32810
32811 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32812
32813 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32814
32815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32816
32817 * disk/raid5_recover.c: New file.
32818
32819 * disk/raid6_recover.c: Likewise.
32820
32821 * disk/mdraid_linux.c: Likewise.
32822
32823 * disk/dmraid_nvidia.c: Likewise.
32824
32825 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32826 ULONG_MAX.
32827
32828 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32829 calculate the size of raid device.
32830 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32831 different layout of raid5.
32832 (grub_raid_scan_device): Remove code specific to mdraid.
32833 (grub_raid_list): New variable.
32834 (free_array): New function.
32835 (grub_raid_register): Likewise.
32836 (grub_raid_unregister): Likewise.
32837 (grub_raid_rescan): Likewise.
32838 (GRUB_MOD_INIT): Don't iterate device here.
32839 (GRUB_MOD_FINI): Use free_array to release resource.
32840
32841 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32842 (grub_raid5_recover_func_t): New function variable type.
32843 (grub_raid6_recover_func_t): Likewise.
32844 (grub_raid5_recover_func): New variable.
32845 (grub_raid6_recover_func): Likewise.
32846 (grub_raid_register): New function.
32847 (grub_raid_unregister): Likewise.
32848 (grub_raid_rescan): Likewise.
32849 (grub_raid_block_xor): Likewise.
32850
32851 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32852 (CMD_CRC): New macro.
32853 (part): Removed.
32854 (read_file): Handle device as well as file.
32855 (cmd_crc): New function.
32856 (fstest): Handle multiple disks.
32857 (options): Remove part, raw and long, add root and diskcount.
32858 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32859 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32860 add handling for the new options, support multiple disks.
32861
32862 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32863
29c18915 328642008-08-23 Bean <bean123ch@gmail.com>
32865
32866 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32867
32868 * genfslist.sh: Ignore kernel.mod.
32869
32870 * genpartmaplist.sh: Likewise.
32871
8415f261 328722008-08-23 Robert Millan <rmh@aybabtu.com>
32873
32874 * util/getroot.c (find_root_device): Skip anything that starts with
32875 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32876
d5a7dc5b 328772008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32878
d5a7dc5b 32879 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32880 * util/grub.d/00_header.in: Allow the administrator to change default
32881 gfxmode via ${GRUB_GFXMODE}.
32882
380cfbb4 328832008-08-21 Felix Zielcke <fzielcke@z-51.de>
32884
32885 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32886
c9baafe7 328872008-08-21 Robert Millan <rmh@aybabtu.com>
32888
32889 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32890 loader.
32891 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32892 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32893
e290bef2 328942008-08-20 Carles Pina i Estany <carles@pina.cat>
32895
32896 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32897 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32898
f9dbfc96 328992008-08-19 Robert Millan <rmh@aybabtu.com>
32900
32901 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32902 (struct grub_virtual_screen): Remove `cursor_color'.
32903 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32904 initialization.
32905 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32906
dd6bd6ab 329072008-08-18 Robert Millan <rmh@aybabtu.com>
32908
32909 Unify (identical) linux_normal.c files.
32910 * loader/i386/efi/linux_normal.c: Move from here ...
32911 * loader/linux_normal.c: ... to here. Update all users.
32912 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32913 * loader/i386/ieee1275/linux_normal.c: Likewise.
32914
7f42f83e 329152008-08-18 Robert Millan <rmh@aybabtu.com>
32916
32917 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32918 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32919 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32920 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32921 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32922 New macros.
32923 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32924 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32925 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32926 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32927 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32928 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32929 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32930 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32931 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32932 portably using grub_getxy().
32933 Replace `-EFI' with `-bzImage' in boot message.
32934
38487ddb 329352008-08-17 Robert Millan <rmh@aybabtu.com>
32936
32937 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32938
deceb3ec 329392008-08-17 Robert Millan <rmh@aybabtu.com>
32940
32941 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32942
32943 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32944 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32945 (grub_machine_mmap_iterate): New function declaration.
32946 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32947 structure.
32948 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32949 macros.
32950
32951 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32952 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32953 Move e820 parsing from here ...
32954 * kern/i386/pc/mmap.c: New file.
32955 (grub_machine_mmap_iterate): ... to here.
32956
32957 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32958 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32959 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32960 (grub_available_iterate): Redeclare to return `void', and redeclare
32961 its hook to use grub_uint64_t as addr and size parameters, and rename
32962 to ...
32963 (grub_machine_mmap_iterate): ... this. Update all users.
32964
32965 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32966 to make it more readable. Rename to ...
32967 (grub_machine_mmap_iterate): ... this.
32968
32969 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32970 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32971 (grub_multiboot): Allocate an extra region after the payload, and fill
32972 it with a Multiboot memory map. Adjust a.out loader to calculate size
32973 with the extra space.
32974 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32975 with the extra space.
32976
f8aa0f43 329772008-08-17 Carles Pina i Estany <carles@pina.cat>
32978
9807deb9 32979 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32980
605f5bb6 329812008-08-17 Felix Zielcke <fzielcke@z-51.de>
32982
32983 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32984 mdate-sh to the list `find' searches for.
32985 * DISTLIST: Regenerated.
32986
210db6c6 329872008-08-16 Felix Zielcke <fzielcke@z-51.de>
32988
32989 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32990 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32991 genmoddep.awk, gensymlist.sh.in.
32992 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32993 * DISTLIST: Regenerated.
48cdbfd4 32994 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32995
1082b929 329962008-08-16 Robert Millan <rmh@aybabtu.com>
32997
32998 * disk/raid.c (grub_raid_init): Handle/report errors set by
32999 grub_device_iterate().
33000 * disk/lvm.c (grub_lvm_init): Likewise.
33001
42ce5170 330022008-08-15 Bean <bean123ch@gmail.com>
33003
33004 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33005 and datehook.mod.
33006 (datetime_mod_SOURCES): New macro.
33007 (datetime_mod_CFLAGS): Likewise.
33008 (datetime_mod_LDFLAGS): Likewise.
33009 (date_mod_SOURCES): Likewise.
33010 (date_mod_CFLAGS): Likewise.
33011 (date_mod_LDFLAGS): Likewise.
33012 (datehook_mod_SOURCES): Likewise.
33013 (datehook_mod_CFLAGS): Likewise.
33014 (datehook_mod_LDFLAGS): Likewise.
33015
33016 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33017 and datehook.mod.
33018 (datetime_mod_SOURCES): New macro.
33019 (datetime_mod_CFLAGS): Likewise.
33020 (datetime_mod_LDFLAGS): Likewise.
33021 (date_mod_SOURCES): Likewise.
33022 (date_mod_CFLAGS): Likewise.
33023 (date_mod_LDFLAGS): Likewise.
33024 (datehook_mod_SOURCES): Likewise.
33025 (datehook_mod_CFLAGS): Likewise.
33026 (datehook_mod_LDFLAGS): Likewise.
33027
33028 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33029 and datehook.mod.
33030 (datetime_mod_SOURCES): New macro.
33031 (datetime_mod_CFLAGS): Likewise.
33032 (datetime_mod_LDFLAGS): Likewise.
33033 (date_mod_SOURCES): Likewise.
33034 (date_mod_CFLAGS): Likewise.
33035 (date_mod_LDFLAGS): Likewise.
33036 (datehook_mod_SOURCES): Likewise.
33037 (datehook_mod_CFLAGS): Likewise.
33038 (datehook_mod_LDFLAGS): Likewise.
33039
33040 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33041 and datehook.mod.
33042 (datetime_mod_SOURCES): New macro.
33043 (datetime_mod_CFLAGS): Likewise.
33044 (datetime_mod_LDFLAGS): Likewise.
33045 (date_mod_SOURCES): Likewise.
33046 (date_mod_CFLAGS): Likewise.
33047 (date_mod_LDFLAGS): Likewise.
33048 (datehook_mod_SOURCES): Likewise.
33049 (datehook_mod_CFLAGS): Likewise.
33050 (datehook_mod_LDFLAGS): Likewise.
33051
33052 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33053 and datehook.mod.
33054 (datetime_mod_SOURCES): New macro.
33055 (datetime_mod_CFLAGS): Likewise.
33056 (datetime_mod_LDFLAGS): Likewise.
33057 (date_mod_SOURCES): Likewise.
33058 (date_mod_CFLAGS): Likewise.
33059 (date_mod_LDFLAGS): Likewise.
33060 (datehook_mod_SOURCES): Likewise.
33061 (datehook_mod_CFLAGS): Likewise.
33062 (datehook_mod_LDFLAGS): Likewise.
33063
33064 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33065
33066 * commands/date.c: New file.
33067
33068 * hook/datehook.c: Likewise.
33069
33070 * include/grub/lib/datetime.h: Likewise.
33071
33072 * include/grub/i386/cmos.h: Likewise.
33073
33074 * lib/datetime.c: Likewise.
33075
33076 * lib/i386/datetime.c: Likewise.
33077
33078 * lib/efi/datetime.c: Likewise.
33079
0e9242da 330802008-08-14 Robert Millan <rmh@aybabtu.com>
33081
33082 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33083 (grub_mkelfimage_SOURCES): New variable.
33084 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33085
33086 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33087 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33088 * conf/powerpc-ieee1275.rmk: Likewise.
33089 * conf/i386-ieee1275.rmk: Likewise.
33090
33091 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33092 * kern/i386/coreboot/init.c: Likewise.
33093
33094 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33095 with `<grub/cpu/kernel.h>'.
33096 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33097 to ...
33098 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33099 * kern/i386/coreboot/startup.S: Likewise.
33100
33101 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33102 (GRUB_MOD_GAP): Remove.
33103 * include/grub/powerpc/kernel.h: New file.
33104 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33105 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33106 * include/grub/i386/kernel.h: New file.
33107 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33108 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33109 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33110
33111 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33112 `grub-mkelfimage'.
33113 Use --directory when invoking grub_mkimage.
33114
33115 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33116 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33117 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33118 and GRUB_KERNEL_CPU_PREFIX.
33119
b86408f8 331202008-08-14 Felix Zielcke <fzielcke@z-51.de>
33121
d5e619ca 33122 * include/grub/err.h (grub_err_printf): New function prototype.
33123 * util/misc.c (grub_err_printf): New function.
33124 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33125 grub_printf.
33126 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 33127
7161f0e0 331282008-08-13 Robert Millan <rmh@aybabtu.com>
33129
33130 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33131
a1967522 331322008-08-13 Robert Millan <rmh@aybabtu.com>
33133
33134 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33135 boot entry.
33136
371458b5 331372008-08-12 Robert Millan <rmh@aybabtu.com>
33138
33139 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33140 of the relocation code from here ...
33141 (grub_multiboot): ... to here.
33142 (forward_relocator, backward_relocator): Move from here ...
33143 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33144 (grub_multiboot_backward_relocator): ... to here.
33145 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33146 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33147 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33148 (grub_multiboot_forward_relocator_end)
33149 (grub_multiboot_backward_relocator)
33150 (grub_multiboot_backward_relocator_end): New variables.
33151
05f9452b 331522008-08-12 Bean <bean123ch@gmail.com>
33153
33154 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33155
20024ab0 331562008-08-11 Robert Millan <rmh@aybabtu.com>
33157
33158 * kern/i386/linuxbios/startup.S: Move from here ...
33159 * kern/i386/coreboot/startup.S: ... to here.
33160
33161 * kern/i386/linuxbios/init.c: Move from here ...
33162 * kern/i386/coreboot/init.c: ... to here.
33163
33164 * kern/i386/linuxbios/table.c: Move from here ...
33165 * kern/i386/coreboot/mmap.c: ... to here.
33166
33167 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33168
e352e9cd 331692008-08-11 Robert Millan <rmh@aybabtu.com>
33170
33171 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33172 errors. Leave it to the upper layer to handle them.
33173
2d05bc6a 331742008-08-09 Christian Franke <franke@computer.org>
33175
33176 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
33177 * conf/common.rmk: Install `grub-pe2elf' only if requested.
33178 Install `grub.d/10_windows' only on Cygwin.
33179 * configure.ac: Add subst of `target_os'.
33180 Check `target_os' also before setting TARGET_OBJ2ELF.
33181 Add `--enable-grub-pe2elf'.
33182
042bd419 331832008-08-08 Robert Millan <rmh@aybabtu.com>
33184
33185 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33186 (grub_last_time): Change type to grub_uint64_t.
33187 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33188 (grub_disk_close): Likewise.
33189
33190 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33191 (run_menu): Migrate code from to using grub_get_time_ms().
33192
33193 * util/misc.c (grub_get_time_ms): New function.
33194
7f280db5 331952008-08-08 Marco Gerards <marco@gnu.org>
33196
33197 * disk/ata.c (grub_ata_regget): Change return type to
33198 `grub_uint8_t'.
33199 (grub_ata_regget2): Likewise.
33200 (grub_ata_wait_status): New function.
33201 (grub_ata_wait_busy): Removed function, updated all users to use
33202 `grub_ata_wait_status'.
33203 (grub_ata_wait_drq): Likewise.
33204 (grub_ata_cmd): New function.
33205 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33206 error handling.
33207 (grub_ata_pio_write): Add error handling.
33208 (grub_atapi_identify): Likewise.
33209 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33210 handling.
33211 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33212 handling. Actually use the detected registers. Reorder the
33213 detection logic such that it is easier to read.
33214 (grub_ata_pciinit): Do not assign the same ID to each controller.
33215 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33216 handling.
33217 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33218
33219 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33220
1fbc5e66 332212008-08-08 Marco Gerards <marco@gnu.org>
33222
33223 * NEWS: Update.
33224
819ce6c0 332252008-08-07 Bean <bean123ch@gmail.com>
33226
33227 * include/grub/x86_64/pci.h: New file.
33228
5c41d44d 332292008-08-07 Christian Franke <franke@computer.org>
33230
33231 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33232 (TIMER2_GATE): Likewise.
33233 (grub_pit_wait): Add enable/disable of the timer2 gate
33234 bit of port 0x61. This fixes a possible infinite loop.
33235
5ebc275d 332362008-08-07 Bean <bean123ch@gmail.com>
33237
33238 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33239 kern/i386/tsc.c and kern/i386/pit.c.
33240
33241 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33242 x86_64 platform.
33243
33244 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33245 <grub/i386/tsc.h>.
33246
33247 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33248
e383b3d0 332492008-08-07 Bean <bean123ch@gmail.com>
33250
33251 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33252
33253 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33254
33255 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
33256 multiple inclusion. Add #include <grub/types.h>.
33257
1cbb58ac 332582008-08-06 Christian Franke <franke@computer.org>
33259
33260 * conf/common.rmk: Build and install `10_windows'.
33261 * util/grub.d/10_windows.in: New script.
33262
337f5a1e 332632008-08-06 Pavel Roskin <proski@gnu.org>
33264
33265 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
33266
057bc4ac 332672008-08-06 Robert Millan <rmh@aybabtu.com>
33268
33269 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
33270 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
33271
2b99f123 332722008-08-06 Bean <bean123ch@gmail.com>
33273
33274 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
33275 (grub_pxefs_fs_int): Remove dummy definition.
33276 (grub_pxefs_open): Use data->block_size to store the current block
33277 size setting.
33278 (grub_pxefs_read): Use block size stored in data->block_size. As the
33279 value of grub_pxe_blksize can be changed after the file is opened.
33280
9f0234cb 332812008-08-06 Bean <bean123ch@gmail.com>
33282
33283 * fs/i386/pc/pxe.c (curr_file): new variable.
33284 (grub_pxefs_open): Simply the handling of pxe file system. Don't
33285 require the dummy internal file system anymore.
33286 (grub_pxefs_read): Removed.
33287 (grub_pxefs_close): Likewise.
33288 (grub_pxefs_fs_int): Likewise.
33289 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
33290 connection when we switch file.
33291 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
33292
a55d42e0 332932008-08-06 Robert Millan <rmh@aybabtu.com>
33294
33295 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
33296 `halt.mod'.
33297 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
33298 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
33299
33300 * kern/i386/halt.c: New file.
33301 * kern/i386/reboot.c: Likewise.
33302 * include/grub/i386/reboot.h: Likewise.
33303 * include/grub/i386/halt.h: Likewise.
33304
33305 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
33306 Include `<grub/cpu/halt.h>'.
33307 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
33308 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
33309
33310 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
33311 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
33312 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
33313 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
33314 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
33315 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
33316 from here ...
33317 * include/grub/i386/at_keyboard.h: ... to here.
33318
24371d26 333192008-08-05 Robert Millan <rmh@aybabtu.com>
33320
33321 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
33322 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
33323 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
33324 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33325 `kern/generic/millisleep.c'.
33326
33327 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
33328 instead of grub_get_rtc().
33329 (grub_tsc_init): Initialize `tsc_boot_time'.
33330
33331 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
33332 (grub_machine_init): Use grub_tsc_init() rather than
33333 installing an RTC-based handler via grub_install_get_time_ms().
33334
33335 * kern/i386/pit.c: New file.
33336 * include/grub/i386/pit.h: Likewise.
33337
9e7007b3 333382008-08-05 Bean <bean123ch@gmail.com>
33339
33340 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
33341
33342 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
33343 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
33344 (pxe_mod_SOURCES): New macro.
33345 (pxe_mod_CFLAGS): Likewise.
33346 (pxe_mod_LDFLAGS): Likewise.
33347 (pxecmd_mod_SOURCES): Likewise.
33348 (pxecmd_mod_CFLAGS): Likewise.
33349 (pxecmd_mod_LDFLAGS): Likewise.
33350
33351 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
33352 (grub_pxe_call): Likewise.
33353
33354 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
33355
33356 * commands/i386/pc/pxecmd.c: New file.
33357
9f0234cb 33358 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 33359
33360 * include/grub/i386/pc/pxe.h: Likewise.
33361
6977d49f 333622008-08-05 Bean <bean123ch@gmail.com>
33363
33364 * util/console.c (grub_console_cur_color): New variable.
33365 (grub_console_standard_color): Likewise.
33366 (grub_console_normal_color): Likewise.
33367 (grub_console_highlight_color): Likewise.
33368 (color_map): Likewise.
33369 (use_color): Likewise.
33370 (NUM_COLORS): New macro.
33371 (grub_ncurses_setcolorstate): Handle color properly.
33372 (grub_ncurses_setcolor): Don't change color here, just remember the
33373 settings, color will be set in grub_ncurses_setcolorstate.
33374 (grub_ncurses_getcolor): New function.
33375 (grub_ncurses_init): Initialize color pairs.
33376 (grub_ncurses_term): New member grub_ncurses_getcolor.
33377
9c2ff3ee 333782008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 33379
9c2ff3ee 33380 High resolution timer support. Implemented for x86 CPUs using TSC.
33381 Extracted generic grub_millisleep() so it's linked in only as needed.
33382 This requires a Pentium compatible CPU; if the RDTSC instruction is
33383 not supported, then it falls back on the generic grub_get_time_ms()
33384 implementation that uses the machine's RTC.
33385
33386 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
33387 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33388 `kern/generic/millisleep.c'.
33389
33390 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
33391 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
33392
33393 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
33394 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
33395
33396 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33397
33398 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33399 `kern/generic/millisleep.c'.
33400
33401 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33402
33403 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
33404
33405 * kern/generic/rtc_get_time_ms.c: New file.
33406
33407 * kern/generic/millisleep.c: New file.
337f5a1e 33408
9c2ff3ee 33409 * kern/misc.c: Don't include
33410 <kern/time.h> anymore.
33411 (grub_millisleep_generic): Removed.
33412
33413 * commands/sleep.c (grub_interruptible_millisleep): Uses
33414 grub_get_time_ms() instead of grub_get_rtc().
33415
33416 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
33417 function.
33418 (grub_cpu_is_cpuid_supported): New inline function.
33419 (grub_cpu_is_tsc_supported): New inline function.
33420 (grub_tsc_init): New function prototype.
33421 (grub_tsc_get_time_ms): New function prototype.
33422
33423 * kern/i386/tsc.c (grub_get_time_ms): New file.
33424
33425 * include/grub/time.h: Include <grub/types.h.
33426 (grub_millisleep_generic): Removed.
33427 (grub_get_time_ms): New prototype.
33428 (grub_install_get_time_ms): New prototype.
33429 (grub_rtc_get_time_ms): New prototype.
33430
33431 * kern/time.c (grub_get_time_ms): New function.
33432 (grub_install_get_time_ms): New function.
33433
33434 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
33435 <grub/time.h> anymore.
33436 (grub_millisleep): Removed.
33437 (grub_machine_init): Call grub_tsc_init.
33438
33439 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
33440 get_time_ms() implementation.
33441
33442 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
33443 (ieee1275_get_time_ms): New function.
33444 (grub_machine_init): Install get_time_ms() implementation.
33445
33446 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
33447 (grub_machine_init): Call grub_tsc_init().
33448 (grub_millisleep): Removed.
bf06a93f 33449
9c2ff3ee 33450 * kern/ieee1275/init.c (grub_millisleep): Removed.
33451 (grub_machine_init): Install ieee1275_get_time_ms()
33452 implementation.
33453 (ieee1275_get_time_ms): New function.
33454 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
33455 real work.
33456
9ec92aaf 334572008-08-05 Marco Gerards <marco@gnu.org>
33458
33459 * disk/ata.c: Include <grub/pci.h>.
33460 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
33461 (grub_ata_initialize): Rewritten.
33462 (grub_ata_device_initialize): New function.
33463
8d23f507 334642008-08-04 Pavel Roskin <proski@gnu.org>
33465
33466 * kern/main.c: Include grub/mm.h.
33467
5e15ee3d 334682008-08-04 Robert Millan <rmh@aybabtu.com>
33469
33470 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
33471 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
33472 corruption problem).
33473
a9053f8f 334742008-08-04 Robert Millan <rmh@aybabtu.com>
33475
33476 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
33477 warnings introduced in my last commit.
33478
dd19c7d7 334792008-08-03 Robert Millan <rmh@aybabtu.com>
33480
33481 Make PCI available on all i386 architectures.
33482
33483 * include/grub/i386/pc/pci.h: Move from here ...
33484 * include/grub/i386/pci.h: ... to here.
33485
33486 * include/grub/i386/pc/pci.h: Remove.
33487 * include/grub/i386/efi/pci.h: Remove.
33488 * include/grub/x86_64/efi/pci.h: Remove.
33489
33490 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
33491 `<grub/cpu/pci.h>'.
33492
33493 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
33494 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
33495 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
33496
33497 * conf/i386-ieee1275.rmk: Likewise.
33498
e14a6184 334992008-08-03 Robert Millan <rmh@aybabtu.com>
33500
33501 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
33502 (grub_console_setcursor): Make it possible to set cursor off.
33503
52768e37 335042008-08-03 Robert Millan <rmh@aybabtu.com>
33505
33506 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
33507 of modules instead of assuming which platform provides what.
33508 * util/update-grub.in: Likewise.
33509
2d52f57f 335102008-08-03 Robert Millan <rmh@aybabtu.com>
33511
33512 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
33513 instead of `grub_install_dos_part' to determine whether a drive needs
33514 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 33515 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 33516
2a5cd121 335172008-08-02 Robert Millan <rmh@aybabtu.com>
33518
33519 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
33520
93808428 335212008-08-02 Robert Millan <rmh@aybabtu.com>
33522
33523 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
33524 of informational grub_dprintf() calls.
33525
3bd0a12a 335262008-08-02 Robert Millan <rmh@aybabtu.com>
33527
33528 * disk/memdisk.c (memdisk_size): Don't initialize.
33529 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
33530
33531 * include/grub/i386/pc/kernel.h
33532 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
33533 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
33534 (grub_memdisk_image_size, grub_arch_memdisk_addr)
33535 (grub_arch_memdisk_size): Remove.
33536
33537 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
33538 field (was only used to transfer a constant). Add `type' field to
33539 support multiple module types.
33540 (grub_module_iterate): New function.
33541
33542 * kern/device.c (grub_device_open): Do not hide error messages
33543 when grub_disk_open() fails. Use grub_print_error() instead.
33544
33545 * kern/i386/pc/init.c (grub_arch_modules_addr)
33546 (grub_arch_memdisk_size): Remove functions.
33547 (grub_arch_modules_addr): Return the module address in high memory
33548 (now that it isn't copied anymore).
33549
33550 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
33551 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
33552 decompression routine (grub_total_module_size already includes that
33553 now). Don't copy modules back to low memory.
33554
33555 * kern/main.c: Include `<grub/mm.h>'.
33556 (grub_load_modules): Split out (and use) ...
33557 (grub_module_iterate): ... this function, which iterates through
33558 module objects and runs a hook.
33559 Comment out grub_mm_init_region() call, as it would cause non-ELF
33560 modules to be overwritten.
33561
33562 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
33563 the memdisk image in its own region, make it part of the module list.
33564 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
33565 (main): Parse --memdisk|-m option, and pass user-provided path as
33566 parameter to generate_image().
33567 (add_segments): Pass `memdisk_path' down to load_modules().
33568 (load_modules): Embed memdisk image in module section when requested.
33569 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
33570 `header.type' instead of `header.offset'.
33571
33572 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
33573 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
33574 (memdisk_mod_LDFLAGS): New variables.
33575 * conf/i386-coreboot.rmk: Likewise.
33576 * conf/i386-ieee1275.rmk: Likewise.
33577
a927cc73 335782008-08-02 Robert Millan <rmh@aybabtu.com>
33579
33580 * loader/i386/pc/multiboot.c (playground, forward_relocator)
33581 (backward_relocator): New variables. Used to allocate and relocate
33582 the payload, respectively.
33583 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 33584 address, install the appropriate relocator code in each bound of
a927cc73 33585 the payload, and set the entry point such that
33586 grub_multiboot_real_boot() will jump to one of them.
33587
33588 * kern/i386/loader.S (grub_multiboot_payload_size)
33589 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33590 (grub_multiboot_payload_entry_offset): New variables.
33591 (grub_multiboot_real_boot): Set cpu context to what the relocator
33592 expects, and jump to the relocator instead of the payload.
33593
33594 * include/grub/i386/loader.h (grub_multiboot_payload_size)
33595 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33596 (grub_multiboot_payload_entry_offset): Export.
33597
b15d8a0c 335982008-08-01 Bean <bean123ch@gmail.com>
33599
33600 * normal/menu_entry.c (editor_getline): Don't return the original
33601 string as result, as it will be released by lexer once it has done
33602 using it.
33603
cdfb3d22 336042008-08-01 Robert Millan <rmh@aybabtu.com>
33605
33606 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
33607 within menuentries, not before them.
33608 util/grub.d/10_hurd.in: Likewise.
33609
9175e93d 336102008-08-01 Bean <bean123ch@gmail.com>
33611
33612 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
33613 (bufio_mod_SOURCES): New macro.
33614 (bufio_mod_CFLAGS): Likewise.
33615 (bufio_mod_LDFLAGS): Likewise.
33616
33617 * include/grub/bufio.h: New file.
33618
33619 * io/bufio.c: Likewise.
33620
33621 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
33622 (grub_video_reader_png): Use grub_buffile_open to open file.
33623
33624 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33625 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33626
33627 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33628 (grub_video_reader_tga): Use grub_buffile_open to open file.
33629
33630 * font/manager.c: Include <grub/bufio.h>.
33631 (add_font): Use grub_buffile_open to open file.
33632
3d8383e7 336332008-07-31 Robert Millan <rmh@aybabtu.com>
33634
33635 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33636 ELF segments, use a macro for arbitrarily accessing any of them instead
33637 of preparing a pointer that allows access to one at a time.
33638 (grub_multiboot_load_elf64): Likewise.
33639
16e641b6 336402008-07-31 Bean <bean123ch@gmail.com>
33641
33642 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33643 GRUB_KERNEL_MACHINE_DATA_END.
33644
59198b72 336452008-07-30 Robert Millan <rmh@aybabtu.com>
33646
33647 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33648 Increase from 0x50 to 0x60.
33649 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33650 use UUIDs to identify the root drive for them. If that's not
33651 possible, abort.
33652 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33653 check, for cross-disk installs.
33654
ae88bca3 336552008-07-30 Robert Millan <rmh@aybabtu.com>
33656
33657 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33658 is non-empty, use it to set the `prefix' environment variable instead
33659 of the usual approach.
33660 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33661 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33662 environment variable instead of dummy make_install_device().
33663
33664 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33665 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33666 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33667
33668 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33669 New variable reference.
33670 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33671 New macro. Defines offset of `grub_prefix' within startup.S (relative
33672 to `start').
33673 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33674 section within startup.S (relative to `start').
33675 * include/grub/i386/coreboot/kernel.h: Likewise.
33676
33677 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33678 Overwrite grub_prefix with its contents, at the beginning of the
33679 first segment.
33680 (main): Understand -p|--prefix.
33681
14f41dd1 336822008-07-30 Robert Millan <rmh@aybabtu.com>
33683
33684 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33685
4ca049a3 336862008-07-30 Robert Millan <rmh@aybabtu.com>
33687
33688 * term/i386/pc/vga_text.c (grub_console_cls): Use
33689 grub_console_gotoxy() to go back to beginning of the screen.
33690 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33691
2921d337 336922008-07-29 Christian Franke <franke@computer.org>
33693
33694 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33695 Add conversion of emulated mount points on Cygwin.
33696
b609876d 336972008-07-29 Christian Franke <franke@computer.org>
33698
33699 * util/update-grub.in: Add a check for admin
33700 group on Cygwin.
33701 Remove old `grub.cfg.new' before creation.
33702 Add `-f' to `mv' to handle the different filesystem
33703 semantics of Windows.
33704
e93e4679 337052008-07-29 Bean <bean123ch@gmail.com>
33706
33707 * normal/main.c (get_line): Fix buffer overflow bug.
33708
41694fd0 337092008-07-28 Robert Millan <rmh@aybabtu.com>
33710
33711 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33712 (struct grub_apple_header): New struct. Describes the layout of
33713 the partmap header.
33714 (apple_partition_map_iterate): Check the header magic as well as the
33715 partition magic (which was already being checked).
33716
cfd0b4e6 337172008-07-28 Pavel Roskin <proski@gnu.org>
33718
33719 * genmk.rb: Add a warning to the beginning of the output that
33720 it's a generated file and should not be edited.
33721
93cce016 337222008-07-28 Robert Millan <rmh@aybabtu.com>
33723
33724 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33725 with the same number are found, just use issue a warning with
33726 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33727
cd1df915 337282008-07-27 Robert Millan <rmh@aybabtu.com>
33729
33730 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33731 information.
33732
b70a8427 337332008-07-27 Bean <bean123ch@gmail.com>
33734
33735 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33736 (grub_fat_find_dir): Ignore case when comparing filename.
33737
8f5e379f 337382008-07-27 Bean <bean123ch@gmail.com>
33739
33740 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33741 smallino, as it's more descriptive, and i8count can be confused with
33742 the other field count.
33743 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33744 inode type.
33745
a85cd5a0 337462008-07-27 Bean <bean123ch@gmail.com>
33747
33748 * commands/crc.c: New file.
33749
33750 * lib/crc.c: Likewise.
33751
33752 * include/grub/lib/crc.h: Likewise.
33753
33754 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33755
33756 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33757 (hexdump): Move this function to ...
33758
33759 * lib/hexdump.c: ... here.
33760
33761 * include/grub/hexdump.h: Renamed to ...
33762
33763 * include/grub/lib/hexdump.h: ... this.
33764
33765 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33766
33767 * util/grub-editenv.c: Likewise.
33768
33769 * include/envblk.h: Renamed to ...
33770
33771 * include/lib/envblk.h: ... this.
33772
33773 * util/envblk.c: Renamed to ...
33774
33775 * lib/envblk.c: ... this.
33776
33777 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33778 lib/hexdump.c.
33779 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33780 (pkglib_MODULES): Add crc.mod.
33781 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33782 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33783 (crc_mod_SOURCES): New macro.
33784 (crc_mod_CFLAGS): Likewise.
33785 (crc_mod_LDFLAGS): Likewise.
33786
33787 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33788
33789 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33790
33791 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33792
33793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33794
33795 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33796
c298def0 337972008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33798
33799 * commands/help.c: Include <grub/term.h>.
33800 (TERM_WIDTH): Removed. Updated all users.
33801
cc349fb3 338022008-07-27 Pavel Roskin <proski@gnu.org>
33803
33804 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33805 spurious warnings about a comment within a comment.
33806
9051607e 338072008-07-25 Robert Millan <rmh@aybabtu.com>
33808
33809 * util/getroot.c (find_root_device): Skip devices that match
33810 /dev/dm-[0-9]. This lets the real device be found for any type of
33811 abstraction (LVM, EVMS, RAID..).
33812 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33813 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33814 device is found first, find_root_device() will now skip it.
33815
01453bfc 338162008-07-24 Pavel Roskin <proski@gnu.org>
33817
33818 * include/grub/types.h: Use __builtin_bswap32() and
33819 __builtin_bswap64() with gcc 4.3 and newer.
33820
6af9849f 338212008-07-24 Christian Franke <franke@computer.org>
33822
3a0fa256 33823 * util/i386/pc/grub-install.in: If `--debug' is specified,
33824 pass `--verbose' to grub-setup.
33825 Abort script if make_system_path_relative_to_its_root() fails.
33826
7810e747 338272008-07-24 Bean <bean123ch@gmail.com>
33828
33829 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33830 variable `target_platform' should be `platform'.
33831
42290e17 338322008-07-24 Bean <bean123ch@gmail.com>
33833
51cc5193 33834 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33835 (grub_png_init_fixed_block): New function.
33836 (grub_png_decode_image_data): Handle fixed huffman code compression.
33837
2a8a80e4 338382008-07-24 Bean <bean123ch@gmail.com>
33839
33840 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33841 (grub_pe2elf_SOURCES): New macro.
33842 (CLEANFILES): Add grub-pe2elf.
33843
33844 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33845 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33846 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33847 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33848 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33849 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33850 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33851 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33852 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33853 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33854 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33855 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33856 (GRUB_PE32_DT_FUNCTION): Likewise.
33857 (GRUB_PE32_REL_I386_DIR32): Likewise.
33858 (GRUB_PE32_REL_I386_REL32): Likewise.
33859 (grub_pe32_symbol): New structure.
33860 (grub_pe32_reloc): Likewise.
33861
33862 * util/grub-pe2elf.c: New file.
33863
33864 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33865 start symbol in non pc platform.
33866
33867 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33868
33869 The following patches are from Christian Franke.
33870
33871 * include/grub/dl.h: Remove .previous, gas supports this only
33872 for ELF format.
33873
33874 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33875 Remove .type, gas supports this only for ELF format.
33876
33877 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33878 nullbytes in symbol table. This fixes an infinite loop if table is
33879 zero filled.
33880
33881 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33882 TARGET_IMG_LDFLAGS and EXEEXT.
33883
33884 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33885 TARGET_IMG_LDFLAGS_AC.
33886 (grub_CHECK_STACK_ARG_PROBE): New function.
33887
33888 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33889
33890 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33891
33892 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33893 to set TARGET_IMG_LD* accordingly.
33894 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33895 Add call to grub_CHECK_STACK_ARG_PROBE.
33896 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33897
33898 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33899
33900 * genmk.rb: Add EXEEXT to CLEANFILES.
33901
12ccdb75 339022008-07-23 Robert Millan <rmh@aybabtu.com>
33903
33904 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33905 define the codes for arrows and lines used for the menu).
33906 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33907 as well.
33908
33909 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33910 fonts, because the latter are too slow.
33911
18eeaf04 339122008-07-21 Bean <bean123ch@gmail.com>
33913
33914 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33915 a20. Run keyboard test last, as it will cause macbook to halt.
33916
b095e2ad 339172008-07-18 Pavel Roskin <proski@gnu.org>
33918
33919 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33920 load foreign architecture modules correctly anyway. Keep
33921 support for loading host architecture modules, whether we
33922 compile them or not.
33923
737feb35 339242008-07-17 Pavel Roskin <proski@gnu.org>
33925
3f4ce737 33926 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33927 change target_cpu. The compiler default can mismatch target_cpu
33928 in any case.
33929
4ad2d049 33930 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33931 * kern/efi/efi.c: Likewise.
33932
f6130a12 33933 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33934 target compiler is functional.
33935 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33936 are set up.
33937
58393a2d 33938 * configure.ac: Default to efi platform for x86_64-apple. Allow
33939 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33940 adjustments from the rest, only do them if target is not
33941 explicitly given. Merge other adjustments with the final sanity
33942 check. Remove an extraneous check for supported CPU. Be
33943 specific which CPU and which platform is not supported.
33944
737feb35 33945 * configure.ac: Default to pc platform for x86_64.
33946
546f966a 339472008-07-17 Robert Millan <rmh@aybabtu.com>
33948
33949 Partial LinuxBIOS -> Coreboot rename.
33950
33951 * conf/i386-linuxbios.rmk: Renamed to ...
33952 * conf/i386-coreboot.rmk: ... this.
33953 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33954 * configure.ac: Accept "coreboot" as input platform (but maintain
33955 compatibility with "linuxbios").
33956 * include/grub/i386/linuxbios: Renamed to ...
33957 * include/grub/i386/coreboot: ... this.
33958
20011694 339592008-07-17 Bean <bean123ch@gmail.com>
33960
33961 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33962 (appleldr_mod_SOURCE): New variable.
20011694 33963 (appleldr_mod_CFLAGS): Likewise.
33964 (appleldr_mod_LDFLAGS): Likewise.
33965 (pci_mod_SOURCES): Likewise.
33966 (pci_mod_CFLAGS): Likewise.
33967 (pci_mod_LDFLAGS): Likewise.
33968 (lspci_mod_SOURCES): Likewise.
33969 (lspci_mod_CFLAGS): Likewise.
33970 (lspci_mod_LDFLAGS): Likewise.
33971
33972 * conf/x86_64-efi.rmk: New file.
33973
33974 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33975 macro.
33976 (grub_efidisk_write): Likewise.
33977
33978 * include/efi/api.h (efi_call_0): New macro.
33979 (efi_call_1): Likewise.
33980 (efi_call_2): Likewise.
33981 (efi_call_3): Likewise.
33982 (efi_call_4): Likewise.
33983 (efi_call_5): Likewise.
33984 (efi_call_6): Likewise.
33985
33986 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33987 grub_rescue_cmd_chainloader.
33988
33989 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33990 (grub_pe32_optional_header): Change some fields based on i386 or
33991 x86_64 platform.
33992 (GRUB_PE32_PE32_MAGIC): Likewise.
33993
33994 * include/grub/efi/uga_draw.h: New file.
33995
33996 * include/grub/elf.h (STN_ABS): New constant.
33997 (R_X86_64_NONE): Relocation constant for x86_64.
33998 (R_X86_64_64): Likewise.
33999 (R_X86_64_PC32): Likewise.
34000 (R_X86_64_GOT32): Likewise.
34001 (R_X86_64_PLT32): Likewise.
34002 (R_X86_64_COPY): Likewise.
34003 (R_X86_64_GLOB_DAT): Likewise.
34004 (R_X86_64_JUMP_SLOT): Likewise.
34005 (R_X86_64_RELATIVE): Likewise.
34006 (R_X86_64_GOTPCREL): Likewise.
34007 (R_X86_64_32): Likewise.
34008 (R_X86_64_32S): Likewise.
34009 (R_X86_64_16): Likewise.
34010 (R_X86_64_PC16): Likewise.
34011 (R_X86_64_8): Likewise.
34012 (R_X86_64_PC8): Likewise.
34013
34014 * include/grub/i386/efi/pci.h: New file.
34015
34016 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34017 Change it value based on platform.
34018 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34019 (GRUB_E820_RAM): Likewise.
34020 (GRUB_E820_RESERVED): Likewise.
34021 (GRUB_E820_ACPI): Likewise.
34022 (GRUB_E820_NVS): Likewise.
34023 (GRUB_E820_EXEC_CODE): Likewise.
34024 (GRUB_E820_MAX_ENTRY): Likewise.
34025 (grub_e820_mmap): New structure.
34026 (linux_kernel_header): Change the efi field according to different
34027 kernel version, also field from linux_kernel_header.
34028
34029 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34030
34031 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34032 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34033 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34034 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34035 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34036 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34037 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34038 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34039 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34040 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34041
34042 * include/grub/x86_64/efi/kernel.h: New file.
34043
34044 * include/grub/x86_64/efi/loader.h: Likewise.
34045
34046 * include/grub/x86_64/efi/machine.h: Likewise.
34047
34048 * include/grub/x86_64/efi/pci.h: Likewise.
34049
34050 * include/grub/x86_64/efi/time.h: Likewise.
34051
34052 * include/grub/x86_64/linux.h: Likewise.
34053
34054 * include/grub/x86_64/setjmp.h: Likewise.
34055
34056 * include/grub/x86_64/time.h: Likewise.
34057
34058 * include/grub/x86_64/types.h: Likewise.
34059
34060 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34061 GRUB_TARGET_SIZEOF_VOID_P.
34062
34063 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34064 (grub_efi_locate_handle): Likewise.
34065 (grub_efi_open_protocol): Likewise.
34066 (grub_efi_set_text_mode): Likewise.
34067 (grub_efi_stall): Likewise.
34068 (grub_exit): Likewise.
34069 (grub_reboot): Likewise.
34070 (grub_halt): Likewise.
34071 (grub_efi_exit_boot_services): Likewise.
34072 (grub_get_rtc): Likewise.
34073
34074 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34075 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34076 (grub_efi_allocate_pages): Wrap efi calls.
34077 (grub_efi_free_pages): Wrap efi calls.
34078 (grub_efi_get_memory_map): Wrap efi calls.
34079
34080 * kern/x86_64/dl.c: New file.
34081
34082 * kern/x86_64/efi/callwrap.S: Likewise.
34083
34084 * kern/x86_64/efi/startup.S: Likewise.
34085
34086 * loader/efi/appleloader.c: Likewise.
34087
34088 * loader/efi/chainloader.c (cmdline): New variable.
34089 (grub_chainloader_unload): Wrap efi calls.
34090 (grub_chainloader_boot): Likewise.
34091 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34092 command line.
34093
34094 * loader/efi/chainloader_normal.c (chainloader_command):
34095 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34096 command line.
34097
34098 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34099 method.
34100 (grub_e820_add_region): New function.
34101 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34102 booting.
34103 (grub_find_video_card): New function.
34104 (grub_linux_setup_video): New function.
34105 (grub_rescue_cmd_linux): Probe for video information.
34106
34107 * normal/x86_64/setjmp.S: New file.
34108
34109 * term/efi/console.c (map_char): New function.
34110 (grub_console_putchar): Map unicode char.
34111 (grub_console_checkkey): Wrap efi calls.
34112 (grub_console_getkey): Likewise.
34113 (grub_console_getwh): Likewise.
34114 (grub_console_gotoxy): Likewise.
34115 (grub_console_cls): Likewise.
34116 (grub_console_setcolorstate): Likewise.
34117 (grub_console_setcursor): Likewise.
34118
34119 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34120
59652a20 341212008-07-16 Pavel Roskin <proski@gnu.org>
34122
ef294055 34123 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34124 format strings.
34125
59652a20 34126 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34127 pointer, not an integer. This fixes a warning and prevents
34128 precision loss on 64-bit systems.
34129 (relocate_addresses): Remove unneeded cast.
34130
afc3b5d7 341312008-07-15 Pavel Roskin <proski@gnu.org>
34132
506b2b3e 34133 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34134
62ead89c 34135 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34136
c4cd51d7 34137 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34138 Fix comparison between signed and unsigned.
34139
0d3d8f28 34140 * include/grub/i386/ieee1275/console.h: Declare
34141 grub_console_init() and grub_console_fini().
34142
8804b286 34143 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34144 It's empty and unused.
34145
ee01cf35 34146 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34147 beginning to avoid warnings with some compilers.
34148
afc3b5d7 34149 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34150 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34151
e4e8eaa5 341522008-07-14 Pavel Roskin <proski@gnu.org>
34153
407aceb4 34154 * kern/env.c (grub_register_variable_hook): Don't copy empty
34155 string, it leaks memory. Pass "" to grub_env_set(), it should
34156 handle constant strings.
34157
e4e8eaa5 34158 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34159 * commands/cmp.c (grub_cmd_cmp): Likewise.
34160 * kern/dl.c (grub_dl_flush_cache): Likewise.
34161 (grub_dl_load_core): Likewise.
34162 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34163 (grub_elf64_load_phdrs): Likewise.
34164
d4e2dad3 341652008-07-13 Pavel Roskin <proski@gnu.org>
34166
34167 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34168 between signed and unsigned.
34169 (LzmaEnc_Finish): Fix warning about an unused parameter.
34170
aa24b516 341712008-07-13 Bean <bean123ch@gmail.com>
34172
34173 * Makefile.in (enable_lzo): New rule.
34174
34175 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34176
34177 * configure.ac (ENABLE_LZO): New option --enable-lzo.
34178
34179 * boot/i386/pc/lnxboot.S: #include <config.h>.
34180
34181 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 34182 its value according to the compression algorithm used, lzo or lzma.
aa24b516 34183
34184 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34185 compression algorithm according to configure macro.
34186
34187 * kern/i386/pc/startup.S (codestart): Likewise.
34188
34189 * kern/i386/pc/lzma_decode.S: New file.
34190
34191 * include/grub/lib/LzFind.h: Likewise.
34192
34193 * include/grub/lib/LzHash.h: Likewise.
34194
34195 * include/grub/lib/LzmaDec.h: Likewise.
34196
34197 * include/grub/lib/LzmaEnc.h: Likewise.
34198
34199 * include/grub/lib/LzmaTypes.h: Likewise.
34200
34201 * lib/LzFind.c: Likewise.
34202
34203 * lib/LzmaDec.c: Likewise.
34204
34205 * lib/LzmaEnc.c: Likewise.
34206
4ae821ac 342072008-07-13 Bean <bean123ch@gmail.com>
34208
34209 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34210 (grub_ext4_extent_header): New structure.
34211 (grub_ext4_extent): Likewise.
34212 (grub_ext4_extent_idx): Likewise.
34213 (grub_ext4_find_leaf): New function.
34214 (grub_ext2_read_block): Handle extents.
34215
9a745147 342162008-07-12 Robert Millan <rmh@aybabtu.com>
34217
34218 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34219
d49a4cf6 342202008-07-11 Robert Millan <rmh@aybabtu.com>
34221
34222 * util/grub.d/40_custom.in: New file. Example on how to add custom
34223 entries to /etc/grub.d.
34224 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34225 40_custom (implicitly, by merging all the grub.d rules).
34226
947414b4 342272008-07-11 Pavel Roskin <proski@gnu.org>
34228
0059cf6f 34229 * commands/read.c (grub_getline): Fix invalid memory access.
34230 Don't add newline to the variable value.
34231
947414b4 34232 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34233 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34234 (serial_hw_get_port): Check validity of the port number.
34235 (grub_cmd_serial): Check return value of serial_hw_get_port().
34236
62a02d00 342372008-07-07 Pavel Roskin <proski@gnu.org>
34238
34239 * boot/i386/pc/diskboot.S (notification_string): Replace
34240 "Loading kernel" with just "loading". This is shorter, less
34241 confusing and saves a few bytes for possible future changes.
34242
3e5581b0 342432008-07-05 Pavel Roskin <proski@gnu.org>
34244
ea387a48 34245 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34246 size for ATAPI devices, they are undefined. Output sector
34247 number in decimal form.
34248
3e5581b0 34249 * disk/ata.c: Use named constants for status bits.
34250
fdecb8fd 342512008-07-04 Pavel Roskin <proski@gnu.org>
34252
bcd35b90 34253 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34254 grub_addr_t before casting it to the void pointer to fix a
34255 warning. Non-addressable regions are discarded earlier.
34256 (grub_arch_modules_addr): Cast _end to grub_addr_t.
34257 * kern/i386/linuxbios/table.c: Include grub/misc.h.
34258 (check_signature): Don't shadow table_header.
34259 (grub_linuxbios_table_iterate): Cast numeric constants to
34260 grub_linuxbios_table_header_t.
34261 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
34262 grub_stop().
34263
af58ab3d 34264 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
34265 prevent warnings.
34266
1759aa57 34267 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
34268 pointer, which can cause warnings. Support 64-bit addresses.
34269
fdecb8fd 34270 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
34271 of sizeof(long). This fixes PowerPC image generation on x86_64.
34272
8516d2a8 342732008-07-04 Robert Millan <rmh@aybabtu.com>
34274
34275 This fixes a performance issue when pc & gpt partmap iterators
34276 didn't abort iteration even after our hook found what it was
fe987087 34277 looking for (often causing expensive probes of non-existent drives).
8516d2a8 34278
34279 Some callers relied on previous buggy behaviour, since they would
34c44600 34280 raise an error when their own hooks caused early abortion of its
8516d2a8 34281 iteration.
34282
34283 * kern/device.c (grub_device_open): Improve error message.
34284 * disk/lvm.c (grub_lvm_open): Likewise.
34285 * disk/raid.c (grub_raid_open): Likewise.
34286
34287 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
34288 when hook requests it, independently of grub_errno.
34289 (pc_partition_map_probe): Do not fail when find_func() caused
34290 early abortion of pc_partition_map_iterate().
34291
34292 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
34293 when hook requests it, independently of grub_errno.
34294 (gpt_partition_map_probe): Do not fail when find_func() caused
34295 early abortion of gpt_partition_map_iterate().
34296
34297 * kern/partition.c (grub_partition_iterate): Abort parent iteration
34298 when hook requests it, independently of grub_errno. Do not fail when
34299 part_map_iterate_hook() caused early abortion of p->iterate().
34300
34301 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
34302 when grub_partition_iterate() returned with non-zero.
34303
277d0de9 343042008-07-03 Pavel Roskin <proski@gnu.org>
34305
34306 * disk/ata.c (grub_ata_pio_write): Check status before writing,
34307 like we do in grub_ata_pio_read().
34308 (grub_ata_readwrite): Always write individual sectors. Fix the
34309 sector count for the remainder.
34310 (grub_ata_write): Enable writing to ATA devices. Correctly
34311 report error for ATAPI devices.
34312
d4c9b428 343132008-07-02 Pavel Roskin <proski@gnu.org>
34314
e43fc690 34315 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
34316 warning.
34317
f707af42 34318 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
34319 for every read sector, we already increment it for the whole
34320 batch. This fixes reading more than 256 sectors at once.
34321
11e16b15 34322 * util/grub-editenv.c (cmd_info): Cast argument to long
34323 explicitly. ptrdiff_t reduces to int on i386.
34324
cbabfdd4 34325 * util/grub-editenv.c (main): Be specific which parameter is
34326 missing.
34327
b8fbce0a 34328 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
34329 (memdisk): Make memdisk_orig_addr a pointer.
34330
c9c8e606 34331 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
34332 for file offsets, use grub_off_t instead. Fix printf format
34333 warnings.
34334
ca62e598 34335 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
34336 there. Real unexpected warnings should not drown in the noise
34337 about known problems.
34338
ce8d1766 34339 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
34340 grub_disk_addr_t for memory addresses.
34341
00c7a56a 34342 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
34343 explicitly to fix a warning.
34344
08d3ef09 34345 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
34346
cb71ba20 34347 * Makefile.in (MODULE_LDFLAGS): New variable.
34348 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
34349 the linker accepts --build-id=none.
34350 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
34351 MODULE_LDFLAGS.
34352 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
34353
d4c9b428 34354 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
34355 those in Linux XFS code. Provide a way to access 64-bit parent
34356 inode.
34357 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
34358 the end of struct grub_xfs_dir_header.
34359
d4156eee 343602008-07-02 Bean <bean123ch@gmail.com>
34361
34362 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
34363 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34364 and GRUB_IEEE1275_FLAG_NO_ANSI.
34365
34366 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
34367 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34368 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
34369
34370 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
34371 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
34372
34373 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
34374 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
34375
34376 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
34377 esc sequence on non ANSI terminal.
34378 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
34379
34380 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
34381 beginning of file.
34382
2270f77b 343832008-07-02 Bean <bean123ch@gmail.com>
34384
34385 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
34386 (grub_editenv_SOURCES): New variable.
34387 (pkglib_MODULES): Add loadenv.mod.
34388 (loadenv_mod_SOURCES): New variable.
34389 (loadenv_mod_CFLAGS): Likewise.
34390 (loadenv_mod_LDFLAGS): Likewise.
34391
34392 * include/grub/envblk.h: New file.
34393
34394 * util/envblk.c: New file.
34395
34396 * util/grub-editenv.c: New file.
34397
34398 * commands/loadenv.c: New file.
34399
0e9e51ec 344002008-07-01 Pavel Roskin <proski@gnu.org>
34401
d89b7634 34402 * include/multiboot2.h (struct multiboot_tag_module): Use char,
34403 not unsigned char. This fixes warnings and is consistent with
34404 other tags.
34405
bf1835b1 34406 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
34407
8222a04b 34408 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
34409
6a42d99d 34410 * term/tparm.c (analyze): Always set *popcount.
34411
10b159d1 34412 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
34413 cast to fix a warning.
34414
b8789f6c 34415 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
34416 cast to suppress a warning.
34417
29d7e38a 34418 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
34419 grub_fshelp_read_file() expects.
34420
f341f669 34421 * fs/fat.c: Fix UUID calculation on big-endian systems. We
34422 write uuid as a 32-bit value in CPU byte order, so declare and
34423 use it as such.
34424
0e9e51ec 34425 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
34426 long if the format specifier expects it.
34427 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
34428 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34429 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
34430 long to fix a warning.
34431 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
34432 grub_dprintf() arguments to fix warnings.
34433
3aefa857 344342008-06-30 Pavel Roskin <proski@gnu.org>
34435
56c7668b 34436 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
34437 install_bsd_part immediately before core.img is embedded or
34438 modified on disk. This fixes core.img verification if core.img
34439 cannot be embedded.
34440
3aefa857 34441 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
34442 core_path to calculate the blocklist.
34443 Patch from Javier Martín <lordhabbit@gmail.com>
34444
5444088d 344452008-06-29 Robert Millan <rmh@aybabtu.com>
34446
34447 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
34448 block to disk block.
34449 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
34450 Patch from Niels Böhm <bitbucket@arcor.de>
34451
674835c8 344522008-06-29 Robert Millan <rmh@aybabtu.com>
34453
34454 * util/update-grub_lib.in (font_path): Search for fonts in
34455 /boot/grub first, which is more likely to be readable (we aren't
34456 deciding where fonts live, just looking for them).
34457
f527dbc8 344582008-06-26 Pavel Roskin <proski@gnu.org>
34459
6c2d8df6 34460 * util/biosdisk.c (read_device_map): Don't leave dead map
34461 entries for devices failing stat() check.
34462
f527dbc8 34463 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
34464 core_path_dev for the core.img path on the target device.
34465
aebe3d13 344662008-06-26 Robert Millan <rmh@aybabtu.com>
34467
34468 * disk/fs_uuid.c: New file.
34469 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
34470 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
34471 (fs_uuid_mod_LDFLAGS): New variables.
34472 * include/grub/disk.h (grub_disk_dev_id): Add
34473 `GRUB_DISK_DEVICE_UUID_ID'.
34474 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
34475 implement iterate().
34476
37aaf354 344772008-06-26 Robert Millan <rmh@aybabtu.com>
34478
34479 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
34480 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
34481 Linux image includes no initrd.
34482
25ff262a 344832008-06-21 Javier Martín <lordhabbit@gmail.com>
34484
34485 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
34486 call to resolve the core image location that effectively appended the
34487 name twice.
34488
76a2bd44 344892008-06-21 Robert Millan <rmh@aybabtu.com>
34490
34491 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
34492 call from here ...
34493
34494 * util/grub.d/10_hurd.in: ... to here ...
34495 * util/grub.d/10_linux.in: ... and here.
34496
650e1c79 344972008-06-19 Robert Millan <rmh@aybabtu.com>
34498
fe987087 34499 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 34500 after it has been set by grub_machine_set_prefix().
34501
6ce63911 345022008-06-19 Robert Millan <rmh@aybabtu.com>
34503
34504 * commands/search.c (search_label, search_fs_uuid, search_file): Print
34505 search result when not saving to variable, not the other way around.
34506 When saving to variable, abort iteration as soon as a match is found.
34507
73940cec 345082008-06-19 Robert Millan <rmh@aybabtu.com>
34509
34510 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
34511 check for partition that provides /boot/grub. Its logic is flawed,
34512 as it prevents prepare_grub_to_access_device() from being called
34513 multiple times.
34514
3c62a39d 345152008-06-19 Robert Millan <rmh@aybabtu.com>
34516
34517 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
34518 "insmod" command directly when abstraction modules are needed,
fe987087 34519 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 34520 since it had already been processed).
34521
47395a42 345222008-06-19 Pavel Roskin <proski@gnu.org>
34523
34524 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
34525 changed. This is needed in case GRUB_LIBDIR changes.
34526 * conf/i386-ieee1275.rmk: Likewise.
34527 * conf/i386-linuxbios.rmk: Likewise.
34528 * conf/i386-pc.rmk: Likewise.
34529 * conf/powerpc-ieee1275.rmk: Likewise.
34530
a145ac2d 345312008-06-18 Pavel Roskin <proski@gnu.org>
34532
34533 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
34534 kernel_elf_symlist.c to symlist.c for consistency with other
34535 architectures. Update all users.
34536 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34537
7847c51e 345382008-06-18 Robert Millan <rmh@aybabtu.com>
34539
34540 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
34541 it in prefix.
34542
34543 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
34544 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
34545 a RAID device, run setup() for all members independently on whether
34546 LVM abstraction is being used.
34547 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
34548 If grub-mkimage has set `*install_dos_part == -2', don't override this
34549 value.
34550 Perform *install_dos_part adjustments independently on whether
34551 we're embedding or not.
34552 Clarify error message when image is too big for embedding.
34553 Remove duplicate *install_dos_part stanza.
34554
b23e5644 345552008-06-17 Robert Millan <rmh@aybabtu.com>
34556
34557 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
34558 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
34559 variables.
34560 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
34561 values in grub_ofconsole_normal_color and
34562 grub_ofconsole_highlight_color (they're not directly related to
34563 background and foreground).
34564 (grub_ofconsole_setcolorstate): Extract background and foreground
34565 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
34566
0aac2f79 345672008-06-17 Robert Millan <rmh@aybabtu.com>
34568
34569 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
34570 /boot/grub for the check in last commit, not /boot (they could be
34571 different partitions).
34572
3cca7ef3 345732008-06-16 Robert Millan <rmh@aybabtu.com>
34574
34575 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
34576 asked to setup access for the same partition that provides /boot,
34577 don't bother using UUIDs since our root already has the value we
34578 want.
34579
347396d8 345802008-06-16 Robert Millan <rmh@aybabtu.com>
34581
34582 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
34583 I2O devices.
34584 Patch from Sven Mueller <sven@debian.org>.
34585
991477f8 345862008-06-16 Robert Millan <rmh@aybabtu.com>
34587
34588 * util/update-grub.in: Check for $EUID instead of $UID.
34589 Reported by Vincent Zweije.
34590
d31a32a1 345912008-06-16 Bean <bean123ch@gmail.com>
34592
fe987087 34593 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 34594 (grub_ext2_read_block): Likewise.
34595 (grub_ext2_read_inode): Likewise.
34596 (grub_ext2_mount): Likewise.
34597 (grub_ext2_close): Likewise.
34598 (grub_ext3_get_journal): Removed.
34599
fe987087 34600 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 34601 (grub_reiserfs_read_symlink): Likewise.
34602 (grub_reiserfs_mount): Likewise.
34603 (grub_reiserfs_open): Likewise.
34604 (grub_reiserfs_read): Likewise.
34605 (grub_reiserfs_close): Likewise.
34606 (grub_reiserfs_get_journal): Removed.
34607
34608 * fs/fshelp.c (grub_fshelp_read): Removed.
34609 (grub_fshelp_map_block): Likewise.
34610
34611 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
34612 (grub_fshelp_journal): Likewise.
34613 (grub_fshelp_read): Likewise.
34614 (grub_fshelp_map_block): Likewise.
34615
3540a760 346162008-06-16 Pavel Roskin <proski@gnu.org>
34617
34618 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
34619 floating point anymore.
34620 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
34621
95614c84 346222008-06-15 Pavel Roskin <proski@gnu.org>
34623
34624 * commands/ls.c (grub_ls_list_files): Use integer calculations
34625 for human readable format, avoid floating point use.
34626 * kern/misc.c (grub_ftoa): Remove.
34627 (grub_vsprintf): Remove floating point support.
34628
50465dd6 346292008-06-15 Robert Millan <rmh@aybabtu.com>
34630
fe6b695a 34631 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34632 devices.
34633 Reported by Max Vozeler.
34634
a9207284 346352008-06-15 Robert Millan <rmh@aybabtu.com>
34636
34637 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34638 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34639 skipped later.
34640 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34641 the beginning of the prefix.
34642
34643 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34644 It is assumed that if we have a memdisk, grub-mkimage has set
34645 grub_prefix to include the "(memdisk)" drive in it.
34646
a7cbd45a 346472008-06-15 Robert Millan <rmh@aybabtu.com>
34648
34649 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34650 Initialize keyboard controller after registering the terminal, so that
34651 grub_printf() can be called from grub_keyboard_controller_init().
34652
21cf716a 346532008-06-15 Robert Millan <rmh@aybabtu.com>
34654
34655 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34656 extent-btree which is written as big endian on disk.
34657 Reported by Alain Greppin <al@chilibi.org>.
34658
23a64d8e 346592008-06-14 Robert Millan <rmh@aybabtu.com>
34660
34661 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34662 * util/i386/pc/grub-install.in (modules): Likewise.
34663
d687651c 346642008-06-13 Pavel Roskin <proski@gnu.org>
34665
34666 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34667
dfe9ddd4 346682008-06-13 Bean <bean123ch@gmail.com>
34669
34670 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34671
34672 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34673
34674 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34675 to indicate sparse block.
34676
16ae7781 346772008-06-12 Pavel Roskin <proski@gnu.org>
34678
e6d1a308 34679 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34680 number, grub_fshelp_read() does it for us.
34681
16ae7781 34682 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34683 linear disk read with journal translation.
34684 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34685 * include/grub/fshelp.h: Declare grub_fshelp_read().
34686
40fd3a2b 346872008-06-09 Pavel Roskin <proski@gnu.org>
34688
34689 * fs/minix.c (grub_minix_mount): Handle error reading
34690 superblock.
34691
f5679726 346922008-06-08 Robert Millan <rmh@aybabtu.com>
34693
34694 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34695 don't append the RAID prefix afterwards.
34696 Reported by Clint Adams.
34697
ce525529 346982008-06-08 Robert Millan <rmh@aybabtu.com>
34699
34700 Based on description from Pavel:
34701 * kern/disk.c (grub_disk_check_range): Rename to ...
34702 (grub_disk_adjust_range): ... this. Add a comment explaining the
34703 tasks performed by this function.
34704
ad4936a0 347052008-06-08 Robert Millan <rmh@aybabtu.com>
34706
34707 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34708 `num_serial' (for consistency with other variables).
34709 (struct grub_ntfs_data): Add `uuid' member.
34710 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34711 (grub_ntfs_uuid): New function.
34712 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34713
dc20b0f9 347142008-06-07 Pavel Roskin <proski@gnu.org>
34715
34716 * util/biosdisk.c (open_device): Revert last change to the
34717 function, it broke installation. The sector needs to be
34718 different dependent on which device is opened.
34719
c5e3cfba 347202008-06-06 Robert Millan <rmh@aybabtu.com>
34721
34722 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34723 rest of GRUB, and breakage doesn't happen if its value were modified.
34724
34725 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34726 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34727 a constant (same value).
34728 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34729 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34730
26a1f8c4 347312008-06-06 Robert Millan <rmh@aybabtu.com>
34732
34733 * util/biosdisk.c (open_device): Do not modify sector offset when
34734 accessing a partition. kern/disk.c already handles this for us.
34735
25d6b327 347362008-06-06 Robert Millan <rmh@aybabtu.com>
34737
34738 * util/grub-emu.c (grub_machine_init): Move code in this function from
34739 here ...
34740 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34741 segfault in case grub_printf() is called).
34742
34743 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34744 grub_probe. Update all users not to explicitly add it again.
34745 (grub_device): New variable; contains corresponding device for grubdir.
34746 (fs_module, partmap_module, devabstraction_module): Pass
34747 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34748 every time.
34749
9ece62fb 347502008-06-05 Robert Millan <rmh@aybabtu.com>
34751
34752 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34753 is found, print it (same layout as with labels).
34754
1ad36d37 347552008-06-04 Robert Millan <rmh@aybabtu.com>
34756
34757 * util/biosdisk.c (get_drive): Rename to ...
34758 (find_grub_drive): ... this. Update all users.
34759
34760 (get_os_disk): Rename to ...
34761 (convert_system_partition_to_system_disk): ... this. Update all users.
34762
34763 (find_drive): Rename to ...
34764 (find_system_device): ... this. Update all users.
34765
e6a30859 347662008-06-04 Robert Millan <rmh@aybabtu.com>
34767
34768 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34769 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34770 (make_device_map): Likewise.
34771
00c108a4 347722008-06-01 Robert Millan <rmh@aybabtu.com>
34773
34774 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34775 before dereferencing it.
34776
34777 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34778 union with fat12/fat16-specific ones. Add some new fields, including
34779 `num_serial' for both versions.
34780 (struct grub_fat_data): Add `uuid' member.
34781 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34782 names. Initialize `data->uuid' using `num_serial'.
34783 (grub_fat_uuid): New function.
34784 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34785
34786 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34787 (grub_reiserfs_uuid): New function.
34788 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34789 member.
34790
34791 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34792 (grub_xfs_uuid): New function.
34793 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34794
1385c5bb 347952008-06-01 Robert Millan <rmh@aybabtu.com>
34796
34797 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34798 code that is backward compatible with pre-uuid search command.
34799
c682dfd7 348002008-05-31 Robert Millan <rmh@aybabtu.com>
34801
34802 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34803 floppies after everything else, to ensure floppy drive isn't accessed
34804 unnecessarily (patch from Bean).
34805
b7db5d47 348062008-05-31 Robert Millan <rmh@aybabtu.com>
34807
34808 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34809 not print device names when we were asked to set a variable.
34810
6e037aa9 348112008-05-31 Robert Millan <rmh@aybabtu.com>
34812
34813 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34814 using "cursor-on" and "cursor-off" commands (understood at least by
34815 the Open Firmware flavour on OLPC).
34816
41305bc8 348172008-05-31 Michael Gorven <michael@gorven.za.net>
34818
34819 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34820 on and off sequences.
34821
69ba137e 348222008-05-31 Robert Millan <rmh@aybabtu.com>
34823
34824 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34825 * util/update-grub.in: Likewise.
34826
520ae21b 348272008-05-30 Pavel Roskin <proski@gnu.org>
34828
34829 * util/biosdisk.c (linux_find_partition): Simplify logic and
34830 make the code more universal. Keep special processing for
34831 devfs, but use a simple rule for all other devices. If the
34832 device ends with a number, append 'p' and the partition number.
34833 Otherwise, append only the partition number.
34834
5786569b 348352008-05-30 Robert Millan <rmh@aybabtu.com>
34836
34837 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34838 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34839 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34840 the `root' parameter to Linux.
34841
51500452 348422008-05-30 Robert Millan <rmh@aybabtu.com>
34843
34844 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34845 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34846 --fs_uuid with --fs-uuid.
34847 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34848 all filesystems support them).
34849
811d3878 348502008-05-30 Robert Millan <rmh@aybabtu.com>
34851
34852 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34853 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34854
cab63c95 348552008-05-30 Robert Millan <rmh@aybabtu.com>
34856
34857 * util/grub.d/00_header.in: Remove obsolete comment referencing
34858 convert_system_path_to_grub_path().
34859 * util/update-grub.in: Likewise.
34860 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34861 (convert_system_path_to_grub_path): Add a warning message explaining
34862 that this function is deprecated. Rely on is_path_readable_by_grub()
34863 for the readability checks.
34864 (font_path): Use is_path_readable_by_grub() for the readability
34865 check rather than convert_system_path_to_grub_path().
34866
972e2f7a 348672008-05-30 Robert Millan <rmh@aybabtu.com>
34868
34869 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34870 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34871 converting it first.
34872 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34873 grub.cfg for access to font file, and afterwards call it again to set
34874 the root device.
34875
62191274 348762008-05-30 Robert Millan <rmh@aybabtu.com>
34877
34878 * commands/search.c (options): Add --fs_uuid option.
34879 (search_fs_uuid): New function.
34880 (grub_cmd_search): Fix --set argument passing.
34881 Use search_fs_uuid() when requested via --fs_uuid.
34882 (grub_search_init): Update help message.
34883 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34884 and redeclare it as an array of 16-bit words.
34885 (grub_ext2_uuid): New function.
34886 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34887 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34888 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34889 (GRUB_DEVICE_BOOT_UUID): New variables.
34890 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34891 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34892 whenever possible.
34893 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34894 just assume `root' variable has the right value.
34895 * util/grub.d/10_linux.in: Likewise.
34896 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34897 via PRINT_FS_UUID.
34898 (main): Recognise `-t fs_uuid' argument.
34899
01b73ec8 349002008-05-30 Robert Millan <rmh@aybabtu.com>
34901
34902 * util/biosdisk.c (map): Redefine structure to hold information
34903 about GRUB drive name.
fe6b695a 34904 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34905 drive names.
34906 (call_hook): Remove.
34907 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34908 member. Assume drive has partitions.
34909 (grub_util_biosdisk_open): Access device names via `.device' struct
34910 member.
34911 (open_device): Likewise.
34912 (find_drive): Likewise.
34913 (read_device_map): Adjust map[] usage to match the new struct
34914 definition. Don't check for duplicates (still possible, but not cheap
34915 anymore).
34916 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34917 (make_device_name): Remove assumption of BIOS-like drive names.
34918
22f16596 349192008-05-30 Pavel Roskin <proski@gnu.org>
34920
34921 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34922 compiling execute.c doesn't need grub_script.tab.h anymore.
34923 (normal/command.c_DEPENDENCIES): Likewise.
34924 (normal/function.c_DEPENDENCIES): Likewise.
34925 * conf/i386-ieee1275.rmk: Likewise.
34926 * conf/i386-linuxbios.rmk: Likewise.
34927 * conf/i386-pc.rmk: Likewise.
34928 * conf/powerpc-ieee1275.rmk: Likewise.
34929 * conf/sparc64-ieee1275.rmk: Likewise.
34930
528ad8f2 349312008-05-29 Pavel Roskin <proski@gnu.org>
34932
d1dff95d 34933 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34934 when scanning metadata for volume group name.
34935
528ad8f2 34936 * include/grub/script.h: Don't include grub_script.tab.h. It's
34937 a generated file, which may only be included from the files with
34938 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34939 use union YYSTYPE, as the later allows forward declaration.
34940 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34941
47248e08 349422008-05-29 Robert Millan <rmh@aybabtu.com>
34943
34944 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34945 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34946 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34947 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34948 scan codes.
34949
ee632529 349502008-05-29 Robert Millan <rmh@aybabtu.com>
34951
34952 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34953 control key combinations.
34954
eee96e08 349552008-05-29 Robert Millan <rmh@aybabtu.com>
34956
34957 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34958 * util/ieee1275/grub-install.in: ... to here.
34959 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34960 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34961 (grub_install_SOURCES): Likewise.
34962
da9a6a94 349632008-05-29 Robert Millan <rmh@aybabtu.com>
34964
34965 * fs/affs.c: Update copyright year.
34966 * fs/ext2.c: Likewise.
34967 * fs/fshelp.c: Likewise.
34968 * fs/hfsplus.c: Likewise.
34969 * fs/ntfs.c: Likewise.
34970 * fs/xfs.c: Likewise.
34971 * include/grub/fshelp.h: Likewise.
34972 * util/grub-mkdevicemap.c: Likewise.
34973
12e65f3a 349742008-05-28 Robert Millan <rmh@aybabtu.com>
34975
34976 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34977 might need to be fatfs to support some firmware implementations
34978 (e.g. OFW or EFI).
34979
23023641 349802008-05-28 Robert Millan <rmh@aybabtu.com>
34981
34982 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34983 devices.
34984 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34985 (make_device_map): Likewise.
34986
887d2619 349872008-05-20 Bean <bean123ch@gmail.com>
34988
34989 * fs/fshelp.c (grub_fshelp_map_block): New function.
34990 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34991 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34992
34993 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34994 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34995 (grub_fshelp_journal): New structure.
34996 (grub_fshelp_map_block): New function prototype.
34997 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34998 (grub_fshelp_map_block): Likewise.
34999
35000 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35001 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35002 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35003 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35004 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35005 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35006 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35007 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35008 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35009 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35010 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35011 (grub_ext2_sblock): New members for journal support.
35012 (grub_ext3_journal_header): New structure.
35013 (grub_ext3_journal_revoke_header): Likewise.
35014 (grub_ext3_journal_block_tag): Likewise.
35015 (grub_ext3_journal_sblock): Likewise.
35016 (grub_fshelp_node): New members logfile and journal.
35017 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35018 grub_fshelp_map_block to get real block number.
35019 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35020 number.
35021 (grub_ext2_read_inode): Likewise.
35022 (grub_ext3_get_journal): New function.
35023 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35024 (grub_ext2_close): Release memory used by journal.
35025
35026 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35027 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35028 (grub_reiserfs_transaction_header): Renamed to
35029 grub_reiserfs_description_block, replace field data with real_blocks.
35030 (grub_reiserfs_commit_block): New structure.
35031 (grub_reiserfs_data): New member journal.
35032 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35033 number.
35034 (grub_reiserfs_read_symlink): Likewise.
35035 (grub_reiserfs_iterate_dir): Likewise.
35036 (grub_reiserfs_open): Likewise.
35037 (grub_reiserfs_read): Likewise.
35038 (grub_reiserfs_get_journal): New function.
35039 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35040 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35041 using grub_reiserfs_get_journal.
35042 (grub_reiserfs_close): Release memory used by journal.
35043
35044 * fs/affs.c (grub_affs_read_block): Change block type to
35045 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35046
35047 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35048
35049 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35050
35051 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35052
35053 * fs/udf.c (grub_udf_read_block): Change block type to
35054 grub_disk_addr_t. Use type cast to avoid warning.
35055
35056 * fs/xfs.c (grub_xfs_read_block): Likewise.
35057
b7c6bed5 350582008-05-16 Christian Franke <franke@computer.org>
35059
35060 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35061 to ensure that break with ESC will always work.
35062 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35063 Remove ESC from keyboard queue.
35064
eedf167f 350652008-05-16 Christian Franke <franke@computer.org>
35066
35067 * util/biosdisk.c: [__CYGWIN__] Add includes.
35068 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35069 (get_os_disk): Move variable declarations to OS specific
35070 parts to avoid warning.
35071 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35072 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35073 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35074 Cygwin.
35075 * util/getroot.c: [__CYGWIN__] Add includes.
35076 (strip_extra_slashes): Fix "/" case.
35077 [__CYGWIN__] (get_win32_path): New function.
35078 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35079 [__CYGWIN__] (find_root_device): Disable.
35080 [__CYGWIN__] (get_bootsec_serial): New function.
35081 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35082 [__linux__] (grub_guess_root_device): Add early returns to simplify
35083 structure.
35084 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35085 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35086 check for Linux only.
35087
a079699e 350882008-05-15 Bean <bean123ch@gmail.com>
35089
35090 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35091 keyboard hang problem in apple's intel mac.
35092
1cf4059a 350932008-05-09 Robert Millan <rmh@aybabtu.com>
35094
35095 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35096 devices.
35097 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35098 (make_device_map): Likewise.
35099 Reported by Aurelien Jarno <aurel32@debian.org>
35100
ed759390 351012008-05-07 Ian Campbell <ijc@hellion.org.uk>
35102
35103 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35104 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35105 (make_device_map): Output entries for xvd type disks.
35106
b56c4eaa 351072008-05-07 Robert Millan <rmh@aybabtu.com>
35108
35109 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35110 devices.
35111 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35112 (make_device_map): Likewise.
35113 Reported by Roland Dreier <rdreier@cisco.com>
35114
7f8866ed 351152008-05-07 Robert Millan <rmh@aybabtu.com>
35116
35117 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35118 grub_strstr() call. Correct a few mistakes in failure path handling.
35119
b0346e0f 351202008-05-06 Robert Millan <rmh@aybabtu.com>
35121
35122 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35123 Do not print a trailing slash (therefore, the root directory is an
35124 empty string).
35125 (convert_system_path_to_grub_path): Do not remove trailing slash
35126 from make_system_path_relative_to_its_root() output.
35127
35128 * util/i386/pc/grub-install.in: Add trailing slash to output from
35129 make_system_path_relative_to_its_root().
35130
6cf12cbd 351312008-05-06 Robert Millan <rmh@aybabtu.com>
35132
35133 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35134 ensures that output lines aren't intermangled with those sent to
35135 stderr (via grub_util_info()).
35136 * util/grub-probe.c (grub_refresh): Likewise.
35137 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35138
0fbb3117 351392008-05-05 Christian Franke <franke@computer.org>
35140
35141 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35142 Add Cygwin device names.
35143 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35144 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35145 (check_device): Return error instead of success on empty name.
35146 (make_device_map): Move label inside linux specific code to
35147 prevent compiler warning.
35148
8124cdb7 351492008-04-30 Robert Millan <rmh@aybabtu.com>
35150
35151 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35152 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35153 first boot option.
35154 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35155
094c01d0 351562008-04-29 Robert Millan <rmh@aybabtu.com>
35157
35158 * docs/grub.cfg: New file (example GRUB configuration).
35159
f4b1fc02 351602008-04-26 Robert Millan <rmh@aybabtu.com>
35161
329ce2a5 35162 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35163 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35164 and `disk/ieee1275/nand.c'.
f4b1fc02 35165
25f16ec1 351662008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 35167
25f16ec1 35168 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35169 i386-linuxbios.
35170
35171 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35172 change the buffer size to 4096 for cdrom device.
35173
35174 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35175 and nand.mod.
35176 (_linux_mod_SOURCES): New variable.
35177 (_linux_mod_CFLAGS): Likewise.
35178 (_linux_mod_LDFLAGS): Likewise.
35179 (linux_mod_SOURCES): Likewise.
35180 (linux_mod_CFLAGS): Likewise.
35181 (linux_mod_LDFLAGS): Likewise.
35182 (nand_mod_SOURCES): Likewise.
35183 (nand_mod_CFLAGS): Likewise.
35184 (nand_mod_LDFLAGS): Likewise.
35185
35186 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35187 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35188 type property. (nand device in olpc don't have this property)
35189
35190 * include/grub/disk.h (grub_disk_dev_id): New macro
35191 GRUB_DISK_DEVICE_NAND_ID.
35192
35193 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35194 function prototype.
35195 (grub_rescue_cmd_initrd): Likewise.
35196
35197 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35198 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35199 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 35200
25f16ec1 35201 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35202 GRUB_MACHINE_IEEE1275 is defined.
35203
35204 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35205 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35206
35207 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35208 on nested function heap_init.
35209 (grub_upper_mem): New variable for i386-ieee1275.
35210 (grub_get_extended_memory): New function for i386-ieee1275.
35211 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35212
35213 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35214 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35215 property.
f19dbdb7 35216
25f16ec1 35217 * loader/i386/ieee1275/linux.c: New file.
35218
35219 * loader/i386/ieee1275/linux_normal.c: New file.
35220
35221 * disk/ieee1275/nand.c: New file.
35222
e89d61e9 352232008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35224
35225 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35226 value.
35227 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35228
602566f6 352292008-04-18 Robert Millan <rmh@aybabtu.com>
35230
35231 Restructures early code path on ieee1275 to unify grub_main() as
35232 the first C function that is executed in every platform.
35233
35234 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35235 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35236 cmain().
35237 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35238 * kern/ieee1275/cmain.c (cmain): Rename to ...
35239 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35240 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35241 at the beginning.
35242
57490c2b 352432008-04-18 Robert Millan <rmh@aybabtu.com>
35244
35245 * util/update-grub.in: Fix syntax error when setting
35246 `GRUB_PRELOAD_MODULES'.
35247 Reported by Stephane Chazelas <stephane@artesyncp.com>
35248
1977517d 352492008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35250
35251 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35252 section into account, newer toolchains generate unique build ids
35253 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 35254 we want build ids to be preserved
1977517d 35255 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
35256 far from other sections don't cause the raw binary images grow
35257 size
35258
bfb1f1a2 352592008-04-15 Robert Millan <rmh@aybabtu.com>
35260
35261 * disk/lvm.c: Update copyright year.
35262 * kern/misc.c: Likewise.
35263
01979850 352642008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35265
35266 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 35267 there is no memory left for physical volume name.
01979850 35268
0a1150e2 352692008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35270
35271 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
35272 volume name mapping to support bigger than 9 character names properly.
35273
82ead3fe 352742008-04-13 Robert Millan <rmh@aybabtu.com>
35275
35276 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
35277 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
35278
e54a72f5 352792008-04-13 Christian Franke <franke@computer.org>
35280
35281 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
35282 to create a floppy emulation boot CD when non emulation mode
35283 does not work.
35284 Enable Joliet CD filesystem extension.
35285
9fe86034 352862008-04-13 Robert Millan <rmh@aybabtu.com>
35287
35288 * kern/misc.c (grub_strncat): Fix off-by-one error.
35289 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
35290
35291 * kern/env.c (grub_env_context_close): Clear current context, not
35292 previous one.
35293 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
35294
35295 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
35296
7ceeee39 352972008-04-13 Robert Millan <rmh@aybabtu.com>
35298
35299 Improve robustness when handling LVM.
35300
35301 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 35302 (and leave `*p' unmodified).
7ceeee39 35303 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
35304 through it.
35305 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
35306 iterating through it.
35307 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
35308 through it.
fe6b695a 35309 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 35310 when due) on each grub_lvm_getvalue() or grub_strstr() call.
35311 Don't assume `vg->pvs != NULL' when iterating through it.
35312
58cd3d85 353132008-04-13 Robert Millan <rmh@aybabtu.com>
35314
35315 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
35316 * genmk.rb (partmap): New variable.
35317 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
35318 (#{partmap}): New target rule.
35319 * genpartmaplist.sh: New file.
35320 * Makefile.in (pkglib_DATA): Add partmap.lst.
35321 (partmap.lst): New target rule.
35322 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
35323 modules (including all partition maps), instead of preloading them.
35324
78b51059 353252007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
35326
35327 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
35328 `linux-boot-prober' (if installed) to detect other operating
35329 systems which are installed on the computer and add them to
35330 the boot menu.
35331 * conf/common.rmk: Build and install 30_os-prober.
35332
a91627b4 353332008-04-12 Robert Millan <rmh@aybabtu.com>
35334
35335 * kern/powerpc/ieee1275/init.c: Move from here ...
35336 * kern/ieee1275/init.c: ... to here. Update all users.
35337
35338 * kern/powerpc/ieee1275/cmain.c: Move from here ...
35339 * kern/ieee1275/cmain.c: ... to here. Update all users.
35340
35341 * kern/powerpc/ieee1275/openfw.c: Move from here ...
35342 * kern/ieee1275/openfw.c: ... to here. Update all users.
35343
35344 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
35345 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
35346
322562ea 353472008-04-10 Pavel Roskin <proski@gnu.org>
35348
35349 * configure.ac: Always use "_cv_" in cache variables for
35350 compatibility with Autoconf 2.62.
35351
a02a73c5 353522008-04-07 Robert Millan <rmh@aybabtu.com>
35353
35354 Revert grub/machine/init.h addition by Pavel (since it breaks on
35355 i386-ieee1275 and others):
35356 * util/i386/pc/misc.c: Remove grub/machine/init.h.
35357 * util/powerpc/ieee1275/misc.c: Likewise.
35358
25c024b1 353592008-04-07 Robert Millan <rmh@aybabtu.com>
35360
35361 * util/grub-probe.c (probe): Improve error message.
35362
3cbd2f98 353632008-04-07 Robert Millan <rmh@aybabtu.com>
35364
35365 * util/biosdisk.c (read_device_map): Skip devices that don't exist
35366 (this prevents the presence of a bogus entry from ruining the whole
35367 thing).
35368
87a297bf 353692008-04-06 Pavel Roskin <proski@gnu.org>
35370
36747a62 35371 * util/biosdisk.c: Include grub/util/biosdisk.h.
35372 * util/grub-fstest.c (execute_command): Make static.
35373 * util/grub-mkdevicemap.c (check_device): Likewise.
35374 * util/i386/pc/misc.c: Include grub/machine/init.h.
35375 * util/powerpc/ieee1275/misc.c: Likewise.
35376 * util/lvm.c: Include grub/util/lvm.h.
35377 * util/misc.c: Include grub/kernel.h, grub/misc.h and
35378 grub/cache.h.
35379 * util/raid.c: Include grub/util/raid.h.
35380 (grub_util_getdiskname): Make static.
35381
87a297bf 35382 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
35383 grub_hostfs_fini(), as they are called from grub_init_all() and
35384 grub_fini_all() respectively. This fixes an infinite loop in
35385 grub-fstest due to double registration of hostfs.
35386 Reported by Christian Franke <Christian.Franke@t-online.de>
35387
f6ce7629 353882008-04-05 Pavel Roskin <proski@gnu.org>
35389
35390 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
35391 all 8 functions. Otherwise, probe function 0 only.
35392
070e49e4 353932008-04-04 Pavel Roskin <proski@gnu.org>
35394
8b088a4c 35395 * commands/lspci.c (grub_lspci_iter): Print the bus number
35396 correctly.
35397
4f657021 35398 * commands/lspci.c (grub_pci_classes): Fix typos.
35399 (grub_lspci_iter): Don't print func twice. Print vendor ID
35400 before device ID, as it's normally done.
35401
070e49e4 35402 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35403 Fix signedness warnings.
35404 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
35405 Likewise.
35406 * util/ieee1275/get_disk_name.c: Include config.h so that
35407 _GNU_SOURCE is defined and getline() is declared. Mark an
35408 unused argument as such. Fix a signedness warning.
35409
ba7328dc 354102008-04-02 Pavel Roskin <proski@gnu.org>
35411
26887f22 35412 * genkernsyms.sh.in: Use more robust assignments for CC and
35413 srcdir. Quote srcdir.
35414 * gensymlist.sh.in: Likewise. Assert at the compile time that
35415 the symbol table is not empty.
35416
ba7328dc 35417 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
35418 * fs/cpio.c (grub_cpio_read): Likewise.
35419
0f582c6b 354202008-04-01 Pavel Roskin <proski@gnu.org>
35421
4b6e1995 35422 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
35423 * disk/host.c (grub_host_open): Likewise.
35424 * disk/loopback.c (grub_loopback_open): Likewise.
35425 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
35426 disk->id as in disk/host.c, not a multi-character constant.
35427
828a2768 35428 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
35429 later is obsolete, potentially dangerous and sets a bad example.
35430 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
35431 * util/misc.c (grub_util_get_image_size): Likewise.
35432
2bb4fb47 35433 * disk/loopback.c (options): Improve help for "--partitions".
35434
0f582c6b 35435 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
35436 options to align them with the short options, e.g. "echo -e".
35437
a33224e0 354382008-03-31 Bean <bean123ch@gmail.com>
35439
35440 * video/reader/png.c (grub_png_data): New member is_16bit and
35441 image_data.
35442 (grub_png_decode_image_header): Detect 16 bit png image.
35443 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
35444 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
35445 (grub_video_reader_png): Release memory occupied by image_data.
35446
35447 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
35448 4096 bytes.
35449 (grub_nfs_mount): Skip the test for sector per cluster.
35450
35451 * include/grub/ntfs.h (MAX_SPC): Removed.
35452
86cb4f54 354532008-03-31 Bean <bean123ch@gmail.com>
35454
35455 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
35456 (grub_probe_SOURCES): Add fs/afs.c.
35457 (grub_fstest_SOURCES): Likewise.
35458 (afs_mod_SOURCES): New variable.
35459 (afs_mod_CFLAGS): Likewise.
35460 (afs_mod_LDFLAGS): Likewise.
35461
35462 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
35463 (grub_emu_SOURCES): Likewise.
35464
35465 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35466
35467 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35468
35469 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35470
35471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35472
35473 * fs/afs.c: New file.
35474
17c74c21 354752008-03-30 Pavel Roskin <proski@gnu.org>
35476
4cb68e89 35477 * disk/host.c: Include grub/misc.h to fix a warning.
35478 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
35479 warnings about implicit declarations.
35480
8790bb04 35481 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
35482 variable.
35483 * include/grub/i386/loader.h: Change declaration of
35484 grub_linux_boot() to match what grub_loader_set() expects.
35485 * util/getroot.c (grub_guess_root_device): Return const char* to
35486 fix a warning.
35487 * util/grub-probe.c (probe): Fix a warning about uninitialized
35488 abstraction_name variable.
35489 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
35490 second argument as unused to fix a warning.
35491
9a3f3296 35492 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
35493 missing grub_error() call.
35494
0ecef90d 35495 * util/update-grub_lib.in: Define datarootdir, since Autoconf
35496 2.60 and newer uses it to define datadir.
35497
0bf6d401 35498 * commands/sleep.c: Fix warning about implicit declaration.
35499 * disk/memdisk.c: Likewise.
35500 * loader/aout.c: Likewise.
35501 * loader/i386/bsd_normal.c: Likewise.
35502 * util/grub-probe.c: Likewise.
35503
7cdacf97 35504 * commands/i386/cpuid.c (has_longmode): Make static.
35505 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
35506 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
35507
17c74c21 35508 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
35509 GDT. This is more robust, as %ds can change.
35510 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
35511 calling real_to_prot().
35512 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
35513
80a3e68b 355142008-03-28 Pavel Roskin <proski@gnu.org>
35515
35516 * kern/i386/pc/startup.S: Assert that uncompressed functions
35517 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
35518 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
35519 code, as they push parts of the code (error handlers) beyond
35520 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
35521 code as correctness and size.
35522
77bcd272 355232008-03-28 Pavel Roskin <proski@gnu.org>
35524
35525 * kern/i386/pc/startup.S
35526 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
35527 data block address to the real mode, keep offset minimal. This
35528 works around a bug in AWARD BIOS on old Athlon systems, which
35529 makes CD detection hang.
35530
c5dfd43b 355312008-03-26 Pavel Roskin <proski@gnu.org>
35532
35533 * normal/color.c (grub_parse_color_name_pair): Make `name' a
35534 const.
35535 * include/grub/normal.h: Add grub_parse_color_name_pair()
35536 declaration.
35537
bf962df2 355382008-03-24 Bean <bean123ch@gmail.com>
35539
35540 * disk/i386/pc/biosdisk.c (cd_start): Removed.
35541 (cd_count): Removed.
35542 (cd_drive): New variable.
35543 (grub_biosdisk_get_drive): Don't check for (cdN) device.
35544 (grub_biosdisk_call_hook): Likewise.
35545 (grub_biosdisk_iterate): Change cdrom detection method.
35546 (grub_biosdisk_open): Replace cd_start with cd_drive.
35547 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
35548 detect cdrom device.
35549
35550 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
35551 Removed.
35552 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
35553 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
35554 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
35555 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
35556 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
35557 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
35558 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
35559 (grub_biosdisk_cdrp): New structure.
35560 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
35561
35562 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
35563
35564 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
35565 device.
35566
35567 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
35568 New function.
35569
68e7fc7a 355702008-03-20 Robert Millan <rmh@aybabtu.com>
35571
35572 Remove 2 TiB limit in ata.mod.
35573 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
35574 (grub_ata_dumpinfo): Print sector count with 0x%llx.
35575 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
35576 grub_uint64_t instead of grub_uint32_t.
35577
38ad2cf5 355782008-03-05 Bean <bean123ch@gmail.com>
35579
35580 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
35581 (grub_multiboot): Set boot device.
35582
35583 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
35584
2b89344e 355852008-03-02 Bean <bean123ch@gmail.com>
35586
35587 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
35588 symlink_buffer.
35589
87a95d1f 355902008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
35591
35592 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
35593 texinfo.tex.
35594
35595 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
35596 modified.
35597
35598 * docs/fdl.texi: New file.
f19dbdb7 35599
87a95d1f 35600 * docs/mdate-sh: New file. Copied from gnulib.
35601 * docs/texinfo.tex: Likewise.
35602
35603 * config.guess: Updated from gnulib.
35604 * install-sh: Likewise.
35605
7dc15d8e 356062008-02-28 Robert Millan <rmh@aybabtu.com>
35607
35608 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
35609 (aout_mod_SOURCES): New variable.
35610 (aout_mod_CFLAGS): Likewise.
35611 (aout_mod_LDFLAGS): Likewise.
35612
35613 * conf/i386-ieee1275.rmk: Likewise.
35614
b00ab696 356152008-02-28 Robert Millan <rmh@aybabtu.com>
35616
35617 * util/update-grub.in: Reorganise terminal validity check. Accept
35618 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
35619 Based on suggestion by Franklin PIAT.
35620
79ca2d78 356212008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
35622
35623 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35624 function.
35625 * util/getroot.c (grub_util_check_block_device): New function that
35626 returns the given argument if it is a block device and returns NULL else.
35627 * util/grub-probe.c (argument_is_device): New variable.
35628 (probe): Promote device_name from a variable to an argument. Receive
35629 device_name from grub_util_check_block_device() if path is NULL and from
35630 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35631 (options): Introduce new parameter '-d, --device'.
79ca2d78 35632 (main): Add description of the new parameter to the help screen.
35633 Rename path variable to argument. Set argument_is_device if the '-d'
35634 option is given. Pass argument to probe() depending on
35635 argument_is_device.
35636
0d16e571 356372008-02-24 Bean <bean123ch@gmail.com>
35638
35639 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35640 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35641 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35642 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35643 (GRUB_ISO9660_VOLDESC_END): Likewise.
35644 (grub_iso9660_primary_voldesc): New member escape.
35645 (grub_iso9660_data): New member joliet.
35646 (grub_iso9660_convert_string): New function.
35647 (grub_iso9660_mount): Detect joliet extension.
35648 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35649 (grub_iso9660_iso9660_label): Likewise.
35650
35651 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35652 (grub_setup_SOURCES): Add fs/udf.c.
35653 (grub_fstest_SOURCES): Likewise.
35654 (udf_mod_SOURCES): New variable.
35655 (udf_mod_CFLAGS): Likewise.
35656 (udf_mod_LDFLAGS): Likewise.
35657
35658 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35659 (grub_emu_SOURCES): Likewise.
35660
35661 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35662
35663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35664
35665 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35666
35667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35668
35669 * fs/udf.c: New file.
35670
8a594a17 356712008-02-24 Robert Millan <rmh@aybabtu.com>
35672
35673 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35674 (normal/lexer.c_DEPENDENCIES): New variables.
35675 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35676 (normal/lexer.c_DEPENDENCIES): Likewise.
35677 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35678 (normal/lexer.c_DEPENDENCIES): Likewise.
35679 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35680 (normal/lexer.c_DEPENDENCIES): Likewise.
35681 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35682 (normal/lexer.c_DEPENDENCIES): Likewise.
35683 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35684 (normal/lexer.c_DEPENDENCIES): Likewise.
35685
2dc33c03 356862008-02-23 Robert Millan <rmh@aybabtu.com>
35687
35688 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35689 since they were intended to be in hex. This didn't break previously
35690 because of a bug in gpt_partition_map_iterate() (see below).
35691
35692 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35693 when checking the validity of GPT header.
35694 Remove `partno', since it always provides the same information as `i'.
35695
f6f4cfb0 356962008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35697
35698 * include/grub/efi/time.h: Fix a wrong comment.
35699
79ff665f 357002008-02-19 Pavel Roskin <proski@gnu.org>
35701
35702 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35703 message.
35704
d38e24c2 357052008-02-19 Bean <bean123ch@gmail.com>
35706
35707 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35708 (aout_mod_SOURCES): New variable.
35709 (aout_mod_CFLAGS): Likewise.
35710 (aout_mod_LDFLAGS): Likewise.
35711 (_bsd_mod_SOURCES): New variable.
35712 (_bsd_mod_CFLAGS): Likewise.
35713 (_bsd_mod_LDFLAGS): Likewise.
35714 (bsd_mod_SOURCES): New variable.
35715 (bsd_mod_CFLAGS): Likewise.
35716 (bsd_mod_LDFLAGS): Likewise.
35717
35718 * include/grub/aout.h: New file.
35719
35720 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35721
35722 * include/grub/i386/bsd.h: New file.
35723
35724 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35725 to make it public.
35726
35727 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35728 function is called, so that it's possible to change it inside the hook.
35729 (grub_elf64_load): Likewise.
35730 (grub_elf_file): Don't close the file if elf header is not found.
35731 (grub_elf_close): Close the file if grub_elf_file fails (The new
35732 grub_elf_file won't close it).
35733 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35734 (grub_elf64_size): Likewise.
35735
35736 * kern/i386/loader.S (grub_unix_real_boot): New function.
35737
35738 * loader/aout.c: New file.
35739
35740 * loader/i386/bsd.c: New file.
35741
35742 * loader/i386/bsd_normal.c: New file.
35743
35744 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35745
35746 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35747 can test other formats.
d38e24c2 35748
b93bdb0f 357492008-02-19 Robert Millan <rmh@aybabtu.com>
35750
35751 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35752 (grub_gpt_partition_type_empty): Redefine with macro from
35753 `<grub/gpt_partition.h>'.
35754 (gpt_partition_map_iterate): Adjust partition type comparison.
35755
35756 Export `entry' as partmap-specific `part.data' struct.
35757 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35758
35759 * include/grub/gpt_partition.h (grub_gpt_header)
35760 (grub_gpt_partentry): ... to here (new file).
35761
35762 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35763
35764 (grub_gpt_partition_type_bios_boot): New const variable, defined
35765 with macro from `<grub/gpt_partition.h>'.
35766
35767 (setup): Replace `first_start' with `embed_region', which keeps
35768 track of the embed region (and is partmap-agnostic).
35769
35770 Replace find_first_partition_start() with find_usable_region(),
35771 which finds a usable region for embedding using partmap-specific
35772 knowledge (supports PC/MSDOS and GPT).
35773
35774 Fix all assumptions that the embed region start at sector 1, using
35775 `embed_region.start' from now on. Similarly, use `embed_region.end'
35776 rather than `first_start' to calculate available size.
35777
35778 In grub_util_info() message, replace "into after the MBR" with an
35779 indication of the specific sector our embed region starts at.
35780
66cb40f6 357812008-02-19 Robert Millan <rmh@aybabtu.com>
35782
35783 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35784 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35785 `commands/reboot.c'.
35786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35787 (halt_mod_SOURCES): Likewise.
35788 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35789 (halt_mod_SOURCES): Likewise.
35790
b7202015 357912008-02-17 Christian Franke <franke@computer.org>
35792
35793 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35794
32b0fc49 357952008-02-17 Robert Millan <rmh@aybabtu.com>
35796
35797 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35798 set `first_start' to 0 for non-PC/MSDOS partition maps.
35799
aca63502 358002008-02-16 Robert Millan <rmh@aybabtu.com>
35801
35802 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35803 do not assume partition map is PC/MSDOS before performing checks that
35804 are specific to that layout.
35805
0de8be86 358062008-02-13 Robert Millan <rmh@aybabtu.com>
35807
35808 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35809 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35810 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35811
c3db8364 358122008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35813
35814 * configure.ac: Only a cosmetic change on the handling of
35815 -fno-stack-protector.
35816
f714229e 358172008-02-12 Alexandre Boeglin <alex@boeglin.org>
35818
c3db8364 35819 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35820 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35821 reboot.c.
f714229e 35822 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35823 (halt_mod_SOURCES): New variable.
35824 (halt_mod_CFLAGS): Likewise.
35825 (halt_mod_LDFLAGS): Likewise.
35826 (reboot_mod_SOURCES): Likewise.
35827 (reboot_mod_CFLAGS): Likewise.
35828 (reboot_mod_LDFLAGS): Likewise.
35829
c3db8364 35830 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35831 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35832 reboot.c.
f714229e 35833 (halt_mod_SOURCES): Likewise.
35834 (reboot_mod_SOURCES): Likewise.
35835
c3db8364 35836 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35837 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35838 (reboot_mod_SOURCES): Likewise.
35839
35840 * commands/i386/pc/reboot.c: merge this file ...
35841
35842 * commands/ieee1275/reboot.c: ... and this file ...
35843
35844 * commands/reboot.c: ... to this file.
c3db8364 35845 Add some precompiler directive to include the correct header for
35846 each machine.
f714229e 35847
35848 * commands/ieee1275/halt.c: move this file ...
35849
35850 * commands/halt.c: ... to here.
c3db8364 35851 Add some precompiler directive to include the correct header for
35852 each machine.
f714229e 35853
35854 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35855 (grub_halt): Likewise.
35856
35857 * kern/efi/efi.c (grub_reboot): New function.
35858 (grub_halt): Likewise.
35859
c74493e0 358602008-02-12 Robert Millan <rmh@aybabtu.com>
35861
35862 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35863 /dev (like it is done for /dev/mapper). This doesn't provide support
35864 for EVMS, but at least it is now easy to identify the problem when it
35865 arises.
35866
d0db4b04 358672008-02-11 Robert Millan <rmh@aybabtu.com>
35868
35869 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35870 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35871 comparing it with -1, not 0.
35872
bf748642 358732008-02-10 Robert Millan <rmh@aybabtu.com>
35874
35875 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35876 `disk/lvm.c'.
35877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35878 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35879
35880 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35881 `disk/lvm.c' to the end of the list.
35882 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35883 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35884
b5db202a 358852008-02-10 Robert Millan <rmh@aybabtu.com>
35886
35887 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35888 grub_print_error() instead. This will let user know why we're entering
35889 rescue mode.
35890 Based on suggestions from Sam Morris.
35891
83abee31 358922008-02-10 Alexandre Boeglin <alex@boeglin.org>
35893
35894 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35895 on remaining N args, instead of "--" arg N times.
35896
78d5a08b 358972008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35898
35899 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35900 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35901 pattern for unknown glyphs.
35902
68807e5f 359032008-02-09 Robert Millan <rmh@aybabtu.com>
35904
35905 * configure.ac: Probe for `help2man'.
35906 * Makefile.in (builddir): New variable.
35907 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35908 or otherwise add a few flags/options to it.
35909 (install-local): For every executable utility or script that is
35910 installed, invoke $(HELP2MAN) to install a manpage based on --help
35911 output.
35912
35913 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35914 that it doesn't prevent --help from working in build tree.
35915
35916 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35917 with `bug-grub@gnu.org'.
35918 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35919 * util/update-grub.in (usage): New function.
35920 Implement proper argument check, with support for --help and --version
35921 (as well as existing -y).
35922
359232008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35924
35925 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35926 avoid overwriting previous output.
35927 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35928
c1962162 359292008-02-09 Robert Millan <rmh@aybabtu.com>
35930
35931 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35932 drawing the menu.
35933
3dac2e3f 359342008-02-09 Robert Millan <rmh@aybabtu.com>
35935
35936 * commands/sleep.c: New file.
35937 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35938 (sleep_mod_SOURCES): New variable.
35939 (sleep_mod_CFLAGS): Likewise.
35940 (sleep_mod_LDFLAGS): Likewise.
35941
7a634e08 359422008-02-09 Robert Millan <rmh@aybabtu.com>
35943
35944 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35945 situations in which we can deduce the RAID size and the superblock
35946 doesn't match it.
35947
b92f0c18 359482008-02-09 Robert Millan <rmh@aybabtu.com>
35949
35950 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35951 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35952 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35953
35954 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35955 and return a grub_diskmemberlist_t composed of physical array members.
35956 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35957
35958 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35959 prototype.
35960 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35961 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35962 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35963
35964 * util/grub-probe.c (probe): Move partmap probing code from here ...
35965 (probe_partmap): ... to here.
35966 (probe): Use probe_partmap() once for the disk we're probing, and
35967 additionally, when such disk contains a memberlist() struct member,
35968 once for each disk that is contained in the structure returned by
35969 memberlist().
35970
91a4bf68 359712008-02-09 Robert Millan <rmh@aybabtu.com>
35972
35973 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35974 environment variable to 'all' in order to obtain debug output from
35975 non-util/ code.
35976 * util/i386/pc/grub-setup.c (main): Likewise.
35977
a96f9caa 359782008-02-08 Robert Millan <rmh@aybabtu.com>
35979
35980 * disk/raid.c (grub_raid_scan_device): Check for
35981 `array->device[sb.this_disk.number]' rather than for
35982 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35983 guaranteed to be accessible.
a96f9caa 35984
b37a9222 359852008-02-08 Robert Millan <rmh@aybabtu.com>
35986
35987 * disk/raid.c: Update copyright.
35988 * fs/cpio.c: Likewise.
35989 * include/grub/raid.h: Likewise.
35990 * loader/i386/pc/multiboot.c: Likewise.
35991 * util/hostfs.c: Likewise.
35992
5626aee1 359932008-02-08 Robert Millan <rmh@aybabtu.com>
35994
35995 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35996 to a grub_disk_t array.
35997 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35998 `device[x]'.
35999 (grub_raid_scan_device): Replace `device[x].name' accesses with
36000 `device[x]->name'. Simplify initialization of `array->device[x]'.
36001
554f0187 360022008-02-08 Robert Millan <rmh@aybabtu.com>
36003
36004 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36005 grub_dprintf() calls.
36006 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36007 error message.
36008
1ec8425d 360092008-02-07 Christian Franke <franke@computer.org>
36010
36011 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36012 instead of fseek and ftell to support large files.
36013 (grub_hostfs_read): Likewise.
36014
f2156fda 360152008-02-07 Robert Millan <rmh@aybabtu.com>
36016
36017 Patch from Jeroen Dekkers.
36018 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 36019 failure, since successfully reading all array members might not be
f2156fda 36020 required.
36021
9216e0e7 360222008-02-06 Robert Millan <rmh@aybabtu.com>
36023
36024 * util/grub-probe.c (probe): Simplify partmap probing (with the
36025 assumption that the first word up to the underscore equals to
36026 the module name).
36027
b0dfd29a 360282008-02-06 Christian Franke <franke@computer.org>
36029
36030 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36031 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36032 last block of a cpio or tar stream.
36033 Check for "TRAILER!!!" instead of any empty data
36034 block to detect last block of a cpio stream.
36035 (grub_cpio_dir): Fix constness of variable np.
36036 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36037 cpio or tar trailer is detected. This fixes a crash
36038 on open of a non existing file.
36039
c32865bf 360402008-02-05 Bean <bean123ch@gmail.com>
36041
36042 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36043 address of entry.
36044 (grub_multiboot_load_elf64): Likewise.
36045 (grub_multiboot): Initialize mbi structure.
36046
36047 * util/grub-fstest.c: Don't include unused header file script.h.
36048
fe6b695a 36049 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 36050 of file.
36051 (grub_fstest_SOURCES): Likewise.
36052
409480b7 360532008-02-05 Robert Millan <rmh@aybabtu.com>
36054
36055 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36056 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36057 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36058 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36059
36060 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36061 (translation_table): Replace hardcoded values with macros
36062 provided by `<grub/term.h>'.
36063
36064 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36065 (keyboard_map): Correct/add a few values, with macros provided
36066 by `<grub/term.h>'.
36067 (keyboard_map_shift): Zero values that don't differ from their
36068 `keyboard_map' equivalents.
36069 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36070 Discard the second scan code that is always sent by Caps lock.
36071 Only use `keyboard_map_shift' when it provides a non-zero value,
36072 otherwise fallback to `keyboard_map'.
36073
99fadbaa 360742008-02-04 Bean <bean123ch@gmail.com>
36075
36076 * Makefile.in (enable_grub_fstest): New variable.
36077
36078 * conf/common.rmk (grub_fstest_init.lst): New rule.
36079 (grub_fstest_init.h): Likewise.
36080 (grub_fstest_init.c): Likewise.
36081 (util/grub-fstest.c_DEPENDENCIES): New variable.
36082 (grub_fstest_SOURCES): Likewise.
36083
36084 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36085
36086 * util/grub-fstest.c: New file.
36087
bf567c50 360882008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36089
36090 Make grub-setup handle a separate root device.
f19dbdb7 36091
bf567c50 36092 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36093 so that the root device can be compared with the destination
36094 device.
36095 When embedding the core image, if the root and destination devices
36096 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36097 0xFF.
36098 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 36099
9be6b98b 361002008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36101
36102 Add support for having a grub directory in a different drive. This
36103 is still only the data handling part.
f19dbdb7 36104
9be6b98b 36105 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36106 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36107 (grub_root_drive): New variable.
36108
36109 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36110 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36111 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36112 as it was.
36113
36114 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36115
36116 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36117 macro.
36118 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36119
36120 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36121 is bogus, because PXE booting does not specify any drive
36122 correctly.
36123
36124 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36125 am not sure if this is really correct.
36126
36127 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36128 is always identical to the boot drive when booting from a CD.
36129
36130 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36131 longer.
36132 (root_drive): New variable.
36133 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36134 (setup_sectors): Push %dx right after popping it, because %dh will
36135 be modified later.
36136 (copy_buffer): Restore %dx.
36137
e0ca0677 361382008-02-03 Robert Millan <rmh@aybabtu.com>
36139
36140 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36141 use `cdboot.img' for cdrom images.
36142
3b3f6629 361432008-02-03 Robert Millan <rmh@aybabtu.com>
36144
36145 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36146 only setup gfxterm when `font' command has succeeded.
36147
d42b3672 361482008-02-03 Robert Millan <rmh@aybabtu.com>
36149
36150 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36151 (grub_rescue_cmd_multiboot_loader)
36152 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36153
fa370ea6 361542008-02-03 Pavel Roskin <proski@gnu.org>
36155
e0c5dacb 36156 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 36157 %edx and %esi from stack only after grub_gate_a20() is called.
36158 grub_gate_a20() clobbers %edx.
36159
f2a76e1d 361602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36161
36162 * configure.ac (AC_INIT): Bumped to 1.96.
36163
36164 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36165 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36166 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36167 video/readers/png.c.
36168
90fd32d1 361692008-02-03 Bean <bean123ch@gmail.com>
9be665dd 36170
36171 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36172 (cdboot_img_SOURCES): New variable.
36173 (cdboot_img_ASFLAGS): New variable.
36174 (cdboot_img_LDFLAGS): New variable.
36175
36176 * boot/i386/pc/cdboot.S: New file.
36177
36178 * disk/i386/pc/biosdisk.c (cd_start): New variable.
36179 (cd_count): Likewise.
36180 (grub_biosdisk_get_drive): Add support for cd device.
36181 (grub_biosdisk_call_hook): Likewise.
36182 (grub_biosdisk_iterate): Likewise.
36183 (grub_biosdisk_open): Likewise.
36184 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36185 (grub_biosdisk_rw): Support reading from cd device.
36186 (GRUB_MOD_INIT): Iterate cd devices.
36187
36188 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36189 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36190 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36191
36192 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36193
4020aa53 361942008-02-02 Robert Millan <rmh@aybabtu.com>
36195
36196 * commands/read.c: New file.
36197 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36198 (read_mod_SOURCES): New variable.
36199 (read_mod_CFLAGS): Likewise.
36200 (read_mod_LDFLAGS): Likewise.
36201
e03a1132 362022008-02-02 Robert Millan <rmh@aybabtu.com>
36203
36204 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36205 determining whether menu has to be displayed.
36206
58c69220 362072008-02-02 Marco Gerards <marco@gnu.org>
36208
36209 * bus/pci.c: New file.
36210
36211 * include/grub/pci.h: Likewise.
36212
36213 * include/grub/i386/pc/pci.h: Likewise.
36214
36215 * commands/lspci.c: Likewise.
36216
36217 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36218 `lspci.mod'.
36219 (pci_mod_SOURCES): New variable.
36220 (pci_mod_CFLAGS): Likewise.
36221 (pci_mod_LDFLAGS): Likewise.
36222 (lspci_mod_SOURCES): Likewise.
36223 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 36224 (lspci_mod_LDFLAGS): Likewise.
58c69220 36225
c004e1b4 362262008-02-02 Bean <bean123ch@gmail.com>
36227
36228 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36229 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36230
36231 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36232 (grub_xfs_btree_node): New structure.
36233 (grub_xfs_btree_root): New structure.
36234 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36235 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36236 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36237 (GRUB_XFS_EXTENT_SIZE): Likewise.
36238 (grub_xfs_read_block): Support btree format type.
36239 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36240 Use directory block as basic unit.
36241
36242 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36243
36244 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36245 __attribute__ ((__regparm__ (1))).
36246
f95562bf 362472008-02-01 Robert Millan <rmh@aybabtu.com>
36248
36249 Correct a mistake in previous commit.
36250
36251 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36252 top.
36253 (normal/command.c_DEPENDENCIES): New variable.
36254
7d31f41f 362552008-02-01 Robert Millan <rmh@aybabtu.com>
36256
36257 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
36258 top.
36259 (normal/command.c_DEPENDENCIES): New variable.
36260 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
36261 * conf/i386-ieee1275.rmk: Likewise.
36262 * conf/i386-linuxbios.rmk: Likewise.
36263 * conf/i386-pc.rmk: Likewise.
36264 * conf/sparc64-ieee1275.rmk: Likewise.
36265 * conf/powerpc-ieee1275.rmk: Likewise.
36266 (grub_emu_SOURCES): Add `fs/fshelp.c'.
36267
36268 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
36269
60b6be74 362702008-02-01 Robert Millan <rmh@aybabtu.com>
36271
36272 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
36273 call at beginning of function.
36274
078522ab 362752008-01-31 Pavel Roskin <proski@gnu.org>
36276
36277 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 36278 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
36279 (grub_mkrescue_SOURCES): Likewise.
078522ab 36280 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
36281
ccaa8a5f 362822008-01-30 Robert Millan <rmh@aybabtu.com>
36283
36284 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
36285 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
36286 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
36287 (grub_probe_SOURCES): ... to here.
36288
36289 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
36290 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
36291 * conf/i386-ieee1275.rmk: Likewise.
36292 * conf/i386-linuxbios.rmk: Likewise.
36293 * conf/powerpc-ieee1275.rmk: Likewise.
36294
ae5a9cd7 362952008-01-30 Tristan Gingold <gingold@free.fr>
36296
36297 * kern/rescue.c: Silently accept empty lines.
36298
70bc2ef2 362992008-01-29 Bean <bean123ch@gmail.com>
36300
36301 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
36302 (real_code_2): Code cleanup and change comment style.
36303 (move_memory): Avoid using 32-bit address mode.
36304
6a4d50ea 363052008-01-29 Bean <bean123ch@gmail.com>
36306
36307 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
36308 (png_mod_SOURCES): New variable.
36309 (png_mod_CFLAGS): Likewise.
36310 (png_mod_LDFLAGS): Likewise.
36311
36312 * video/readers/png.c: New file.
36313
11cc30ac 363142008-01-28 Robert Millan <rmh@aybabtu.com>
36315
36316 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
36317 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
36318 `ifndef GRUB_MOD_GAP' hack.
36319 * util/elf/grub-mkimage.c (add_segments): Likewise.
36320
3abc589f 363212008-01-27 Robert Millan <rmh@aybabtu.com>
36322
36323 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
36324 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 36325 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 36326
e1907778 363272008-01-27 Robert Millan <rmh@aybabtu.com>
36328
36329 Get grub-emu to build again (including parallel builds).
36330
36331 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
36332 Split into ...
36333 (util/grub-emu.c_DEPENDENCIES): ... this, ...
36334 (normal/execute.c_DEPENDENCIES): ... this, ...
36335 (grub-emu_DEPENDENCIES): ... and this.
36336
36337 * conf/i386-efi.rmk: Likewise.
36338 * conf/i386-linuxbios.rmk: Likewise.
36339 * conf/i386-ieee1275.rmk: Likewise.
36340 * conf/powerpc-ieee1275.rmk: Likewise.
36341 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
36342
2216b101 363432008-01-27 Robert Millan <rmh@aybabtu.com>
36344
36345 * NEWS: Add a few items.
36346
f75172d9 363472008-01-27 Robert Millan <rmh@aybabtu.com>
36348
36349 Fix parallel builds with grub-emu. Based on earlier commit for
36350 grub-probe and grub-setup.
36351
36352 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36353 (util/grub-emu.c_DEPENDENCIES): ... this.
36354 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36355 (util/grub-emu.c_DEPENDENCIES): ... this.
36356 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36357 (util/grub-emu.c_DEPENDENCIES): ... this.
36358 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36359 (util/grub-emu.c_DEPENDENCIES): ... this.
36360 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36361 (util/grub-emu.c_DEPENDENCIES): ... this.
36362
3f51de77 363632008-01-27 Pavel Roskin <proski@gnu.org>
36364
36365 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
36366 to create a gap between _end and the modules added to the image
36367 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
36368 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
36369 * util/elf/grub-mkimage.c (add_segments): Likewise.
36370
2033f53e 363712008-01-26 Pavel Roskin <proski@gnu.org>
36372
36373 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
36374 just return an error.
36375
22da1f6f 363762008-01-26 Bean <bean123ch@gmail.com>
36377
36378 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
36379 (grub_reiserfs_get_item): Save offset of the next item.
36380 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
36381
2a9525e6 363822008-01-25 Robert Millan <rmh@aybabtu.com>
36383
36384 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
36385 make all filesystem sources appear together (possibly fixing omissions
36386 while at it).
36387 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36388 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36389 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36391
36392 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
36393 add `kern/file.c'.
36394 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
36395 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36396 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
36397 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36398
36399 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
36400 (probe): Add a sanity check to make sure of our ability to read
36401 requested files when probing for filesystem type.
36402
36403 * genmk.rb: Update copyright year (2007).
36404
36405 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
36406 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
36407 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
36408 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
36409 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
36410 : Remove function prototypes.
36411
b95f71b5 364122008-01-25 Robert Millan <rmh@aybabtu.com>
36413
36414 Revert my previous commits (based on wrong assumption of how grub_errno
36415 works).
36416
fe6b695a 36417 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 36418 * kern/file.c (grub_file_open): Likewise.
36419
d08bbb49 364202008-01-24 Pavel Roskin <proski@gnu.org>
36421
36422 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
36423 that hang if GRUB tries to setup colors.
36424 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
36425 colors for firmwares that don't support it.
36426 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
36427 Recognize Open Hack'Ware, set flags to work around its
36428 limitations.
36429
605e36ed 364302008-01-24 Robert Millan <rmh@aybabtu.com>
36431
36432 * kern/file.c (grub_file_open): Do not account previous failures of
36433 unrelated functions when grub_errno is checked for.
36434 Reported by Oleg Strikov.
36435
bac332a1 364362008-01-24 Bean <bean123ch@gmail.com>
36437
36438 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
36439 (grub_ufs_sblock): New member volume name.
36440 (grub_ufs_find_file): Fix string copy bug.
36441 (grub_ufs_label): Implement this function properly.
36442
36443 * fs/hfs.c (grub_hfs_cnid_type): New enum.
36444 (grub_hfs_iterate_records): Use the correct file number for extents
36445 and catalog file. Fix problem in next index calculation.
36446 (grub_hfs_find_node): Replace recursive function call with loop.
36447 (grub_hfs_iterate_dir): Replace recursive function call with loop.
36448
15c80c09 364492008-01-23 Robert Millan <rmh@aybabtu.com>
36450
36451 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
36452 `<grub/symbol.h>' and `<grub/multiboot.h>'.
36453 (grub_multiboot2_real_boot): New function prototype.
36454
36455 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
36456 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
36457
36458 * kern/i386/ieee1275/init.c (grub_os_area_addr)
36459 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
36460
305338fd 364612008-01-23 Robert Millan <rmh@aybabtu.com>
36462
36463 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
36464 #ifdef'ed out grub_printf().
36465
3ea52685 364662008-01-23 Robert Millan <rmh@aybabtu.com>
36467
36468 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
36469 grub_dprintf calls, since they make "debug=all" mode unusable.
36470 (grub_console_checkkey): Likewise.
36471
5882ae4b 364722008-01-23 Robert Millan <rmh@aybabtu.com>
36473
36474 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36475 `term/i386/pc/at_keyboard.c'.
36476 (pkglib_MODULES): Add `serial.mod'.
36477 (serial_mod_SOURCES): New variable.
36478 (serial_mod_CFLAGS): Likewise.
36479 (serial_mod_LDFLAGS): Likewise.
36480
36481 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
36482 `<grub/powerpc/ieee1275/console.h>'.
36483 (grub_keyboard_controller_init): New function prototype.
36484 (grub_console_checkkey): Likewise.
36485 (grub_console_getkey): Likewise.
36486
36487 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
36488 keyboard on i386.
36489
36490 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
36491 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
36492
06ab5303 364932008-01-23 Robert Millan <rmh@aybabtu.com>
36494
36495 * kern/i386/pc/init.c (make_install_device): When memdisk image is
36496 present, "(memdisk)/boot/grub" becomes the default prefix.
36497
36498 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
36499 a memdisk tarball with all the modules. Add --overlay=DIR option that
36500 allows users to overlay additional files into the image.
36501
dbb475a4 365022008-01-23 Robert Millan <rmh@aybabtu.com>
36503
36504 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
36505 and `machine/memory.h'.
36506 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
36507 (_multiboot_mod_SOURCES): New variable.
36508 (_multiboot_mod_CFLAGS): Likewise.
36509 (_multiboot_mod_LDFLAGS): Likewise.
36510 (multiboot_mod_SOURCES): Likewise.
36511 (multiboot_mod_CFLAGS): Likewise.
36512 (multiboot_mod_LDFLAGS): Likewise.
36513
36514 * include/grub/i386/ieee1275/loader.h: New file.
36515
36516 * include/grub/i386/ieee1275/machine.h: Likewise.
36517
36518 * include/grub/i386/ieee1275/memory.h: Likewise.
36519
36520 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
36521 variable declaration.
36522 (grub_os_area_size): Likewise.
36523
36524 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
36525 (grub_lower_mem, grub_upper_mem): New variables.
36526 (grub_stop_floppy): New function (just to make
36527 grub_multiboot2_real_boot() happy).
36528
36529 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
36530 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
36531 (grub_stop): New function.
36532 Include `"../realmode.S"' and `"../loader.S"'.
36533
36534 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
36535 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
36536
36537 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
36538 rely on grub_multiboot2_real_boot() for final boot.
36539
25638629 365402008-01-22 Robert Millan <rmh@aybabtu.com>
36541
36542 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
36543 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
36544 device that doesn't look like an SD card.
36545 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36546 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
36547 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
36548 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
36549 found.
36550
9dad816d 365512008-01-22 Robert Millan <rmh@aybabtu.com>
36552
36553 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
36554 avoid claiming over our own code.
36555
34842f2d 365562008-01-22 Bean <bean123ch@gmail.com>
36557
36558 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
36559 (jpeg_mod_SOURCES): New variable.
36560 (jpeg_mod_CFLAGS): Likewise.
36561 (jpeg_mod_LDFLAGS): Likewise.
36562
36563 * video/readers/jpeg.c : New file.
36564
44023a28 365652008-01-22 Bean <bean123ch@gmail.com>
36566
36567 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
36568 there are no more items.
36569
bc2d8ac6 365702008-01-21 Robert Millan <rmh@aybabtu.com>
36571
36572 * kern/mm.c (grub_mm_init_region): Improve debug message.
36573
261bd4bc 365742008-01-21 Robert Millan <rmh@aybabtu.com>
36575
36576 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
36577 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
36578 address.
36579 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
36580 a C macro.
36581 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
36582 Indicates start of upper memory.
36583 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
36584 (generate_image): Abort when image size is big enough to corrupt
36585 upper memory.
36586
36587 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
36588 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
36589 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36590 instead of hardcoding 0xA0000.
36591 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
36592 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36593 instead of hardcoding 0xA0000.
36594
f970b55e 365952008-01-21 Robert Millan <rmh@aybabtu.com>
36596
36597 * disk/memdisk.c (memdisk_size): New variable.
36598 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
36599 `memdisk_size'.
36600 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
36601 image to dynamic memory.
36602 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
36603 `memdisk_size'. Free memdisk block.
36604
1a8b0526 366052008-01-21 Robert Millan <rmh@aybabtu.com>
36606
36607 Fix detection of very small filesystems (like tar).
36608
36609 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
36610 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
36611 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
36612 a problem with this disk).
36613
6e9b4aab 366142008-01-21 Robert Millan <rmh@aybabtu.com>
36615
36616 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
36617 on grub_biosdisk_rw_standard() error.
36618
0d8837b2 366192008-01-21 Robert Millan <rmh@aybabtu.com>
36620
36621 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
36622 recent changes.
36623 * kern/elf.c: Likewise.
36624 * kern/ieee1275/ieee1275.c: Likewise.
36625 * kern/powerpc/ieee1275/openfw.c: Likewise.
36626 * term/ieee1275/ofconsole.c: Likewise.
36627
ffd36e34 366282008-01-21 Robert Millan <rmh@aybabtu.com>
36629
36630 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36631
3f0093d0 36632 * include/grub/kernel.h (grub_arch_memdisk_addr)
36633 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36634
3f0093d0 36635 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36636 (grub_arch_memdisk_size): ... to here.
ffd36e34 36637
6c391b21 366382008-01-21 Robert Millan <rmh@aybabtu.com>
36639
36640 Mostly based on bugfix from Bean.
36641
36642 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36643 attribute with hook() parameter.
36644 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36645 declaration.
36646 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36647 attribute with hook() parameter.
36648 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36649 declaration.
36650
55a581dc 366512008-01-21 Robert Millan <rmh@aybabtu.com>
36652
36653 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36654 (pkglib_MODULES): Add `memdisk.mod'.
36655 (memdisk_mod_SOURCES): New variable.
36656 (memdisk_mod_CFLAGS): Likewise.
36657 (memdisk_mod_LDFLAGS): Likewise.
36658
36659 * disk/memdisk.c: New file.
36660
36661 * include/grub/disk.h (grub_disk_dev_id): Add
36662 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36663
36664 * include/grub/i386/pc/kernel.h
36665 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36666 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36667 (grub_kernel_image_size): New variable declaration.
36668 (grub_total_module_size): Likewise.
36669 (grub_memdisk_image_size): Likewise.
36670
36671 * include/grub/i386/pc/memory.h
36672 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36673
36674 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36675 (grub_arch_memdisk_addr): New variable declaration.
36676 (grub_arch_memdisk_size): Likewise.
36677
36678 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36679 (grub_arch_memdisk_size): Likewise.
36680
36681 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36682 (codestart): Replace hardcoded `0x100000' with
36683 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36684
36685 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36686 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36687 not NULL, append the contents of the file it refers to, at the end of
36688 the compressed kernel image. Initialize `grub_memdisk_image_size'
36689 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36690 (options): Add "memdisk"|'m' option.
36691 (main): Parse --memdisk|-m option, and pass user-provided path as
36692 parameter to generate_image().
36693
3d7f54c9 366942008-01-20 Robert Millan <rmh@aybabtu.com>
36695
36696 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36697 grub_dprintf() calls from here ...
36698 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36699
0bf74728 367002008-01-20 Robert Millan <rmh@aybabtu.com>
36701
36702 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36703
36704 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36705 declaration.
36706 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36707 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36708 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36709 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36710 property).
36711 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36712 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36713
33bf70a7 367142008-01-19 Robert Millan <rmh@aybabtu.com>
36715
fe6b695a 36716 Get rid of confusing function (superseded by
33bf70a7 36717 `grub_ieee1275_get_integer_property')
36718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36719 prototype.
36720 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36721 function.
36722 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36723 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36724 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36725
e2da7d26 367262008-01-19 Robert Millan <rmh@aybabtu.com>
36727
36728 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36729 command after "shut-down", since implementations differ on which
36730 the command for halt is.
36731
59f1fd8d 367322008-01-19 Robert Millan <rmh@aybabtu.com>
36733
36734 * include/grub/i386/linuxbios/console.h: Add header protection.
36735 (grub_keyboard_controller_init): New function prototype.
36736 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36737 (KEYBOARD_COMMAND_READ): Likewise.
36738 (KEYBOARD_COMMAND_WRITE): Likewise.
36739 (KEYBOARD_SCANCODE_SET1): Likewise.
36740 (grub_keyboard_controller_write): New function.
36741 (grub_keyboard_controller_read): Likewise.
36742 (grub_keyboard_controller_init): Likewise.
36743
36744 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36745 (grub_console_init): On coreboot/LinuxBIOS, call
36746 grub_keyboard_controller_init().
36747
5f5a7c15 367482008-01-19 Robert Millan <rmh@aybabtu.com>
36749
36750 PowerPC changes provided by Pavel Roskin.
36751
36752 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36753 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36754 don't rely on cmain() doing it.
36755 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36756 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36757
1210e168 367582008-01-16 Robert Millan <rmh@aybabtu.com>
36759
36760 * include/grub/i386/linuxbios/memory.h
36761 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36762 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36763 receive `table_header' as argument. Instead, probe for it in the
36764 known memory ranges where it can be present.
36765 (grub_available_iterate): Do not pass a fixed `table_header' address
36766 to grub_linuxbios_table_iterate().
36767
3d04eab8 367682008-01-15 Robert Millan <rmh@aybabtu.com>
36769
36770 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36771 * conf/i386-ieee1275.rmk: New file.
36772 * include/grub/i386/ieee1275/console.h: Likewise.
36773 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36774 * include/grub/i386/ieee1275/kernel.h: Likewise.
36775 * include/grub/i386/ieee1275/time.h: Likewise.
36776 * kern/i386/ieee1275/init.c: Likewise.
36777 * kern/i386/ieee1275/startup.S: Likewise.
36778
d1bc1b73 367792008-01-15 Robert Millan <rmh@aybabtu.com>
36780
36781 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36782 when pointers are 32-bit (but still do set it to one when they are
36783 64-bit).
36784
66a65807 367852008-01-15 Robert Millan <rmh@aybabtu.com>
36786
36787 * include/grub/ieee1275/ieee1275.h
36788 (grub_ieee1275_get_integer_property): New function prototype.
36789
36790 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36791 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36792 grub_ieee1275_get_property() to handle endianness.
66a65807 36793
36794 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36795 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36796 where appropriate.
66a65807 36797 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36798 (grub_map): Likewise.
36799 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36800
a83ccafd 368012008-01-15 Bean <bean123ch@gmail.com>
36802
36803 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36804 (grub_script_execute_cmdline): Reset grub_errno.
36805
36806 * normal/main.c (read_config_file): Reset grub_errno.
36807
36808 * normal/parse.y (script_init): New.
36809 (script): Move function and menuentry here.
36810 (delimiter): New.
36811 (command): Add delimiter at the end of command.
36812 (commands): Adjust to match the new command.
36813 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36814 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36815 (if): Use the new commands.
36816
36817 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36818
df6ecfc6 368192008-01-15 Robert Millan <rmh@aybabtu.com>
36820
36821 * normal/menu.c (run_menu): Move timeout message from here ...
36822 (print_timeout): ... to here.
36823 (run_menu): Use print_timeout() once during initial draw to print
36824 the whole message, and again in every clock tick to update only
36825 the number of seconds.
36826
87ae25eb 368272008-01-15 Robert Millan <rmh@aybabtu.com>
36828
36829 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36830 actual size of `available' from grub_ieee1275_get_property(), and
36831 restrict parsing to that bound.
36832
47bf09a4 368332008-01-15 Christian Franke <franke@computer.org>
36834
36835 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36836 (argp_program_version): Remove variable.
36837 (argp_program_bug_address): Likewise.
36838 (options): Convert from struct argp_option to struct option.
36839 (struct arguments): Remove.
36840 (parse_opt): Remove.
36841 (usage): New function.
36842 (main): Replace struct args members by simple variables.
36843 Replace argp_parse() by getopt_long().
36844 Add switch to evaluate options.
36845 Add missing "(...)" around root_dev in prefix string.
36846
c86f1469 368472008-01-14 Robert Millan <rmh@aybabtu.com>
36848
36849 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36850 for grub_ieee1275_exit(), in order to improve portability.
36851
e622c559 368522008-01-14 Robert Millan <rmh@aybabtu.com>
36853
36854 * util/grub.d/10_linux.in (prefix): Define.
36855 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36856
44cb1ec8 368572008-01-13 Pavel Roskin <proski@gnu.org>
36858
36859 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36860 grub_errno if no errors have been detected.
36861
1eb8c802 368622008-01-12 Robert Millan <rmh@aybabtu.com>
36863
36864 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36865 (grub_util_get_dev_abstraction): New function prototype.
36866
36867 * util/getroot.c: Include `<grub/util/getroot.h>'
36868 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36869 (grub_util_get_dev_abstraction): ... here (new function).
36870
36871 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36872 `PRINT_ABSTRACTION'.
36873 (probe): Probe for abstraction type when requested.
36874 (main): Understand `--target=abstraction'.
36875
36876 * util/i386/efi/grub-install.in: Add abstraction module to core
36877 image when it is found to be necessary.
36878 * util/i386/pc/grub-install.in: Likewise.
36879 * util/powerpc/ieee1275/grub-install.in: Likewise.
36880
36881 * util/update-grub_lib.in (font_path): Return system path without
36882 converting to GRUB path.
36883 * util/update-grub.in: Convert system path returned by font_path()
36884 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36885 abstraction module is needed for loading fonts (if any). Export
36886 that as `GRUB_PRELOAD_MODULES'.
36887 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36888 insmod commands).
36889
52bd3de9 368902008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36891
36892 Remove some unused code from reiserfs.
f19dbdb7 36893
52bd3de9 36894 * fs/reiserfs.c (struct grub_reiserfs_key)
36895 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36896 (struct grub_reiserfs_node_body): Removed.
36897 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36898 Likewise.
36899 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36900 Likewise.
36901 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36902 Likewise.
36903 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36904 Likewise.
36905 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36906 Likewise.
36907 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36908 Likewise.
36909 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36910 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36911 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36912
2f80039d 369132008-01-10 Robert Millan <rmh@aybabtu.com>
36914
36915 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36916 Determines if a file is garbage left by packaging systems, etc.
36917 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36918 for processing /etc/grub.d scripts.
36919 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36920 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36921 as a condition for processing Linux images.
36922
87888032 369232008-01-10 Pavel Roskin <proski@gnu.org>
36924
36925 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36926 to compile reiserfs.c on PowerPC.
36927
7e54fced 369282008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36929
36930 * kern/device.c (grub_device_iterate): Do not abort device iteration
36931 when one of the devices cannot be opened.
36932 * kern/disk.c (grub_disk_open): Do not account previous failures of
36933 unrelated functions when grub_errno is checked for.
36934
5aa541e6 369352008-01-08 Robert Millan <rmh@aybabtu.com>
36936
36937 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36938 `! grub_linux_is_bzimage', change order of address comparison to make
36939 it more intuitive, and improve "too big zImage" error message.
36940
7076340d 369412008-01-08 Robert Millan <rmh@aybabtu.com>
36942
36943 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36944 `$(update-grub_DATA)'.
36945 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36946 targets.
36947
9ca70333 369482008-01-07 Robert Millan <rmh@aybabtu.com>
36949
36950 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36951 which instruction is modified by grub-setup during installation
36952 (since it wasn't obvious by only looking at this file).
36953
38ccf575 369542008-01-07 Robert Millan <rmh@aybabtu.com>
36955
36956 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36957 listing actual TODO items.
36958
f5db4291 369592008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36960
868967cf 36961 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36962 correctly.
36963 (grub_reiserfs_get_key_offset): Likewise.
36964 (grub_reiserfs_set_key_offset): Likewise.
36965 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36966 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36967
36968 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36969 better to remove the bitfield version completely.
f19dbdb7 36970
868967cf 369712008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36972
f5db4291 36973 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36974 allocated from the heap, due to the fshelp implementation.
36975 (grub_reiserfs_dir): Free NODE, due to the same reason.
36976
492e6d9d 369772008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36978
36979 Mostly from Vincent Pelletier:
f19dbdb7 36980
492e6d9d 36981 * fs/reiserfs.c: New file.
f19dbdb7 36982
492e6d9d 36983 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36984 (reiserfs_mod_SOURCES): New variable.
36985 (reiserfs_mod_CFLAGS): Likewise.
36986 (reiserfs_mod_LDFLAGS): Likewise.
36987
36988 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36989 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36990 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36991 normal/color.c.
36992
9ce3e7c1 369932008-01-06 Robert Millan <rmh@aybabtu.com>
36994
36995 * normal/color.c: Remove `<grub/env.h>'.
36996
f3b58148 369972008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36998
36999 * include/grub/normal.h: Include <grub/env.h>.
37000
7ac3bcfa 370012008-01-05 Robert Millan <rmh@aybabtu.com>
37002
37003 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37004 usage example with `(hd0,1)'.
fb358190 37005 Reported by Samuel Thibault.
7ac3bcfa 37006
c8ee99d7 370072008-01-05 Robert Millan <rmh@aybabtu.com>
37008
37009 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37010 (grub_linux_boot_zimage): Rename to ...
37011 (grub_linux_boot): ... this.
37012 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37013 (grub_linux_boot_zimage): Conditionalize zImage copy.
37014
37015 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37016 (grub_linux_boot_bzimage): Remove prototype.
37017 (grub_linux_boot_zimage): Rename to ...
37018 (grub_linux_boot): ... this.
37019
37020 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37021 (grub_linux_boot): Remove function.
37022
0ece25b1 370232008-01-05 Robert Millan <rmh@aybabtu.com>
37024
37025 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37026 (grub_env_write_color_highlight): Likewise.
37027 (grub_wait_after_message): Likewise.
37028
37029 * normal/color.c: New file.
37030
37031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37032 (normal_mod_DEPENDENCIES): Likewise.
37033
37034 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37035 (normal_mod_DEPENDENCIES): Likewise.
37036
37037 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37038 (normal_mod_DEPENDENCIES): Likewise.
37039
37040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37041 (normal_mod_DEPENDENCIES): Likewise.
37042
37043 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37044 for waiting after a message is printed.
37045 * normal/main.c (read_config_file): Likewise.
37046 (grub_normal_init): Register grub_env_write_color_normal() and
37047 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37048 `color_highlight' variables as global.
37049
37050 * normal/menu.c (grub_wait_after_message): New function.
37051 (grub_color_menu_normal): New variable. Replaces ...
37052 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37053 (grub_color_menu_highlight): New variable. Replaces ...
37054 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37055 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37056 `GRUB_TERM_COLOR_STANDARD'.
37057 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37058 `normal_code' and `highlight_code' to `old_color_normal' and
37059 `old_color_highlight', respectively.
37060 (grub_menu_init_page): Update colors when drawing the menu, based on
37061 `menu_color_normal' and `menu_color_highlight' variables.
37062 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37063 a message is printed.
37064
182dd4e5 370652008-01-05 Robert Millan <rmh@aybabtu.com>
37066
37067 * kern/env.c (grub_env_context_open): Propagate hooks for global
37068 variables to new context.
37069
37070 * kern/main.c (grub_set_root_dev): Export `root' variable.
37071
ddf8f6ad 370722008-01-05 Robert Millan <rmh@aybabtu.com>
37073
37074 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 37075 discs unconditionally, since udev and others have options to provide
ddf8f6ad 37076 them.
37077
d8b43d9b 370782008-01-05 Robert Millan <rmh@aybabtu.com>
37079
37080 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37081
2bff2de3 370822008-01-04 Christian Franke <franke@computer.org>
37083
37084 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37085 of eisa_mmap.
37086
97eab917 370872008-01-03 Pavel Roskin <proski@gnu.org>
37088
37089 * kern/i386/linuxbios/init.c: Put "void" to all function
37090 declarations with no arguments.
37091 * kern/powerpc/ieee1275/init.c: Likewise.
37092 * term/i386/pc/at_keyboard.c: Likewise.
37093 * term/i386/pc/vga_text.c: Likewise.
37094 * util/grub-mkdevicemap.c: Likewise.
37095
b9416d00 370962008-01-02 Robert Millan <rmh@aybabtu.com>
37097
37098 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37099 message when loaded image is out of bounds.
37100 (grub_multiboot_load_elf64): Likewise.
37101
92695df9 371022008-01-02 Pavel Roskin <proski@gnu.org>
37103
37104 * util/grub.d/10_linux.in: Try version without ".old" when
37105 looking for initrd. It's better to use initrd from the newer
37106 kernel of the same version than no initrd at all.
37107
d98d9cad 371082008-01-01 Robert Millan <rmh@aybabtu.com>
37109
37110 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37111
dbfdce36 371122008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37113
f19dbdb7 37114 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 37115 grub_video_get_active_render_target.
37116 (grub_video_adapter): Added unmap_color and get_active_render_target.
37117
f19dbdb7 37118 * video/video.c: Added grub_video_unmap_color and
dbfdce36 37119 grub_video_get_active_render_target.
37120 (grub_video_get_info): Changed method to accept NULL pointer as an
37121 argument to allow detection of active video adapter.
37122
37123 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37124 grub_video_vbe_unmap_color_int.
37125 Added grub_video_vbe_unmap_color and
37126 grub_video_vbe_get_active_render_target.
37127 (grub_video_vbe_adapter): Added unmap_color and
37128 get_active_render_target.
37129
f19dbdb7 37130 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 37131 with grub_video_vbe_unmap_color_int.
37132
37133 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37134 (DEFAULT_NORMAL_COLOR): Likewise.
37135 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37136 (DEFAULT_FG_COLOR): Removed.
37137 (DEFAULT_BG_COLOR): Likewise.
37138 (DEFAULT_CURSOR_COLOR): Changed value.
37139 (grub_virtual_screen): Added standard_color_setting,
37140 normal_color_setting, highlight_color_setting and term_color.
37141 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37142 (bitmap_width): Added.
37143 (bitmap_height): Likewise.
37144 (bitmap): Likewise.
37145 (set_term_color): Likewise.
37146 (grub_virtual_screen_setup): Changed to use new terminal coloring
37147 settings.
37148 (grub_gfxterm_init): Added init for bitmap.
37149 (grub_gfxterm_fini): Added destroy for bitmap.
37150 (redraw_screen_rect): Updated to use background bitmap and new
37151 terminal coloring.
37152 (scroll_up): Added optimization for case when there is no bitmap.
37153 (grub_gfxterm_cls): Fixed to use correct background color.
37154 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37155 coloring.
37156 (grub_virtual_screen_setcolor): Likewise.
37157 (grub_virtual_screen_getcolor): Added.
37158 (grub_gfxterm_background_image_cmd): Likewise.
37159 (grub_video_term): Added setcolor and getcolor.
37160 (MOD_INIT): Added registration of background_image command.
37161 (MOD_TERM): Added unregistration for background_image command.
37162
c3c20931 371632007-12-30 Pavel Roskin <proski@gnu.org>
37164
37165 * loader/multiboot_loader.c: Fix multiboot command
37166 unregistration. Fix all typos in the word "multiboot".
37167
df266716 371682007-12-29 Pavel Roskin <proski@gnu.org>
94239199 37169
37170 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37171 support for initrd names used in Fedora.
37172
fc6e896c 371732007-12-26 Bean <bean123ch@gmail.com>
37174
37175 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37176 (cpio_mod_SOURCES): New variable.
37177 (cpio_mod_CFLAGS): Likewise.
37178 (cpio_mod_LDFLAGS): Likewise.
37179
37180 * fs/cpio.c: New file.
37181
37182 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37183
37184 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37185
37186 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37187
37188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37189
533110ad 371902007-12-25 Robert Millan <rmh@aybabtu.com>
37191
37192 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37193 (grub_getcolor): New function.
37194
37195 * kern/term.c (grub_getcolor): New function.
37196 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37197 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37198 (print_entry): Set normal and highlight colors to
37199 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37200 respectively, before printing and restore them to old
37201 values afterwards.
37202 (grub_menu_init_page): Likewise. Fill an additional colored space
37203 that would otherwise be left blank.
37204
37205 * term/efi/console.c (grub_console_getcolor): New function.
37206 (struct grub_console_term.getcolor): New variable.
37207 * term/i386/pc/console.c (grub_console_getcolor): New function.
37208 (struct grub_console_term.getcolor): New variable.
37209 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37210 (struct grub_console_term.getcolor): New variable.
37211
37212 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37213 (struct grub_console_term.setcolor): Remove variable.
37214 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37215 (struct grub_console_term.setcolor): Remove variable.
37216 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37217 (struct grub_console_term.setcolor): Remove variable.
37218 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37219 (struct grub_console_term.setcolor): Remove variable.
37220
4931827f 372212007-12-25 Robert Millan <rmh@aybabtu.com>
37222
37223 * configure.ac: Search for possible unifont.hex locations, and
37224 define UNIFONT_HEX if found.
37225
37226 * Makefile.in (UNIFONT_HEX): Define variable.
37227 (DATA): Rename to ...
37228 (PKGLIB): ... this. Update all users.
37229 (PKGDATA): New variable.
37230 (pkgdata_IMAGES): Rename to ...
37231 (pkglib_IMAGES): ... this. Update all users.
37232 (pkgdata_MODULES): Rename to ...
37233 (pkglib_MODULES): ... this. Update all users.
37234 (pkgdata_PROGRAMS): Rename to ...
37235 (pkglib_PROGRAMS): ... this. Update all users.
37236 (pkgdata_DATA): Rename to ...
37237 (pkglib_DATA): ... this. Update all users.
37238 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37239 (unicode.pff, ascii.pff): New rules.
37240 (all-local): Add `$(PKGDATA)' dependency.
37241 (install-local): Process `$(PKGDATA)'.
37242
37243 * util/update-grub_lib.in (font_path): Search for *.pff files in
37244 a few more locations, including `${pkgdata}'.
37245
57e57e31 372462007-12-23 Robert Millan <rmh@aybabtu.com>
37247
37248 Patch from Bean <bean123ch@gmail.com>:
37249 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37250 `size'.
37251
4bc72aa9 372522007-12-21 Bean <bean123ch@gmail.com>
37253
37254 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37255 (ntfscomp_mod_SOURCES): New variable.
37256 (ntfscomp_mod_CFLAGS): Likewise.
37257 (ntfscomp_mod_LDFLAGS): Likewise.
37258
37259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
37260 (grub_probe_SOURCES): Likewise.
37261 (grub_emu_SOURCES): Likewise.
37262
37263 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37264 (grub_emu_SOURCES): Likewise.
37265
37266 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37267 (grub_emu_SOURCES): Likewise.
37268
37269 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37270 (grub_emu_SOURCES): Likewise.
37271
37272 * fs/ntfs.c (grub_ntfscomp_func): New variable.
37273 (read_run_list): Renamed to grub_ntfs_read_run_list.
37274 (decomp_nextvcn): Moved to ntfscomp.c.
37275 (decomp_getch): Likewise.
37276 (decomp_get16): Likewise.
37277 (decomp_block): Likewise.
37278 (read_block): Likewise.
37279 (read_data): Partially moved to ntfscomp.c.
37280 (fixup): Change unsigned to grub_uint16_t.
37281 (read_mft): Change unsigned long to grub_uint32_t.
37282 (read_attr): Likewise.
37283 (read_data): Likewise.
37284 (read_run_data): Likewise.
37285 (read_run_list): Likewise.
37286 (read_mft): Likewise.
37287
37288 * fs/ntfscomp.c: New file.
37289
37290 * include/grub/ntfs.h: New file.
37291
af680a87 372922007-12-16 Robert Millan <rmh@aybabtu.com>
37293
37294 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
37295 IDE disk check, since Linux is known to support 20 IDE disks.
37296 Reported by Colin Watson.
37297
84be7599 372982007-12-15 Bean <bean123ch@gmail.com>
37299
37300 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
37301 (lnxboot_img_SOURCES): New variable.
37302 (lnxboot_img_ASFLAGS): Likewise.
37303 (lnxboot_img_LDFLAGS): Likewise.
37304
37305 * boot/i386/pc/lnxboot.S: New file.
37306
6af9db01 373072007-11-24 Pavel Roskin <proski@gnu.org>
37308
37309 * configure.ac: Test if '--build-id=none' is supported by the
37310 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
37311 objcopy to generate incorrect binary files (binutils
37312 2.17.50.0.18-1 as shipped by Fedora 8).
37313 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
37314 linking, so that build ID doesn't break the test.
37315
7361cfe6 373162007-11-24 Pavel Roskin <proski@gnu.org>
37317
37318 * include/grub/i386/time.h: use "void" in the argument list
37319 of grub_cpu_idle().
37320 * include/grub/powerpc/time.h: Likewise.
37321 * include/grub/sparc64/time.h: Likewise.
37322
1593e10c 373232007-11-18 Christian Franke <franke@computer.org>
37324
37325 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
37326 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
37327 This fixes the problem that function keys did not work in grub-emu.
37328
3b8db1a8 373292007-11-18 Christian Franke <franke@computer.org>
37330
37331 * disk/host.c (grub_host_open): Remove attribute unused from
37332 name parameter. Add check for "host". This fixes the problem
37333 that grub-emu does not find partitions.
37334
2e29408d 373352007-11-18 Christian Franke <franke@computer.org>
37336
37337 * util/hostfs.c (is_dir): New function.
37338 (grub_hostfs_dir): Handle missing dirent.d_type case.
37339 (grub_hostfs_read): Add missing fseek().
37340 (grub_hostfs_label): Clear label pointer. This fixes a crash
37341 of grub-emu on "ls (host)".
37342
398cd047 373432007-11-18 Christian Franke <franke@computer.org>
37344
37345 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
37346 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
37347 to 64 bit boundary by default.
37348
c405c391 373492007-11-18 Bean <bean123ch@gmail.com>
37350
37351 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
37352 (hexdump_mod_SOURCES): New variable.
37353 (hexdump_mod_CFLAGS): Likewise.
37354 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 37355
c405c391 37356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37357
37358 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37359
37360 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37361
37362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37363
37364 * include/grub/hexdump.h: New file.
37365
37366 * commands/hexdump.c: New file.
37367
5cced7fd 373682007-11-10 Robert Millan <rmh@aybabtu.com>
37369
37370 * commands/i386/pc/play.c (beep_off): Switch order of arguments
37371 in grub_outb() calls.
37372 (beep_on): Likewise.
37373
8b714eb0 373742007-11-10 Christian Franke <franke@computer.org>
37375
37376 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
37377 (grub_menu_run): Likewise.
37378
ce0f1839 373792007-11-10 Robert Millan <rmh@aybabtu.com>
37380
37381 * include/grub/i386/efi/machine.h: New file.
37382 * include/grub/i386/linuxbios/machine.h: Likewise.
37383 * include/grub/i386/pc/machine.h: Likewise.
37384 * include/grub/powerpc/ieee1275/machine.h: Likewise.
37385 * include/grub/sparc64/ieee1275/machine.h: Likewise.
37386
37387 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
37388 (serial_hw_io_addr): New variable.
37389 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
37390 instead of `(unsigned short *) 0x400'.
37391
270c237d 373922007-11-10 Bean <bean123ch@gmail.com>
37393
37394 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
37395
a87783bf 373962007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37397
37398 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
37399 (vga_mod_SOURCES): Added.
37400 (vga_mod_CFLAGS): Likewise.
37401 (vga_mod_LDFLAGS): Likewise.
37402
37403 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
37404 grub_outb() calls.
37405 (set_map_mask): Likewise.
37406 (set_read_map): Likewise.
37407 (set_read_address): Likewise.
37408 (vga_font): Removed variable.
37409 (get_vga_glyph): Removed function.
37410 (invalidate_char): Likewise.
37411 (write_char): Changed to use grub_font_get_glyph() for font
37412 information.
37413 (grub_vga_putchar): Likewise.
37414 (grub_vga_getcharwidth): Likewise.
37415
6433b448 374162007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37417
37418 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
37419 flags.
37420 (pxeboot_img_LDFLAGS): Likewise.
37421 (diskboot_img_LDFLAGS): Likewise.
37422 (kernel_img_LDFLAGS): Likewise.
37423
49178511 374242007-11-06 Robert Millan <rmh@aybabtu.com>
37425
37426 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
37427 in grub_outb() calls.
37428 (serial_hw_init): Likewise.
37429
53b052de 374302007-11-05 Robert Millan <rmh@aybabtu.com>
37431
37432 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
37433 spaces. Skip non-regular files.
37434
5ab33bba 374352007-11-05 Robert Millan <rmh@aybabtu.com>
37436
37437 * kern/disk.c (grub_disk_firmware_fini)
37438 (grub_disk_firmware_is_tainted): New variables.
37439
37440 * include/grub/disk.h (grub_disk_firmware_fini)
37441 (grub_disk_firmware_is_tainted): Likewise.
37442
37443 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
37444 (grub_disk_biosdisk_fini): ... to here.
37445 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
37446 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
37447 is set. Register grub_disk_biosdisk_fini() in
37448 `grub_disk_firmware_fini'.
37449
37450 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
37451 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
37452 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
37453 to finish existing firmware disk interface.
37454
37455 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
37456 (ata_mod_SOURCES): New variable.
37457 (ata_mod_CFLAGS): Likewise.
37458 (ata_mod_LDFLAGS): Likewise.
37459
0149ab7c 374602007-11-05 Robert Millan <rmh@aybabtu.com>
37461
37462 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
37463 (grub_ata_wait): Reimplement using grub_millisleep().
37464
37465 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
37466 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
37467
be7ac41e 374682007-11-03 Marco Gerards <marco@gnu.org>
37469
37470 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
37471 (CRTC_ADDR_PORT): New macro.
37472 (CRTC_DATA_PORT): Likewise.
37473 (CRTC_CURSOR): Likewise.
37474 (CRTC_CURSOR_ADDR_HIGH): Likewise.
37475 (CRTC_CURSOR_ADDR_LOW): Likewise.
37476 (update_cursor): New function.
37477 (grub_console_real_putchar): Call `update_cursor'.
37478 (grub_console_gotoxy): Likewise.
37479 (grub_console_cls): Set the default color when clearing the
37480 screen.
37481 (grub_console_setcursor): Implemented.
37482
bb06ab2e 374832007-11-03 Marco Gerards <marco@gnu.org>
37484
37485 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
37486 become activate.
37487 (grub_ata_pio_write): Likewise.
37488
37489 (grub_atapi_identify): Wait after issuing an ATA command.
37490 (grub_atapi_packet): Likewise.
37491 (grub_ata_identify): Likewise.
37492 (grub_ata_readwrite): Likewise.
37493
cf8f780b 374942007-11-03 Marco Gerards <marco@gnu.org>
37495
37496 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
37497 (grub_ata_pio_write): Likewise.
37498 (grub_ata_readwrite): Use `grub_error', instead of
37499 returning `grub_errno'.
37500
ed649e54 375012007-11-03 Marco Gerards <marco@gnu.org>
37502
37503 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
37504 grub_ata_pio_write once for every single sector, instead of for
37505 multiple sectors.
37506
ca25d8f0 375072007-10-31 Robert Millan <rmh@aybabtu.com>
37508
37509 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
37510
37511 * conf/i386-linuxbios.rmk: New file.
37512
37513 * kern/i386/pc/hardware.c: Likewise.
37514 * term/i386/pc/at_keyboard.c: Likewise.
37515 * term/i386/pc/vga_text.c: Likewise.
37516
37517 * include/grub/i386/linuxbios/boot.h: Likewise.
37518 * include/grub/i386/linuxbios/console.h: Likewise.
37519 * include/grub/i386/linuxbios/init.h: Likewise.
37520 * include/grub/i386/linuxbios/kernel.h: Likewise.
37521 * include/grub/i386/linuxbios/loader.h: Likewise.
37522 * include/grub/i386/linuxbios/memory.h: Likewise.
37523 * include/grub/i386/linuxbios/serial.h: Likewise.
37524 * include/grub/i386/linuxbios/time.h: Likewise.
37525
37526 * kern/i386/linuxbios/init.c: Likewise.
37527 * kern/i386/linuxbios/startup.S: Likewise.
37528 * kern/i386/linuxbios/table.c: Likewise.
37529
e911ecc1 375302007-10-31 Marco Gerards <marco@gnu.org>
37531
37532 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
37533 (ata_mod_SOURCES): New variable.
37534 (ata_mod_CFLAGS): Likewise.
37535 (ata_mod_LDFLAGS): Likewise.
37536
37537 * disk/ata.c: New file.
37538
37539 * include/grub/disk.h (grub_disk_dev_id): Add
37540 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 37541
7f66d0e0 375422007-10-31 Robert Millan <rmh@aybabtu.com>
37543
37544 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
37545 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
37546
37547 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
37548 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
37549
37550 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
37551 `<grub/types.h>'.
37552
37553 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
37554
5cd7dd46 375552007-10-27 Robert Millan <rmh@aybabtu.com>
37556
3236ca65 37557 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 37558
2ebfc90f 375592007-10-22 Robert Millan <rmh@aybabtu.com>
37560
37561 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
37562 `"../realmode.S"'.
37563 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
37564
73fcb0f3 375652007-10-22 Robert Millan <rmh@aybabtu.com>
37566
37567 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
37568 (pkgdata_MODULES): Add `biosdisk.mod'.
37569 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
37570 variables.
37571
37572 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
37573 (grub_biosdisk_init): Replace with ...
37574 (GRUB_MOD_INIT(biosdisk)): ... this.
37575 (grub_biosdisk_fini): Replace with ...
37576 (GRUB_MOD_FINI(biosdisk)): ... this.
37577
37578 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
37579 (grub_machine_init): Remove call to grub_biosdisk_init().
37580 (grub_machine_fini): Remove call to grub_machine_fini().
37581
37582 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
37583
3381d274 375842007-10-22 Robert Millan <rmh@aybabtu.com>
37585
37586 * include/grub/time.h: New file.
37587 * include/grub/i386/time.h: Likewise.
37588 * include/grub/powerpc/time.h: Likewise.
37589 * include/grub/sparc64/time.h: Likewise.
37590
37591 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
37592 instances to ...
37593 (KERNEL_MACHINE_TIME_HEADER): ... this.
37594 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37595 instances to ...
37596 (KERNEL_MACHINE_TIME_HEADER): ... this.
37597 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37598 instances to ...
37599 (KERNEL_MACHINE_TIME_HEADER): ... this.
37600
37601 * kern/i386/efi/init.c: Include `<grub/time.h>'.
37602 (grub_millisleep): New function.
37603 * kern/i386/pc/init.c: Include `<grub/time.h>'.
37604 (grub_millisleep): New function.
37605 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
37606 Remove `grub/machine/time.h' include.
37607 (grub_millisleep): New function.
37608 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
37609 Remove `grub/machine/time.h' include.
37610 (grub_millisleep): New function.
37611
37612 * include/grub/misc.h (grub_div_roundup): New function.
37613
37614 * kern/misc.c: Include `<grub/time.h>'.
37615 (grub_millisleep_generic): New function.
37616
37617 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
37618 Add `time.h'.
37619 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
37620 Add `time.h'.
37621 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
37622 `machine/time.h'. Add `time.h'.
37623 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37624
a39a0312 376252007-10-21 Robert Millan <rmh@aybabtu.com>
37626
37627 * include/grub/misc.h (grub_max): New function.
37628
2aad70e2 376292007-10-21 Robert Millan <rmh@aybabtu.com>
37630
37631 * util/misc.c (grub_util_info): Call fflush() before returning.
37632
54b71c4b 376332007-10-20 Robert Millan <rmh@aybabtu.com>
37634
37635 * genmk.rb (Image): Copy `extra_flags' from here ...
37636 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37637
37638 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37639 to `argc' and `args' arguments.
37640
a979f513 376412007-10-17 Robert Millan <rmh@aybabtu.com>
37642
37643 * kern/i386/loader.S: New file.
37644
37645 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37646 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37647 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37648 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37649 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37650 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37651 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37652 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37653 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37654 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37655 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37656 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37657 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37658 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37659
37660 * kern/i386/realmode.S: New file.
37661
37662 * kern/i386/pc/startup.S (protstack): Moved from here ...
37663 * kern/i386/realmode.S (protstack)... to here.
37664 * kern/i386/pc/startup.S (gdt): Moved from here ...
37665 * kern/i386/realmode.S (gdt)... to here.
37666 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37667 * kern/i386/realmode.S (prot_to_real)... to here.
37668
37669 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37670 `kern/i386/realmode.S'.
37671
825fc8fd 376722007-10-17 Robert Millan <rmh@aybabtu.com>
37673
37674 * include/grub/i386/loader.h: New file.
37675
37676 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37677 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37678 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37679 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37680 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37681 * include/grub/i386/loader.h (grub_linux_prot_size)
37682 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37683 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37684 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37685 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37686
37687 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37688
e179b2f4 376892007-10-15 Robert Millan <rmh@aybabtu.com>
37690
37691 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37692 filesystem when dev->disk is unset.
37693 Do probe for filesystem even when dev->disk->has_partitions is set.
37694 In case a filesystem is found, always report it.
37695 In case it isn't, if dev->disk->has_partitions is set, report that
37696 a partition table was found instead of reporting that no filesystem
37697 could be identified.
37698
5db82af6 376992007-10-12 Robert Millan <rmh@aybabtu.com>
37700
37701 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37702 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37703
68f6ac74 37704 * include/grub/types.h (grub_host_to_target16): New macro.
37705 (grub_host_to_target32): Likewise.
37706 (grub_host_to_target64): Likewise.
37707 (grub_target_to_host16): Likewise.
37708 (grub_target_to_host32): Likewise.
37709 (grub_target_to_host64): Likewise.
5db82af6 37710
37711 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37712 Renamed from to ...
37713 (GRUB_MOD_ALIGN): ...this. Update all users.
37714
68f6ac74 37715 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37716 grub_host_to_target32.
37717 Replace grub_be_to_cpu32 with grub_target_to_host32.
37718 (load_modules): Likewise.
37719 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37720 Replace grub_be_to_cpu32 with grub_target_to_host32.
37721 Replace grub_cpu_to_be16 with grub_host_to_target16.
37722 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37723
3cf497cc 377242007-10-12 Robert Millan <rmh@aybabtu.com>
37725
37726 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37727 * util/elf/grub-mkimage.c: ... here.
37728
37729 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37730 `util/powerpc/ieee1275/grub-mkimage.c'.
37731
c8cc3692 377322007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37733
c8cc3692 37734 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37735 and make it easier to figure out.
37736 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37737 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37738 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37739 leave us with less than HEAP_MIN_SIZE total heap.
37740 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37741
5c58b791 377422007-10-03 Robert Millan <rmh@aybabtu.com>
37743
37744 * include/grub/i386/io.h: New file.
37745 * commands/i386/pc/play.c (inb): Removed.
37746 (outb): Removed.
37747 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37748 with grub_outb().
afcd2ef8 37749 * term/i386/pc/serial.c (inb): Removed.
37750 (outb): Removed.
37751 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37752 with grub_outb().
37753 * term/i386/pc/vga.c (inb): Removed.
37754 (outb): Removed.
37755 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37756 with grub_outb().
5c58b791 37757
1a477ed6 377582007-10-02 Robert Millan <rmh@aybabtu.com>
37759
37760 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37762 Reported by Marcin Kurek.
37763
6b5d80fa 377642007-09-07 Robert Millan <rmh@aybabtu.com>
37765
37766 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37767 SmartFirmware version updates (as released by Sven Luther), and avoid
37768 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37769 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37770 known broken.
37771
5618afbf 377722007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37773
37774 From Hitoshi Ozeki:
37775 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37776 when merging two regions.
37777
6139dcd9 377782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37779
508e39ee 37780 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37781 * normal/completion.c (grub_normal_do_completion): Likewise.
37782 Reported by Hitoshi Ozeki.
37783
377842007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37785
6139dcd9 37786 Do not use devices at boot in chainloading.
f19dbdb7 37787
6139dcd9 37788 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37789 (boot_part_addr): Likewise.
37790 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37791 with BOOT_DRIVE and BOOT_PART_ADDR.
37792 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37793 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37794
38da6516 377952007-08-29 Robert Millan <rmh@aybabtu.com>
37796
37797 Patch from Simon Peter <dn.tlp@gmx.net>:
37798 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37799 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37800 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37801 util/i386/pc/grub-setup.c_DEPENDENCIES.
37802 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37803 util/grub-probe.c_DEPENDENCIES.
37804 * conf/powerpc-ieee1275.rmk: Likewise.
37805
29d0928c 378062007-08-28 Robert Millan <rmh@aybabtu.com>
37807
37808 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37809 to tell grub-mkdevicemap how to name devices.
37810 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37811 feature).
37812
37813 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37814 util/i386/get_disk_name.c.
37815 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37816 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37817 util/ieee1275/get_disk_name.c.
37818
37819 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37820
37821 * DISTLIST: Add util/i386/get_disk_name.c and
37822 util/ieee1275/get_disk_name.c.
37823
37824 * util/grub-mkdevicemap.c: Replace device naming logic with
37825 grub_util_get_disk_name() calls.
37826
5a0d3cca 378272007-08-20 Robert Millan <rmh@aybabtu.com>
37828
37829 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37830 (so that it works for both plural and singular quantities).
37831
8b72db2f 378322007-08-05 Robert Millan <rmh@aybabtu.com>
37833
37834 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37835 so that [xz] isn't taken into account when determining order.
37836
352466bf 378372007-08-02 Marco Gerards <marco@gnu.org>
37838
37839 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37840 `include/multiboot2.h', `include/grub/elfload.h',
37841 `include/multiboot.h', `include/grub/multiboot.h',
37842 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37843 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37844 `kern/elf.c', `loader/multiboot_loader.c',
37845 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37846 `loader/i386/pc/multiboot2.c',
37847 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37848 `util/i386/pc/grub-mkrescue.in'. Remove
37849 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37850 `include/grub/i386/pc/util/biosdisk.h' and
37851 `include/grub/powerpc/ieee1275/multiboot.h'.
37852
8f096014 378532007-08-02 Bean <bean123ch@gmail.com>
37854
37855 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37856 (ntfs_mod_SOURCES): New variable.
37857 (ntfs_mod_CFLAGS): Likewise.
37858 (ntfs_mod_LDFLAGS): Likewise.
37859
37860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37861 (grub_probe_SOURCES): Likewise.
37862 (grub_emu_SOURCES): Likewise.
37863
37864 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37865 (grub_emu_SOURCES): Likewise.
37866
37867 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37868 (grub_emu_SOURCES): Likewise.
f19dbdb7 37869
8f096014 37870 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37871
37872 * fs/ntfs.c: New file.
37873
9959f7db 378742007-08-02 Bean <bean123ch@gmail.com>
37875
37876 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37877
37878 * file.h (grub_file): Likewise.
37879
37880 * fshelp.h (grub_fshelp_read_file): Likewise.
37881
37882 * util/i386/pc/grub-setup.c (setup): Likewise.
37883 (save_first_sector): Likewise.
37884 (save_blocklists): Likewise.
f19dbdb7 37885
9959f7db 37886 * fs/affs.c (grub_affs_read_file): Likewise.
37887
37888 * fs/ext2.c (grub_ext2_read_file): Likewise.
37889
37890 * fs/fat.c (grub_fat_read_data): Likewise.
37891
37892 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37893
37894 * fs/hfs.c (grub_hfs_read_file): Likewise.
37895
37896 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37897
37898 * fs/jfs.c (grub_jfs_read_file): Likewise.
37899
37900 * fs/minix.c (grub_minix_read_file): Likewise.
37901
37902 * fs/sfs.c (grub_sfs_read_file): Likewise.
37903
37904 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37905
9959f7db 37906 * fs/xfs.c (grub_xfs_read_file): Likewise.
37907
37908 * command/blocklist.c (read_blocklist): Likewise.
37909 (print_blocklist): Likewise.
37910
0a203f83 379112007-08-02 Marco Gerards <marco@gnu.org>
37912
37913 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37914 `util/hostfs.c'.
37915
37916 * disk/host.c: New file.
37917
37918 * util/hostfs.c: Likewise.
37919
37920 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37921 return `GRUB_ERR_BAD_FS'.
37922 * fs/sfs.c (grub_sfs_mount): Likewise.
37923 * fs/xfs.c (grub_xfs_mount): Likewise.
37924
37925 * include/grub/disk.h (enum grub_disk_dev_id): Add
37926 `GRUB_DISK_DEVICE_HOST_ID'.
37927
37928 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37929
e5dfe777 379302007-07-24 Jerone Young <jerone@gmail.com>
37931
f19dbdb7 37932 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37933 modules for compilation.
37934 * conf/powerpc-ieee1275.rmk: Likewise.
37935
37936 * include/multiboot.h: Move multiboot definitions to one file. Rename
37937 many definitions to not get grub specific.
37938 * include/multiboot2.h: Create header with multiboot 2 definitions.
37939 * include/grub/multiboot.h: Header for grub specific function
37940 prototypes and definitions.
37941 * include/grub/multiboot2.h: Likewise.
37942 * include/grub/multiboot_loader.h: Likewise.
37943 * include/grub/i386/pc/multiboot.h: Removed.
37944 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37945
37946 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37947 and 2 to allow for one multiboot and module commands.
37948 * loader/multiboot2.c: Add multiboot2 functionality.
37949 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37950 and definition names.
37951 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37952 2 functions.
37953 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37954 ieee1275 specific multiboot2 code.
37955
37956 * kern/i386/pc/startup.S: Change headers and definition names for
37957 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37958
daf0f0ba 379592007-07-22 Robert Millan <rmh@aybabtu.com>
37960
37961 * geninitheader.sh: Process file specified in first parameter rather
37962 than hardcoding grub_modules_init.lst.
fe6b695a 37963 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37964 than hardcoding grub_modules_init.h.
37965
37966 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37967 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37968 grub_probe_init.[ch] and grub_setup_init.[ch].
37969
37970 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37971 grub_modules_init.h with grub_emu_init.h.
37972 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37973 grub_probe_init.[ch] files.
37974 * conf/i386-efi.rmk: Likewise.
37975 * conf/i386-pc.rmk: Likewise.
37976 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37977 grub_setup_init.[ch] files.
37978
37979 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37980 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37981 to initialize modules rather than a list of hardcoded functions.
37982 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37983 grub_init_all() to initialize modules rather than a list of hardcoded
37984 functions.
37985
54cdc1cc 379862007-07-22 Robert Millan <rmh@aybabtu.com>
37987
37988 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37989 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37990
ad0686cc 379912007-07-22 Robert Millan <rmh@aybabtu.com>
37992
37993 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37994 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37995 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37996 flag when running on SmartFirmware.
37997 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37998 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37999 was set.
38000
38001 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38002 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38003 rather than decreasing it.
38004
38005 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38006 there's not enough space to do it, fail in the same way as when it
38007 can't be done because there are no partitions.
38008
38009 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38010 when nvsetenv failed.
38011
969c02ec 380122007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38013
38014 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38015 because this rule is automatically generated.
38016 (grub-mkrescue): Removed for the same reason as above.
38017
5a79f472 380182007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38019
38020 Migrate to GNU General Public License Version 3.
f19dbdb7 38021
5a79f472 38022 * COPYING: Replaced with the plain text version of GPLv3.
38023
38024 * config.guess: Updated from gnulib.
38025 * config.sub: Likewise.
38026
38027 * geninit.sh: Output a GPLv3 copyright notice.
38028 * geninitheader.sh: Likewise.
38029 * genmodsrc.sh: Likewise.
38030 * gensymlist.sh.in: Likewise.
38031
38032 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38033 * boot/i386/pc/diskboot.S: Likewise.
38034 * boot/i386/pc/pxeboot.S: Likewise.
38035 * commands/blocklist.c: Likewise.
38036 * commands/boot.c: Likewise.
38037 * commands/cat.c: Likewise.
38038 * commands/cmp.c: Likewise.
38039 * commands/configfile.c: Likewise.
38040 * commands/echo.c: Likewise.
38041 * commands/help.c: Likewise.
38042 * commands/ls.c: Likewise.
38043 * commands/search.c: Likewise.
38044 * commands/terminal.c: Likewise.
38045 * commands/test.c: Likewise.
38046 * commands/videotest.c: Likewise.
38047 * commands/i386/cpuid.c: Likewise.
38048 * commands/i386/pc/halt.c: Likewise.
38049 * commands/i386/pc/play.c: Likewise.
38050 * commands/i386/pc/reboot.c: Likewise.
38051 * commands/i386/pc/vbeinfo.c: Likewise.
38052 * commands/i386/pc/vbetest.c: Likewise.
38053 * commands/ieee1275/halt.c: Likewise.
38054 * commands/ieee1275/reboot.c: Likewise.
38055 * commands/ieee1275/suspend.c: Likewise.
38056 * disk/loopback.c: Likewise.
38057 * disk/lvm.c: Likewise.
38058 * disk/raid.c: Likewise.
38059 * disk/efi/efidisk.c: Likewise.
38060 * disk/i386/pc/biosdisk.c: Likewise.
38061 * disk/ieee1275/ofdisk.c: Likewise.
38062 * font/manager.c: Likewise.
38063 * fs/affs.c: Likewise.
38064 * fs/ext2.c: Likewise.
38065 * fs/fat.c: Likewise.
38066 * fs/fshelp.c: Likewise.
38067 * fs/hfs.c: Likewise.
38068 * fs/hfsplus.c: Likewise.
38069 * fs/iso9660.c: Likewise.
38070 * fs/jfs.c: Likewise.
38071 * fs/minix.c: Likewise.
38072 * fs/sfs.c: Likewise.
38073 * fs/ufs.c: Likewise.
38074 * fs/xfs.c: Likewise.
38075 * hello/hello.c: Likewise.
38076 * include/grub/acorn_filecore.h: Likewise.
38077 * include/grub/arg.h: Likewise.
38078 * include/grub/bitmap.h: Likewise.
38079 * include/grub/boot.h: Likewise.
38080 * include/grub/cache.h: Likewise.
38081 * include/grub/device.h: Likewise.
38082 * include/grub/disk.h: Likewise.
38083 * include/grub/dl.h: Likewise.
38084 * include/grub/elfload.h: Likewise.
38085 * include/grub/env.h: Likewise.
38086 * include/grub/err.h: Likewise.
38087 * include/grub/file.h: Likewise.
38088 * include/grub/font.h: Likewise.
38089 * include/grub/fs.h: Likewise.
38090 * include/grub/fshelp.h: Likewise.
38091 * include/grub/gzio.h: Likewise.
38092 * include/grub/hfs.h: Likewise.
38093 * include/grub/kernel.h: Likewise.
38094 * include/grub/loader.h: Likewise.
38095 * include/grub/lvm.h: Likewise.
38096 * include/grub/misc.h: Likewise.
38097 * include/grub/mm.h: Likewise.
38098 * include/grub/net.h: Likewise.
38099 * include/grub/normal.h: Likewise.
38100 * include/grub/parser.h: Likewise.
38101 * include/grub/partition.h: Likewise.
38102 * include/grub/pc_partition.h: Likewise.
38103 * include/grub/raid.h: Likewise.
38104 * include/grub/rescue.h: Likewise.
38105 * include/grub/script.h: Likewise.
38106 * include/grub/setjmp.h: Likewise.
38107 * include/grub/symbol.h: Likewise.
38108 * include/grub/term.h: Likewise.
38109 * include/grub/terminfo.h: Likewise.
38110 * include/grub/tparm.h: Likewise.
38111 * include/grub/types.h: Likewise.
38112 * include/grub/video.h: Likewise.
38113 * include/grub/efi/api.h: Likewise.
38114 * include/grub/efi/chainloader.h: Likewise.
38115 * include/grub/efi/console.h: Likewise.
38116 * include/grub/efi/console_control.h: Likewise.
38117 * include/grub/efi/disk.h: Likewise.
38118 * include/grub/efi/efi.h: Likewise.
38119 * include/grub/efi/pe32.h: Likewise.
38120 * include/grub/efi/time.h: Likewise.
38121 * include/grub/i386/linux.h: Likewise.
38122 * include/grub/i386/setjmp.h: Likewise.
38123 * include/grub/i386/types.h: Likewise.
38124 * include/grub/i386/efi/kernel.h: Likewise.
38125 * include/grub/i386/efi/loader.h: Likewise.
38126 * include/grub/i386/efi/time.h: Likewise.
38127 * include/grub/i386/pc/biosdisk.h: Likewise.
38128 * include/grub/i386/pc/boot.h: Likewise.
38129 * include/grub/i386/pc/chainloader.h: Likewise.
38130 * include/grub/i386/pc/console.h: Likewise.
38131 * include/grub/i386/pc/init.h: Likewise.
38132 * include/grub/i386/pc/kernel.h: Likewise.
38133 * include/grub/i386/pc/loader.h: Likewise.
38134 * include/grub/i386/pc/memory.h: Likewise.
38135 * include/grub/i386/pc/multiboot.h: Likewise.
38136 * include/grub/i386/pc/serial.h: Likewise.
38137 * include/grub/i386/pc/time.h: Likewise.
38138 * include/grub/i386/pc/vbe.h: Likewise.
38139 * include/grub/i386/pc/vbeblit.h: Likewise.
38140 * include/grub/i386/pc/vbefill.h: Likewise.
38141 * include/grub/i386/pc/vbeutil.h: Likewise.
38142 * include/grub/i386/pc/vga.h: Likewise.
38143 * include/grub/ieee1275/ieee1275.h: Likewise.
38144 * include/grub/ieee1275/ofdisk.h: Likewise.
38145 * include/grub/powerpc/libgcc.h: Likewise.
38146 * include/grub/powerpc/setjmp.h: Likewise.
38147 * include/grub/powerpc/types.h: Likewise.
38148 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38149 * include/grub/powerpc/ieee1275/console.h: Likewise.
38150 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38151 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38152 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38153 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38154 * include/grub/powerpc/ieee1275/time.h: Likewise.
38155 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38156 * include/grub/sparc64/libgcc.h: Likewise.
38157 * include/grub/sparc64/setjmp.h: Likewise.
38158 * include/grub/sparc64/types.h: Likewise.
38159 * include/grub/sparc64/ieee1275/console.h: Likewise.
38160 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38161 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38162 * include/grub/sparc64/ieee1275/time.h: Likewise.
38163 * include/grub/util/biosdisk.h: Likewise.
38164 * include/grub/util/getroot.h: Likewise.
38165 * include/grub/util/lvm.h: Likewise.
38166 * include/grub/util/misc.h: Likewise.
38167 * include/grub/util/raid.h: Likewise.
38168 * include/grub/util/resolve.h: Likewise.
38169 * io/gzio.c: Likewise.
38170 * kern/device.c: Likewise.
38171 * kern/disk.c: Likewise.
38172 * kern/dl.c: Likewise.
38173 * kern/elf.c: Likewise.
38174 * kern/env.c: Likewise.
38175 * kern/err.c: Likewise.
38176 * kern/file.c: Likewise.
38177 * kern/fs.c: Likewise.
38178 * kern/loader.c: Likewise.
38179 * kern/main.c: Likewise.
38180 * kern/misc.c: Likewise.
38181 * kern/mm.c: Likewise.
38182 * kern/parser.c: Likewise.
38183 * kern/partition.c: Likewise.
38184 * kern/rescue.c: Likewise.
38185 * kern/term.c: Likewise.
38186 * kern/efi/efi.c: Likewise.
38187 * kern/efi/init.c: Likewise.
38188 * kern/efi/mm.c: Likewise.
38189 * kern/i386/dl.c: Likewise.
38190 * kern/i386/efi/init.c: Likewise.
38191 * kern/i386/efi/startup.S: Likewise.
38192 * kern/i386/pc/init.c: Likewise.
38193 * kern/i386/pc/lzo1x.S: Likewise.
38194 * kern/i386/pc/startup.S: Likewise.
38195 * kern/ieee1275/ieee1275.c: Likewise.
38196 * kern/powerpc/cache.S: Likewise.
38197 * kern/powerpc/dl.c: Likewise.
38198 * kern/powerpc/ieee1275/cmain.c: Likewise.
38199 * kern/powerpc/ieee1275/crt0.S: Likewise.
38200 * kern/powerpc/ieee1275/init.c: Likewise.
38201 * kern/powerpc/ieee1275/openfw.c: Likewise.
38202 * kern/sparc64/cache.S: Likewise.
38203 * kern/sparc64/dl.c: Likewise.
38204 * kern/sparc64/ieee1275/init.c: Likewise.
38205 * kern/sparc64/ieee1275/openfw.c: Likewise.
38206 * loader/efi/chainloader.c: Likewise.
38207 * loader/efi/chainloader_normal.c: Likewise.
38208 * loader/i386/efi/linux.c: Likewise.
38209 * loader/i386/efi/linux_normal.c: Likewise.
38210 * loader/i386/pc/chainloader.c: Likewise.
38211 * loader/i386/pc/chainloader_normal.c: Likewise.
38212 * loader/i386/pc/linux.c: Likewise.
38213 * loader/i386/pc/linux_normal.c: Likewise.
38214 * loader/i386/pc/multiboot.c: Likewise.
38215 * loader/i386/pc/multiboot_normal.c: Likewise.
38216 * loader/powerpc/ieee1275/linux.c: Likewise.
38217 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38218 * normal/arg.c: Likewise.
38219 * normal/cmdline.c: Likewise.
38220 * normal/command.c: Likewise.
38221 * normal/completion.c: Likewise.
38222 * normal/execute.c: Likewise.
38223 * normal/function.c: Likewise.
38224 * normal/lexer.c: Likewise.
38225 * normal/main.c: Likewise.
38226 * normal/menu.c: Likewise.
38227 * normal/menu_entry.c: Likewise.
38228 * normal/misc.c: Likewise.
38229 * normal/parser.y: Likewise.
38230 * normal/script.c: Likewise.
38231 * normal/i386/setjmp.S: Likewise.
38232 * normal/powerpc/setjmp.S: Likewise.
38233 * normal/sparc64/setjmp.S: Likewise.
38234 * partmap/acorn.c: Likewise.
38235 * partmap/amiga.c: Likewise.
38236 * partmap/apple.c: Likewise.
38237 * partmap/gpt.c: Likewise.
38238 * partmap/pc.c: Likewise.
38239 * partmap/sun.c: Likewise.
38240 * term/gfxterm.c: Likewise.
38241 * term/terminfo.c: Likewise.
38242 * term/efi/console.c: Likewise.
38243 * term/i386/pc/console.c: Likewise.
38244 * term/i386/pc/serial.c: Likewise.
38245 * term/i386/pc/vesafb.c: Likewise.
38246 * term/i386/pc/vga.c: Likewise.
38247 * term/ieee1275/ofconsole.c: Likewise.
38248 * util/biosdisk.c: Likewise.
38249 * util/console.c: Likewise.
38250 * util/genmoddep.c: Likewise.
38251 * util/getroot.c: Likewise.
38252 * util/grub-emu.c: Likewise.
38253 * util/grub-mkdevicemap.c: Likewise.
38254 * util/grub-probe.c: Likewise.
38255 * util/lvm.c: Likewise.
38256 * util/misc.c: Likewise.
38257 * util/raid.c: Likewise.
38258 * util/resolve.c: Likewise.
38259 * util/update-grub.in: Likewise.
38260 * util/update-grub_lib.in: Likewise.
38261 * util/grub.d/00_header.in: Likewise.
38262 * util/grub.d/10_hurd.in: Likewise.
38263 * util/grub.d/10_linux.in: Likewise.
38264 * util/i386/efi/grub-install.in: Likewise.
38265 * util/i386/efi/grub-mkimage.c: Likewise.
38266 * util/i386/pc/grub-install.in: Likewise.
38267 * util/i386/pc/grub-mkimage.c: Likewise.
38268 * util/i386/pc/grub-mkrescue.in: Likewise.
38269 * util/i386/pc/grub-setup.c: Likewise.
38270 * util/i386/pc/misc.c: Likewise.
38271 * util/powerpc/ieee1275/grub-install.in: Likewise.
38272 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
38273 * util/powerpc/ieee1275/misc.c: Likewise.
38274 * video/bitmap.c: Likewise.
38275 * video/video.c: Likewise.
38276 * video/i386/pc/vbe.c: Likewise.
38277 * video/i386/pc/vbeblit.c: Likewise.
38278 * video/i386/pc/vbefill.c: Likewise.
38279 * video/i386/pc/vbeutil.c: Likewise.
38280 * video/readers/tga.c: Likewise.
38281
3572d015 382822007-07-02 Robert Millan <rmh@aybabtu.com>
38283
38284 * conf/i386-efi.rmk: Replace obsolete reference to
38285 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
38286 with util/getroot.c.
38287 * conf/powerpc-ieee1275.rmk: Likewise.
38288 * conf/sparc64-ieee1275.rmk: Likewise.
38289
38290 * util/grub-emu.c (main): Fix unchecked pointer handling.
38291
2c2a681b 382922007-07-02 Robert Millan <rmh@aybabtu.com>
38293
38294 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
38295 invocation to fail, in order to support partition-less media.
38296
38297 * util/i386/pc/grub-install.in: Likewise.
38298
38299 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
38300 which fs or partmap modules are needed (akin to its sister scripts).
38301
38302 Also use grub-probe to get rid of unportable /proc/mounts check.
38303
38304 Print the same informational message that the other scripts do, before
fe6b695a 38305 exiting.
2c2a681b 38306
6193defe 383072007-06-23 Robert Millan <rmh@aybabtu.com>
38308
fe6b695a 38309 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 38310 a font file can be found and, if so, echo the GRUB path to it.
38311
38312 * util/update-grub.in: Handle multiple terminals depending on user
38313 input, platform availability and font file presence. Propagate
38314 variables of our findings to /etc/grub.d/ children.
38315
38316 * util/grub.d/00_header.in: Handle multiple terminals, based on
38317 environment setup by update-grub.
38318
eface1dc 383192007-06-23 Robert Millan <rmh@aybabtu.com>
38320
ba50d28f 38321 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 38322
bf697e28 383232007-06-21 Robert Millan <rmh@aybabtu.com>
38324
38325 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
38326 indicate end of data section in kernel image.
38327 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
38328 GRUB_KERNEL_MACHINE_DATA_END.
38329
38330 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
38331 space for it.
38332 * kern/i386/efi/startup.S: Likewise.
38333
38334 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
38335 during image generation. Implement --prefix option to override this
38336 patch.
38337 * util/i386/efi/grub-mkimage.c: Likewise.
38338
38339 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
38340 code to make path relative to its root into a separate function.
38341
38342 * util/i386/pc/grub-install.in: Use newly provided
38343 make_system_path_relative_to_its_root() to convert ${grubdir}, then
38344 pass the result to grub-install --prefix.
38345
baa574b4 383462007-06-13 Robert Millan <rmh@aybabtu.com>
38347
38348 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
38349 DEFAULT_DEVICE_MAP.
38350 * util/grub-emu.c: Use above definitions from misc.h instead of
38351 defining them.
38352 * util/grub-mkdevicemap.c: Likewise.
38353 * util/i386/pc/grub-setup.c: Likewise.
38354 * util/grub-probe.c: Likewise.
38355 (probe): Abort with grub_util_error() when either
38356 grub_guess_root_device or grub_util_get_grub_dev fails.
38357
0215dcbf 383582007-06-12 Robert Millan <rmh@aybabtu.com>
38359
38360 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
38361 "pager" assignment.
38362 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
38363 "pcdata".
38364 * util/grub-probe.c (probe): Likewise for "drive_name".
38365
8af2ab7b 383662007-06-11 Robert Millan <rmh@aybabtu.com>
38367
38368 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
38369 not just the cdrom one.
38370
59d31694 383712007-06-11 Robert Millan <rmh@aybabtu.com>
38372
38373 * util/i386/pc/grub-mkrescue.in: Add "set -e".
38374 Add --pkglibdir=DIR option to override pkglibdir.
38375 Mention --image-type=TYPE in help output.
38376 Fix --grub-mkimage (it was a no-op).
fe6b695a 38377 Abort gracefully when no parameter is given.
59d31694 38378
7ee367e4 383792007-06-11 Robert Millan <rmh@aybabtu.com>
38380
38381 * util/i386/pc/grub-mkrescue.in: New file.
38382 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
38383 * Makefile.in: Handle bin_SCRIPTS.
38384
29b0ed46 383852007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
38386
38387 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
38388 list of video modes.
38389
c0f90770 383902007-06-06 Robert Millan <rmh@aybabtu.com>
38391
38392 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
38393 file doesn't exist, or if it is in a filesystem grub can't read.
38394
38395 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
38396 not abort if GRUB_DRIVE could not be defined. Rearrange generated
38397 header comment to fit in 80 columns when the variables are resolved.
38398
38399 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
38400 could be identified by update-grub. Remove redundant check for
fe6b695a 38401 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 38402 handles that).
38403
fb36dc26 384042007-06-04 Robert Millan <rmh@aybabtu.com>
38405
38406 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
38407
38408 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
38409
38410 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
38411
0c68c93e 384122007-06-04 Robert Millan <rmh@aybabtu.com>
38413
38414 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
38415
38416 * include/grub/partition.h: Declare grub_apple_partition_map_init and
38417 grub_apple_partition_map_fini.
38418
38419 * util/biosdisk.c
38420 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
38421 to access >2 TiB disks).
38422
38423 Print disk->total_sectors with %llu instead of %lu, since this
38424 variable is always 64-bit (prevents wrong disk size from being displayed
38425 on either >2 TiB disk or big-endian CPU).
38426
38427 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
38428 into a generic case that supports all (sane) partition maps.
38429
38430 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
38431 breaks big-endian.
38432
38433 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
38434 and grub_apple_partition_map_fini() after that.
38435
0f23eb74 384362007-06-01 Robert Millan <rmh@aybabtu.com>
38437
38438 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
38439
38440 * util/grub.d/00_header.in: Only enable gfxterm when
38441 convert_system_path_to_grub_path() succeeds.
38442
42c71976 384432007-05-20 Robert Millan <rmh@aybabtu.com>
38444
38445 * util/update-grub_lib.in: New file.
38446 * DISTLIST: Add update-grub_lib.in.
38447 * conf/common.rmk: Generate update-grub_lib and install it in
38448 $(lib_DATA).
38449 * Makefile.in: Add install routine for $(lib_DATA).
38450
38451 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
38452 function provided by update-grub_lib to support arbitrary paths of
38453 unifont.pff.
38454 * util/update-grub.in: Use convert_system_path_to_grub_path() to
38455 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
38456
5beb2291 384572007-05-19 Robert Millan <rmh@aybabtu.com>
38458
38459 * commands/i386/cpuid.c: New module.
38460 * DISTLIST: Add it.
38461 * conf/i386-efi.rmk: Enable cpuid.mod.
38462 * conf/i386-pc.rmk: Likewise.
38463
7262eca1 384642007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38465
38466 * kern/disk.c (grub_disk_read): Check return value of
38467 grub_realloc().
38468
260ba823 384692007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38470
38471 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
38472 arrays.
38473 * disk/raid.c (grub_raid_open): Likewise.
38474
1ecb6cf2 384752007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38476
38477 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
38478 stack instead of on the heap.
38479
38480 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
38481 before doing a read on it.
38482
38483 * configure.ac: Only use -fno-stack-protector for the target
38484 environment.
f19dbdb7 38485
21c8cbb1 384862007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38487
38488 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
38489 __attribute_ ((unused)) to mode_type argument.
38490
38491 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 38492
21c8cbb1 38493 * kern/misc.c (memcmp): Fix prototype.
38494
38495 * include/grub/partition.h [GRUB_UTIL]
38496 (grub_gpt_partition_map_init): Add prototype.
38497 (grub_gpt_partition_map_fini): Likewise.
38498
38499 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
38500 at the right place.
38501
38502 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
38503 (grub_fat_read_data): Likewise.
38504 (grub_fat_find_dir): Likewise.
38505
38506 * font/manager.c (find_glyph): Make table a const.
38507 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 38508
849d55d3 385092007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
38510
38511 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
38512 code, first search for device in /dev/mapper, then in /dev.
38513 (grub_util_get_grub_dev): New function.
38514 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
38515 prototype.
38516 * util/grub-probe.c (probe): Remove check for RAID, call
38517 grub_util_get_grub_dev() instead of
38518 grub_util_biosdisk_get_grub_dev().
38519 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
38520 grub_util_biosdisk_get_grub_dev().
38521 * util/i386/pc/grub-setup.c (main): Likewise.
38522
8fff7c2f 385232007-05-16 Robert Millan <rmh@aybabtu.com>
38524
38525 * DISTLIST: Update for the latest changes.
38526 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
38527 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
38528 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
38529 grub/util/biosdisk.h.
38530 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
38531 grub/util/biosdisk.h.
38532
48e12b52 385332007-05-16 Robert Millan <rmh@aybabtu.com>
38534
38535 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
38536
46b9d128 385372007-05-16 Robert Millan <rmh@aybabtu.com>
38538
38539 * util/i386/efi/grub-install.in: New.
38540 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
38541 newly added grub-install.
38542 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
38543 include.
38544 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
38545 grub/util/biosdisk.h.
38546 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
38547 grub/util/biosdisk.h.
38548
2d1a40a9 385492007-05-16 Robert Millan <rmh@aybabtu.com>
38550
38551 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
38552 * include/grub/util/biosdisk.h: ... here.
38553 * util/i386/pc/biosdisk.c: Moved to ...
38554 * util/biosdisk.c: ... here.
38555 * util/i386/pc/getroot.c: Moved to ...
38556 * util/getroot.c: ... here.
38557 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
38558 * util/grub-mkdevicemap.c: ... here.
38559 * util/i386/pc/grub-probe.c: Moved to ...
38560 * util/grub-probe.c: ... here.
38561
9e26e3bc 385622007-05-15 Robert Millan <rmh@aybabtu.com>
38563
38564 * util/update-grub.in: Remove duplicated line in grub.cfg header
38565 message.
38566
57f96397 385672007-05-13 Robert Millan <rmh@aybabtu.com>
38568
38569 * util/update-grub.in: Fix a few assumptions about the devices holding
38570 /, /boot and /boot/grub being the same.
38571 * util/grub.d/00_header.in: Likewise.
38572 * util/grub.d/10_hurd.in: Likewise.
38573 * util/grub.d/10_linux.in: Likewise.
38574
38575 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
38576 patterns. Use that to define the `.old' suffix as older than `'.
38577
38578 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
38579
38580 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
38581 the grub.cfg header message.
38582
2e610d62 385832007-05-11 Robert Millan <rmh@aybabtu.com>
38584
38585 * util/update-grub.in: Create device.map if it doesn't already exist,
38586 before attempting to run grub-probe.
38587 Check for grub-probe and grub-mkdevicemap with the same code
38588 grub-install is using.
38589 Remove test mode.
38590
3f6a10ef 385912007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
38592
38593 * Makefile.in: Add the datarootdir autoconf variable.
38594
02e7b75e 385952007-05-09 Robert Millan <rmh@aybabtu.com>
38596
38597 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 38598 fail gracefully if dev->disk->partition == NULL.
02e7b75e 38599
75f396cc 386002007-05-07 Robert Millan <rmh@aybabtu.com>
38601
38602 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
38603 determine partition map module.
38604 * util/i386/pc/grub-install.in: Use this feature to decide which
38605 partition module to load, instead of hardcoding pc and gpt.
38606
da65cb36 386072007-05-07 Robert Millan <rmh@aybabtu.com>
38608
38609 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
38610 source directory differs from build directory.
38611
b57d6a91 386122007-05-05 Robert Millan <rmh@aybabtu.com>
38613
38614 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
38615 initialisation.
38616
509d00f1 386172007-05-05 Robert Millan <rmh@aybabtu.com>
38618
38619 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
38620
c48f23ef 386212007-05-05 Robert Millan <rmh@aybabtu.com>
38622
38623 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38624 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38625
20b97658 386262007-05-05 Robert Millan <rmh@aybabtu.com>
38627
38628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38629 (grub_probe_SOURCES): Likewise.
38630 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38631 GPT and initialize dos_part and bsd_part accordingly.
38632 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38633 install_bsd_part.
38634 (main): Activate gpt module for use during partition identification,
38635 and deactivate it afterwards.
38636 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38637 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38638 partition identification, and deactivate it afterwards.
38639
99123174 386402007-05-05 Robert Millan <rmh@aybabtu.com>
38641
38642 * term/i386/pc/console.c (grub_console_fini): Call
38643 grub_term_set_current() before grub_term_unregister().
38644
ebd97f6e 386452007-05-04 Robert Millan <rmh@aybabtu.com>
38646
38647 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38648 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38649 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38650 and update-grub_DATA.
38651 * conf/common.rmk: Build and install update-grub components.
38652 * conf/common.mk: Regenerate.
38653 * util/update-grub.in: New. Core of update-grub.
38654 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38655 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38656 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38657 * util/grub.d/README: New. Document grub.d directory layout.
38658
b06a264d 386592007-05-01 Robert Millan <rmh@aybabtu.com>
38660
38661 * util/grub-emu.c: Move initialization functions
38662 grub_util_biosdisk_init() and grub_init_all() before
38663 grub_util_biosdisk_get_grub_dev(), which relies on them.
38664
41f0050e 386652007-04-19 Robert Millan <rmh@aybabtu.com>
38666
38667 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38668 it is used later.
38669
04582bb3 386702007-04-18 Jerone Young <jerone@gmail.com>
38671
f19dbdb7 38672 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38673 stanza.
38674
08db4632 386752007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38676
08db4632 38677 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38678 continue on and look for device node with real device name.
38679
801b76be 386802007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38681
fe6b695a 38682 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38683 ability.
38684 * Makefile.in: Add autoconf package transformation code.
38685 * util/i386/pc/grub-install.in: Likewise.
38686 * util/powerpc/ieee1275/grub-install.in: Likewise.
38687
6795c4e1 386882007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38689
38690 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38691 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38692 (EXT2_REVISION): Likewise.
38693 (EXT2_INODE_SIZE): Likewise.
38694 (struct grub_ext2_block_group): Added a missing member
38695 "used_dirs".
38696 (grub_ext2_read_inode): Divide by the inode size in a superblock
38697 instead of 128 to obtain INODES_PER_BLOCK.
38698 Use the macro EXT2_INODE_SIZE instead of directly using
38699 SBLOCK->INODE_SIZE.
38700
d70af616 387012007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38702
38703 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38704 superblock instead of the structure size to compute an
38705 offset. This fixes the problem that GRUB could not read a
38706 filesystem when inode size is different from 128-byte.
38707
3b801603 387082007-03-05 Marco Gerards <marco@gnu.org>
38709
38710 * normal/main.c (read_config_file): When "menu" is not set, create
38711 an initial context.
38712
4785bfe4 387132007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38714
38715 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38716 (HEAP_LIMIT): New macro.
38717 (grub_claim_heap): Claim memory up to `heaplimit'.
38718
a0cbb023 387192007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38720
38721 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38722 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38723 (_start): Likewise.
38724 (grub_arch_modules_addr): Return address after `_end'.
38725 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38726 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38727 (add_segments): Calculate `_end' from phdr size and location.
38728 (ALIGN_UP): Moved to ...
38729 * include/grub/misc.h: here.
38730 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38731 New macro.
38732 (GRUB_IEEE1275_MODULE_BASE): Removed.
38733
fd7d8eba 387342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38735
38736 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38737 loop boundary.
38738
9b09e6fc 387392007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38740
38741 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38742 All users updated.
38743 (grub_elf64_load_hook_t): Likewise.
38744 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38745 debug output.
38746
3ce27299 387472007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38748
38749 * kern/mm.c: Update copyright.
38750 (grub_mm_debug): Correct syntax error.
38751 (grub_mm_dump_free): New function.
38752 (grub_debug_free): Call `grub_free'.
38753 * include/grub/mm.h: Update copyright.
38754 (grub_mm_dump_free): Add declaration.
38755
077d5fee 387562007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38757
38758 * include/grub/ieee1275/ieee1275.h: Update copyright.
38759 * kern/powerpc/ieee1275/init.c: Likewise.
38760 * kern/powerpc/ieee1275/openfw.c: Likewise.
38761
38762 * loader/powerpc/ieee1275/linux.c: Likewise.
38763 * include/grub/elfload.h: Likewise.
38764 * kern/elf.c: Likewise.
38765 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38766 callers.
38767 (grub_elf64_load): Likewise.
38768 (grub_elf32_load_segment): Move to a nested function.
38769 (grub_elf64_load_segment): Likewise.
38770
dc946850 387712007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38772
38773 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38774 prototype.
38775 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38776 (grub_heap_len): Likewise.
38777 (HEAP_SIZE): New macro.
38778 (grub_claim_heap): New function.
38779 (grub_machine_init): Don't claim heap directly. Call
38780 `grub_claim_heap'.
38781 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38782 (grub_available_iterate): New function.
38783
baa2a121 387842007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38785
38786 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38787 * configure.ac: Use it for testing the HOST and TARGET compilers.
38788
4fe9862e 387892006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38790
38791 * Makefile.in (enable_grub_emu): New variable.
38792 * configure.ac (--enable-grub-emu): New option.
38793 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38794 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38795 * conf/i386-pc.rmk: Likewise.
38796 * conf/powerpc-ieee1275.rmk: Likewise.
38797 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38798
a8aa5762 387992006-12-12 Marco Gerards <marco@gnu.org>
38800
38801 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38802
38803 * kern/env.c (grub_env_unset): Don't free the member `value' when
38804 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38805 pointer.
38806
38807 * normal/main.c (current_menu): Removed.
38808 (free_menu): Unset the `menu' environment variable.
38809 (grub_normal_menu_addentry): Make use of the environment variable
38810 `menu', instead of using the global `current_menu'. Allocate
38811 memory for the sourcecode of this entry.
38812 (read_config_file): New argument `nested', changed all callers.
38813 Only in the case of a new context, initialize a new menu. Set the
38814 `menu' environment variable.
38815 (grub_normal_execute): Don't set and unset the environment
38816 variable `menu' here anymore. Only free the menu when leaving the
38817 context.
38818
38819 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38820 leak.
38821
957b3a3e 388222006-12-11 Marco Gerards <marco@gnu.org>
38823
38824 * normal/menu_entry.c (run): Fix off by one bug so the last line
38825 is executed. Move the loader check to outside the loop.
38826
ef875714 388272006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38828
38829 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38830
4e739985 388312006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38832
38833 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38834 the number of sectors. Reported by Andrey Shuvikov
38835 <mr_hyro@yahoo.com>.
f19dbdb7 38836
790707f2 388372006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38838
38839 * kern/disk.c (grub_disk_read): When there is a read error, always
38840 try to read only the necessary data.
f19dbdb7 38841
790707f2 38842 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38843 disk/raid.c.
38844 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38845 prototype.
38846 [GRUB_UTIL] (grub_raid_fini): Likewise.
38847 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38848 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38849 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38850 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38851 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38852 and grub_raid_fini().
f19dbdb7 38853
03e58196 388542006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38855
38856 * include/grub/types.h (__unused): Rename to UNUSED.
38857 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38858 (grub_elf64_size): Likewise.
f19dbdb7 38859
ae4f23bf 388602006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38861
38862 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38863 grub_error_push and grub_error_pop in the error-handling path.
38864 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38865 length.
38866
2166cc83 388672006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38868
38869 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38870 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38872 (kernel_elf_SOURCES): Likewise.
38873 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38874 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38875 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38876 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38877 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38878 (elf_mod_SOURCES): New variable.
38879 (elf_mod_CFLAGS): Likewise.
38880 (elf_mod_LDFLAGS): Likewise.
38881 * include/grub/types.h (__unused): New macro.
38882 * include/grub/elfload.h: New file.
38883 * kern/elf.c: Likewise.
38884 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38885 (ELF32_LOADMASK): New macro.
38886 (ELF64_LOADMASK): Likewise.
38887 (vmlinux): Removed.
38888 (grub_linux_load32): New function.
38889 (grub_linux_load64): Likewise.
38890 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38891 Use grub_elf_t instead of grub_file_t.
38892
a09d5aa5 388932006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38894
38895 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38896 `catch_result' to struct set_color_args.
38897
d976fc51 388982006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38899
38900 * normal/menu.c: Include grub/script.h.
38901 * normal/menu_entry.c: Likewise.
38902 * include/grub/normal.h: Do not include grub/script.h.
38903
67507549 389042006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38905
38906 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38907
69203a99 389082006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38909
38910 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38911 disk.
38912 (grub_disk_close): Print debug messages when closing a disk.
38913 (grub_disk_read): Print debug messages when disk read fails.
38914 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38915 filesystem type.
38916 * kern/partition.c: Include misc.h.
38917 (grub_partition_iterate): Print debug messages when detecting
38918 partition type.
38919
e2b8278c 389202006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38921
38922 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38923 is negative.
38924 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38925
97b2f2ff 389262006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38927
38928 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38929 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38930
6555d655 389312006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38932
38933 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38934 instead of sizeof(lv). Patch by Michael Guntsche.
38935
4d42b77f 389362006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38937
38938 * disk/lvm.c: Rename VGS to VG_LIST.
38939 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38940 (grub_lvm_open): Likewise.
38941 Thanks to Michael Guntsche for finding this bug.
38942
5d74d927 389432006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38944
38945 * configure.ac (AC_INIT): Bumped to 1.95.
38946
a1bb27e4 389472006-10-14 Robert Millan <rmh@aybabtu.com>
38948
38949 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38950 with "/dev/.static/dev/md".
38951
e0994b8b 389522006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38953
38954 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38955 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38956 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38957 DRIVE_NAME are always freed.
38958
38959 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38960 DOS_PART, as a DOS partition is counted from one instead of zero
38961 now. Reported by Robert Millan.
38962
ddd5cee9 389632006-10-14 Robert Millan <rmh@aybabtu.com>
38964
38965 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38966 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38967 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38968 string returned by grub_guess_root_device.
38969 * util/i386/pc/grub-setup.c: Likewise.
38970 * util/i386/pc/grub-probefs.c: Likewise.
38971
38972 * util/i386/pc/grub-probefs.c: Rename to ...
38973 * util/i386/pc/grub-probe.c: ... this.
38974 * DISTLIST: Remove grub-probefs, add grub-probe.
38975 * conf/i386-efi.rmk: Likewise.
38976 * conf/i386-pc.rmk: Likewise.
38977 * util/i386/pc/grub-install.in: Likewise.
38978
38979 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38980 choose which information we want to print.
38981
2b002173 389822006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38983
38984 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38985 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38986 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38987 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38988 video/readers/tga.c and video/i386/pc/vbeutil.c.
38989
389902006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38991
38992 Added support for RAID and LVM.
f19dbdb7 38993
2b002173 38994 * disk/lvm.c: New file.
38995 * disk/raid.c: Likewise.
38996 * include/grub/lvm.h: Likewise.
f19dbdb7 38997 * include/grub/raid.h: Likewise.
2b002173 38998 * include/grub/util/lvm.h: Likewise.
38999 * include/grub/util/raid.h: Likewise.
39000 * util/lvm.c: Likewise.
39001 * util/raid.c: Likewise.
39002
39003 * include/grub/disk.h (grub_disk_dev_id): Add
39004 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39005 (grub_disk_get_size): New prototype.
39006 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39007 returns a partition.
39008 (grub_disk_get_size): New function.
f19dbdb7 39009
2b002173 39010 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39011 verbatim if grub_install_dos_part is -2.
39012
39013 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39014 and LVM devices.
39015
39016 * util/i386/pc/grub-setup.c (setup): New argument
39017 MUST_EMBED. Force embedding of GRUB when the argument is
39018 true. Close FILE before returning.
39019 (main): Add support for RAID and LVM.
f19dbdb7 39020
2b002173 39021 * conf/common.rmk: Add RAID and LVM modules.
39022 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39023 util/lvm.c.
39024 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39025
39026 * kern/misc.c (grub_strstr): New function.
39027 * include/grub/misc.h (grub_strstr): New prototype.
39028
050548d0 390292006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39030
39031 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39032
da849d2d 390332006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39034
39035 * kern/misc.c (grub_strtoull): Guess the base only if not
39036 specified.
39037
97b2f2ff 390382006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39039
39040 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39041 PowerMac support.
39042
97b2f2ff 390432006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 39044
39045 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39046
39047 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39048 Remove `flags' argument. All callers changed.
39049 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39050 (IEEE1275_IHANDLE_INVALID): New variable.
39051 (IEEE1275_CELL_INVALID): New variable.
39052 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39053 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39054 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39055 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39056 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39057 codes from Open Firmware. All callers updated.
39058 (grub_ieee1275_next_property): Directly return Open Firmware return
39059 code.
39060 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39061 Standardize error checking from `grub_ieee1275_get_property'.
39062 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39063 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39064
97b2f2ff 390652006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 39066
39067 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39068 `instance_to_package_args' to `instance_to_path_args'.
39069
39070 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39071 `grub_ieee1275_chosen'.
39072
39073 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39074 `grub_ieee1275_interpret'.
39075
97b2f2ff 390762006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 39077
39078 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39079
97b2f2ff 390802006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 39081
39082 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39083 (__cmpdi): Likewise.
39084
39085 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39086 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39087 `grub_ssize_t'.
39088
02bb8acc 39089 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 39090
39091 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39092 to type `grub_ssize_t'.
39093 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39094
7f9a8531 390952006-09-22 Marco Gerards <marco@gnu.org>
39096
39097 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39098 newlines.
39099
b5ef1102 391002006-09-22 Marco Gerards <marco@gnu.org>
39101
39102 * commands/echo.c: New file.
39103
39104 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39105
39106 * conf/common.rmk (echo_mod_SOURCES): New variable.
39107 (echo_mod_CFLAGS): Likewise.
39108 (echo_mod_LDFLAGS): Likewise.
39109
2cff3677 391102006-09-22 Marco Gerards <marco@gnu.org>
39111
39112 * normal/main.c (get_line): Malloc memory instead of using
39113 preallocated memory. Removed the arguments `cmdline' and
39114 `max_len'. Updated all callers.
39115
6ba4688b 391162006-09-22 Marco Gerards <marco@gnu.org>
39117
39118 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39119 (normal_mod_DEPENDENCIES): Likewise.
39120
39121 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39122 (normal_mod_DEPENDENCIES): Likewise.
39123
39124 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39125
e02ac02c 391262006-09-22 Johan Rydberg <jrydberg@gnu.org>
39127
39128 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39129 programs.
39130 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39131 (normal_mod_DEPENDENCIES): Likewise.
39132 * conf/i386-pc.mk: Regenerate.
39133 * conf/i386-efi.mk: Likewise
39134 * conf/common.mk: Likewise.
39135 * conf/powerpc-ieee1275.mk: Likewise.
39136 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39137
8d252e44 391382006-09-22 Robert Millan <rmh@aybabtu.com>
39139
39140 Sync with i386 version.
39141 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39142 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39143
209bf7ac 391442006-09-21 Robert Millan <rmh@aybabtu.com>
39145
39146 Import from GRUB Legacy (lib/device.c):
39147 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39148 (init_device_map) [__linux__]: Add support for I2O devices.
39149
6b146090 391502006-09-14 Marco Gerards <marco@gnu.org>
39151
39152 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39153 `-melf_i386'.
39154
e38600a8 391552006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 39156
39157 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39158 /boot/grub/*.lst.
78fa1790 39159
2952da5d 39160 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 39161
2952da5d 39162 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39163 before adding it to device.map.
39164
01b82a64 391652006-08-15 Johan Rydberg <jrydberg@gnu.org>
39166
fe6b695a 39167 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 39168 compiles a file; using the -MD option.
39169 * conf/common.mk: Regenerate.
39170 * conf/i386-pc.mk: Likewise.
39171 * conf/i386-efi.mk: Likewise.
39172 * conf/powerpc-ieee1275.mk: Likewise.
39173 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39174
1064790d 391752006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39176
39177 Move the prototypes of grub_setjmp and grub_longjmp to
39178 cpu/setjmp.h, so that each architecture may specify different
39179 attributes.
f19dbdb7 39180
1064790d 39181 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39182 (grub_longjmp): Likewise.
39183 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39184 (grub_longjmp): Likewise.
39185 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39186 (grub_longjmp): Likewise.
39187
39188 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39189 [!GRUB_UTIL] (grub_longjmp): Removed.
39190
29dda3ed 391912006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39192
39193 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39194 "color!" method does not return any value.
39195
ad2a06ed 391962006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39197
39198 * include/grub/bitmap.h: New file.
39199
39200 * include/grub/i386/pc/vbeutil.h: Likewise.
39201
39202 * video/bitmap.c: Likewise.
39203
39204 * video/readers/tga.c: Likewise.
39205
39206 * video/i386/pc/vbeutil.c: Likewise.
39207
39208 * commands/videotest.c: Code cleanup and updated to reflect to new
39209 video API.
39210
39211 * term/gfxterm.c: Likewise.
39212
39213 * video/video.c: Likewise.
39214
39215 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39216 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39217 (bitmap_mod_SOURCES): New entry.
39218 (bitmap_mod_CFLAGS): Likewise.
39219 (bitmap_mod_LDFLAGS): Likewise.
39220 (tga_mod_SOURCES): Likewise.
39221 (tga_mod_CFLAGS): Likewise.
39222 (tga_mod_LDFLAGS): Likewise.
39223
39224 * include/grub/video.h (grub_video_blit_operators): New enum type.
39225 (grub_video_render_target): Changed as forward declaration and moved
39226 actual definition to be video driver specific.
39227 (grub_video_adapter.blit_bitmap): Added blitting operator.
39228 (grub_video_adapter.blit_render_target): Likewise.
39229 (grub_video_blit_bitmap): Likewise.
39230 (grub_video_blit_render_target): Likewise.
39231
39232 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39233 driver specific render target definition.
39234 (grub_video_vbe_map_rgba): Added driver internal helper.
39235 (grub_video_vbe_unmap_color): Updated to use
39236 grub_video_i386_vbeblit_info.
39237 (grub_video_vbe_get_video_ptr): Likewise.
39238
39239 * include/grub/i386/pc/vbeblit.h
39240 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39241 grub_video_i386_vbeblit_info.
39242 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39243 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39244 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39245 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39246 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39247 (grub_video_i386_vbeblit_index_index): Likewise.
39248 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39249 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39250 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39251 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39252 operator.
39253 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
39254 operator.
39255
39256 * video/i386/pc/vbeblit.c: Updated to reflect changes on
39257 include/grub/i386/pc/vbeblit.h.
39258
39259 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
39260 Updated to use grub_video_i386_vbeblit_info.
39261 (grub_video_i386_vbefill_R8G8B8): Likewise.
39262 (grub_video_i386_vbefill_index): Likewise.
39263 (grub_video_i386_vbefill): Added generic filler.
39264
39265 * video/i386/pc/vbefill.c: Updated to reflect changes on
39266 include/grub/i386/pc/vbefill.h.
39267
39268 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
39269 grub_video_i386_vbeblit_info.
39270 (grub_video_vbe_unmap_color): Likewise.
39271 (grub_video_vbe_blit_glyph): Likewise.
39272 (grub_video_vbe_scroll): Likewise.
39273 (grub_video_vbe_draw_pixel): Removed function.
39274 (grub_video_vbe_get_pixel): Likewise.
39275 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
39276 updated code to use it.
39277 (common_blitter): Added common blitter for render target and bitmap.
39278 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
39279 (grub_video_vbe_blit_render_target): Likewise.
39280
bc8c036d 392812006-07-30 Johan Rydberg <jrydberg@gnu.org>
39282
39283 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
39284 is in text mode if there is no console control protocol instance
39285 available.
39286
684a8eff 392872006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39288
39289 * include/grub/video.h: Code cleanup.
39290
39291 * include/grub/i386/pc/vbe.h: Likewise.
39292
39293 * video/i386/pc/vbe.c: Likewise.
39294
39295 * video/i386/pc/vbeblit.c: Likewise.
39296
39297 * video/i386/pc/vbefill.c: Likewise.
39298
39299 * video/video.c: Likewise. Also added more comments.
39300
5915059b 393012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39302
39303 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
39304 (struct grub_biosdisk_dap): Likewise.
39305
39306 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
39307 linkage settings for all functions.
39308
90ce5d56 393092006-07-12 Marco Gerards <marco@gnu.org>
39310
39311 * configure.ac (--enable-mm-debug): Fix typo.
39312
39313 * genkernsyms.sh.in: Use proper quoting for `CC'.
39314
43e7f879 393152006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
39316
39317 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
39318 (normal_mod_ASFLAGS): Remove "-m32".
39319
4889bdec 393202006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
39321
39322 * util/misc.c: Include config.h.
39323 [!HAVE_MEMALIGN]: Do not include malloc.h.
39324 (grub_memalign): Use posix_memalign, if present. Then, use
39325 memalign, if present. Otherwise, emit an error.
39326
39327 * util/grub-emu.c: Do not include malloc.h.
39328
39329 * include/grub/util/misc.h: Include unistd.h. This is required for
39330 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
39331 D. Eades III <hde@foobar-qux.org>.
39332
39333 * configure.ac (AC_GNU_SOURCE): Added.
39334 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
39335 type.
39336
fd39d4da 393372006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
39338
39339 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
39340 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
39341
b786f3b5 393422006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
39343
39344 * include/grub/types.h (grub_host_addr_t): Rename to
39345 grub_target_addr_t.
39346 (grub_host_off_t): Rename to grub_target_off_t.
39347 (grub_host_size_t): Rename to grub_target_size_t.
39348 (grub_host_ssize_t): Rename to grub_target_ssize_t.
39349 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
39350
39351 * include/grub/kernel.h (struct grub_module_header): Change type
39352 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
39353 (grub_module_info): Likewise.
f19dbdb7 39354
051988bb 393552006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39356
39357 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
39358 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
39359 Velazquez <jesus.velazquez@gmail.com>.
39360
deae281b 393612006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39362
39363 Count partitions from 1 instead of 0 in the string representation
39364 of partitions. Still use 0-based internally.
f19dbdb7 39365
deae281b 39366 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
39367 (sun_partition_map_iterate): Use grub_partition_t instead of
39368 struct grub_partition *. Cast DESC->START_CYLINDER to
39369 grub_uint64_t after converting the endian.
39370 (sun_partition_map_probe): Subtract 1 for PARTNUM.
39371 (sun_partition_map_get_name): Add 1 to P->INDEX.
39372
39373 * partmap/pc.c (grub_partition_parse): Subtract 1 for
39374 PCDATA->DOS_PART.
39375 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
39376
39377 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
39378 zero instead of one.
39379 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
39380 (gpt_partition_map_get_name): Add 1 into P->INDEX.
39381
39382 * partmap/apple.c (apple_partition_map_iterate): Change the type
39383 of POS to unsigned.
39384 (apple_partition_map_probe): Subtract 1 for PARTNUM.
39385 (apple_partition_map_get_name): Add 1 into P->INDEX.
39386
39387 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
39388 of POS to unsigned.
39389 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
39390 calculate the offset of a partition.
39391 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
39392 (amiga_partition_map_get_name): Add 1 into P->INDEX.
39393
39394 * partmap/acorn.c (acorn_partition_map_find): Change the type of
39395 SECTOR to grub_disk_addr_t.
39396 (acorn_partition_map_iterate): Likewise.
39397 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
39398 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
39399 top.
39400 (acorn_partition_map_get_name): Add 1 into P->INDEX.
39401
39402 * kern/i386/pc/init.c (make_install_device): Add 1 into
39403 GRUB_INSTALL_DOS_PART.
39404
39405 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
39406 conditional.
39407
524a1e6a 394082006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39409
39410 Clean up the code to support 64-bit addressing in disks and
39411 files. This change is not enough for filesystems yet.
f19dbdb7 39412
524a1e6a 39413 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
39414 type of "start" to grub_uint64_t.
39415 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
39416 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
39417 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
39418 convert addresses.
39419
39420 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
39421 to grub_disk_addr_t.
39422
39423 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
39424 string.
39425
39426 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39427
39428 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
39429 to char *.
39430
39431 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
39432
39433 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
39434
39435 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
39436
39437 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
39438 to grub_off_t, to detect an error from grub_file_seek.
39439 (grub_multiboot_load_elf32): Likewise.
39440
39441 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
39442 maximum unsigned long value when an overflow is detected.
39443 (grub_strtoull): New function.
39444 (grub_divmod64): Likewise.
39445 (grub_lltoa): use grub_divmod64.
39446
39447 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
39448 grub_disk_addr_t.
39449 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
39450 the pointer to next character. Use grub_strtoull instead of
39451 grub_strtoul.
39452 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
39453 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
39454 respectively.
39455
fe6b695a 39456 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 39457 return value is signed.
39458 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
39459 test if OFFSET is less than zero, as OFFSET is unsigned now.
39460
39461 * kern/disk.c (struct grub_disk_cache): Change the type of
39462 "sector" to grub_disk_addr_t.
39463 (grub_disk_cache_get_index): Change the type of SECTOR to
39464 grub_disk_addr_t. Calculate the hash with SECTOR casted to
39465 unsigned after shifting.
39466 (grub_disk_cache_invalidate): Change the type of SECTOR to
39467 grub_disk_addr_t.
39468 (grub_disk_cache_unlock): Likewise.
39469 (grub_disk_cache_store): Likewise.
39470 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
39471 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
39472 grub_disk_addr_t and grub_uint64_t, respectively.
39473 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
39474 body, as the value of OFFSET is tweaked by
39475 grub_disk_check_range. Change the types of START_SECTOR, LEN and
39476 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
39477 respectively.
39478 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
39479 body, as the value of OFFSET is tweaked by
39480 grub_disk_check_range. Change the types of LEN and N to
39481 grub_size_t.
39482
39483 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
39484 and "saved_offset" to grub_off_t.
39485 (test_header): Cast BUF to char *.
39486 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
39487 to char *.
39488 (grub_gzio_read): Change the types of OFFSET and SIZE to
39489 grub_off_t and grub_size_t, respectively.
39490
39491 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
39492 Removed.
39493 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
39494 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
39495 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
39496 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
39497 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
39498
39499 * include/grub/types.h (grub_off_t): Unconditionally set to
39500 grub_uint64_t.
39501 (grub_disk_addr_t): Changed to grub_uint64_t.
39502
39503 * include/grub/partition.h (struct grub_partition): Change the
39504 types of "start", "len" and "offset" to grub_disk_addr_t,
39505 grub_uint64_t and grub_disk_addr_t, respectively.
39506 (grub_partition_get_start): Return grub_disk_addr_t.
39507 (grub_partition_get_len): Return grub_uint64_t.
39508
39509 * include/grub/misc.h (grub_strtoull): New prototype.
39510 (grub_divmod64): Likewise.
39511
39512 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
39513 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
39514 grub_off_t, respectively.
39515 All callers and references changed.
39516
39517 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
39518 grub_size_t in "read".
39519 All callers and references changed.
39520
39521 * include/grub/file.h (struct grub_file): Change the types of
39522 "offset" and "size" to grub_off_t and grub_off_t,
39523 respectively. Change the type of SECTOR to grub_disk_addr_t in
39524 "read_hook".
39525 (grub_file_read): Change the type of LEN to grub_size_t.
39526 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
39527 grub_off_t.
39528 (grub_file_size): Return grub_off_t.
39529 (grub_file_tell): Likewise.
39530 All callers and references changed.
39531
39532 * include/grub/disk.h (struct grub_disk_dev): Change the types of
39533 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
39534 "write".
39535 (struct grub_disk): Change the type of "total_sectors" to
39536 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 39537 "read_hook".
524a1e6a 39538 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
39539 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
39540 (grub_disk_write): Likewise.
39541 All callers and references changed.
39542
39543 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
39544 char * for grub_strncmp to silence gcc.
39545 (grub_iso9660_mount): Likewise.
39546 (grub_iso9660_mount): Likewise.
39547 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
39548 return statement.
39549 (grub_iso9660_iterate_dir): Likewise.
39550 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
39551
39552 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
39553 LEN to grub_disk_addr_t and grub_size_t, respectively.
39554
39555 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39556
39557 * fs/jfs.c (grub_jfs_read_file): Likewise.
39558
39559 * fs/minix.c (grub_jfs_read_file): Likewise.
39560
39561 * fs/sfs.c (grub_jfs_read_file): Likewise.
39562
39563 * fs/ufs.c (grub_jfs_read_file): Likewise.
39564
39565 * fs/xfs.c (grub_jfs_read_file): Likewise.
39566
39567 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
39568 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
39569 respectively.
39570
39571 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
39572 BLKNR to -1 instead of returning GRUB_ERRNO.
39573 (grub_ext2_read_file): Change the types of SECTOR and
39574 LEN to grub_disk_addr_t and grub_size_t, respectively.
39575
39576 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
39577 LEN to grub_disk_addr_t and grub_size_t, respectively.
39578
39579 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
39580 grub_file_read.
39581
39582 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
39583 string. Do not cast SECTOR explicitly.
39584
39585 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
39586 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
39587 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
39588 grub_disk_addr_t and grub_size_t, respectively. If the sector is
39589 over 2TB and LBA mode is not supported, raise an error.
39590 (get_safe_sectors): New function.
39591 (grub_biosdisk_read): Use get_safe_sectors.
39592 (grub_biosdisk_write): Likewise.
39593
39594 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
39595 (grub_efidisk_write): Likewise.
39596
39597 * disk/loopback.c (delete_loopback): Cosmetic changes.
39598 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
39599 correctly.
39600 (grub_loopback_open): Likewise.
39601 (grub_loopback_read): Likewise. Also, change the type of POS to
39602 grub_off_t, and fix the usage of grub_memset.
39603
39604 * commands/i386/pc/play.c: Include grub/machine/time.h.
39605
39606 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
39607 print FILE->SIZE.
39608
39609 * commands/configfile.c: Include grub/env.h.
39610
39611 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
39612 GRUB_ERRNO directly instead. Change the type of POS to
39613 grub_off_t. Follow the coding standard.
39614
39615 * commands/blocklist.c: Include grub/partition.h.
39616 (grub_cmd_blocklist): Return an error if the underlying device is
39617 not a disk. Take the starting sector of a partition into account,
39618 if a partition is used.
39619
39620 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
39621 a length field.
39622 (lba_mode): Support 64-bit addresses.
39623 (chs_mode): Likewise.
39624 (copy_buffer): Adapted to the new offsets of a length field and a
39625 segment field.
39626 (blocklist_default_start): Allocate 64-bit space.
39627
39628 * boot/i386/pc/boot.S (force_lba): Removed.
39629 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39630 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39631 space.
39632 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39633 is useless.
39634 (lba_mode): Refactored to support a 64-bit address. More size
39635 optimization.
39636 (setup_sectors): Likewise.
39637
53af98ad 396382006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39639
39640 * DISTLIST: Added include/grub/i386/linux.h. Removed
39641 include/grub/i386/pc/linux.h
39642
39643 * configure.ac (AC_INIT): Bumped to 1.94.
39644
39645 * config.guess: Updated from gnulib.
39646 * config.sub: Likewise.
39647 * install-sh: Likewise.
39648 * mkinstalldirs: Likewise.
39649
b4c1940a 396502006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39651
39652 * conf/common.rmk (grub_modules_init.lst): Depended on
39653 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39654 MODSRCFILES.
39655
39656 * genmk.rb (PModule::rule): Reverted the previous change.
39657
cfca1cfd 396582006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39659
39660 * conf/common.rmk (grub_modules_init.lst): Depends on
39661 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39662 that the target does not exist before producing.
39663 (grub_modules_init.h): Remove the target before generating.
39664 (grub_emu_init.c): Likewise.
39665
39666 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39667
aa6d7826 396682006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39669
39670 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39671 for the target-specific tests. Make sure that we also have the
39672 up-to-date target variables for those tests.
39673
26c607b9 396742006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39675
39676 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39677 (PModule::rule): Likewise.
39678
0162321a 396792006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39680
39681 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39682 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39683 target-specific flags should be prefixed.
39684 (PModule::rule): Likewise.
39685
6c826348 396862006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39687
39688 * configure.ac (CMP): Check if cmp is available explicitly.
39689
b977bf01 396902006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39691
39692 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39693 (target_cpu): New variable.
39694 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39695
b977bf01 39696 * util/i386/pc/grub-install.in (host_cpu): Removed.
39697 (target_cpu): New variable.
39698 (pkglibdir): Use target_cpu instead of host_cpu.
39699
39700 * util/genmoddep.c: Removed.
f19dbdb7 39701
b977bf01 39702 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39703 instead of GRUB_HOST_SIZEOF_VOID_P.
39704 * kern/dl.c: Likewise.
39705
39706 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39707 ...
39708 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39709 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39710 (GRUB_TARGET_SIZEOF_LONG): ... this.
39711 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39712 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39713 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39714 to ...
39715 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39716 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39717 (GRUB_TARGET_SIZEOF_LONG): ... this.
39718 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39719 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39720 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39721 to ...
39722 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39723 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39724 (GRUB_TARGET_SIZEOF_LONG): ... this.
39725 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39726 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39727
39728 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39729 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39730 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39731 instead of GRUB_HOST_SIZEOF_LONG.
39732 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39733 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39734 GRUB_CPU_WORDS_BIGENDIAN.
39735 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39736 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39737 grub_host_ssize_t.
39738
39739 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39740 (genmoddep_SOURCES): Likewise.
39741 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39742 (genmoddep_SOURCES): Likewise.
39743 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39744 (genmoddep_SOURCES): Likewise.
39745 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39746 Likewise.
39747 (genmoddep_SOURCES): Likewise.
39748
39749 * genmoddep.awk: New file.
39750
39751 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39752 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39753 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39754 (PModule::rule): Likewise.
39755 (Program::rule): Likewise.
39756 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39757 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39758 respectively.
39759
39760 * configure.ac: Rewritten intensively to use host and target
39761 instead of build and host, respectively.
39762
39763 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39764 (host_cpu): Removed.
39765 (target_cpu): New variable.
39766 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39767 (BUILD_CC): Removed.
39768 (BUILD_CFLAGS): Likewise.
39769 (BUILD_CPPFLAGS): Likewise.
39770 (TARGET_CC): New variable.
39771 (TARGET_CFLAGS): Likewise.
39772 (TARGET_CPPFLAGS): Likewise.
39773 (TARGET_LDFLAGS): Likewise.
39774 (AWK): Likewise.
39775 (include): Use target_cpu instead of host_cpu.
39776 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39777
b977bf01 39778 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39779
f09771a1 397802006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39781
39782 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39783 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39784 field 'false' to 'exec_on_false'.
39785 (grub_script_create_cmdif): Renamed argument names to reflect above
39786 changes.
39787
39788 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39789
39790 * normal/script.c (grub_script_create_cmdif): Likewise.
39791
118f4fb3 397922006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39793
39794 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39795 top.
39796 (grub_hfsplus_btree_recptr): Likewise.
39797 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39798 FILEBLOCK both to pass a block number and store next block
39799 number.
39800 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39801 overflow file correctly. Specify errors appropriately, because
39802 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39803 grub_hfsplus_btree_recptr to get the pointer to a found key.
39804 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39805 is found.
39806
39807 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39808 linux.mod.
39809 (_linux_mod_SOURCES): New variable.
39810 (_linux_mod_CFLAGS): Likewise.
39811 (_linux_mod_LDFLAGS): Likewise.
39812 (linux_mod_SOURCES): Likewise.
39813 (linux_mod_CFLAGS): Likewise.
39814 (linux_mod_LDFLAGS): Likewise.
39815
39816 * DISTLIST: Added loader/i386/efi/linux.c,
39817 loader/i386/efi/linux_normal.c and
39818 include/grub/i386/efi/loader.h.
39819
39820 * loader/i386/efi/linux.c: New file.
39821 * loader/i386/efi/linux_normal.c: Likewise.
39822 * include/grub/i386/efi/loader.h: Likewise.
39823
89a7d726 398242006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39825
39826 * commands/blocklist.c: New file.
39827
39828 * DISTLIST: Added commands/blocklist.c.
39829
39830 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39831 color for the background, and a darker color for the foreground.
89a7d726 39832 (grub_console_checkkey): Return READ_KEY.
39833 (grub_console_cls): Set the background to
39834 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39835
39836 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39837
39838 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39839 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39840
39841 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39842 prototype.
39843
39844 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39845 BG. The spec is wrong again.
39846
39847 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39848 prototype.
39849 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39850
39851 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39852 commands/blocklist.c.
39853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39854
89a7d726 39855 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39856 (blocklist_mod_SOURCES): New variable.
39857 (blocklist_mod_CFLAGS): Likewise.
39858 (blocklist_mod_LDFLAGS): Likewise.
39859
75c8f258 398602006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39861
39862 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39863 duplication.
39864 (lba_mode): Use %eax more intensively to reduce the code size.
39865
da2eb181 398662006-05-20 Marco Gerards <marco@gnu.org>
39867
39868 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39869
39870 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39871 for `menuentry'.
39872 (script): Accept leading newlines.
39873 (newlines): New rule to describe 0 or more newlines.
39874 (commands): Accept `command' with trailing newline. Fixed the
39875 order in which arguments were passed to `grub_script_add_cmd'.
39876 Accept commands separated by newlines.
39877 (function): Changed to accept newlines.
39878 (menuentry) Rewritten.
39879
39880 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39881 front of the list, instead of to the end.
39882
577b4050 398832006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39884
39885 * util/i386/pc/grub-install.in (bindir): New variable.
39886 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39887 Shaver <lbgwjl@gmail.com>.
39888
0d6e1189 398892006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39890
39891 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39892 grub/machine/linux.h
39893 * loader/i386/pc/linux.c: Likewise.
39894
39895 * include/grub/i386/pc/linux.h: Moved to ...
39896 * include/grub/i386/linux.h: ... here.
39897
39898 * include/grub/i386/linux.h (struct linux_kernel_params): New
39899 struct.
f19dbdb7 39900
31b86e9f 399012006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39902
39903 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39904 checking.
39905 (grub_video_vbe_blit_glyph): Likewise.
39906 (grub_video_vbe_blit_bitmap): Likewise.
39907 (grub_video_vbe_blit_render_target): Likewise.
39908
83b984de 399092006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39910
39911 * configure.ac (--with-platform): Properly quote the square
39912 brackets.
39913
5f0413bd 399142006-05-08 Marco Gerards <marco@gnu.org>
39915
39916 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39917 this...
39918 (kernel_elf_HEADERS): ...to this. Updated all users.
39919 (grubof_symlist.c): Renamed from this...
39920 (kernel_elf_symlist.c): ...to this. Updated all users.
39921 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39922 (grubof_SOURCES): Renamed from this...
39923 (kernel_elf_SOURCES): ...to this.
39924 (grubof_HEADERS): Renamed from this...
39925 (kernel_elf_HEADERS): ...to this.
39926 (grubof_CFLAGS): Renamed from this...
39927 (kernel_elf_CFLAGS): ...to this.
39928 (grubof_ASFLAGS): Renamed from this...
39929 (kernel_elf_ASFLAGS): ...to this.
39930 (grubof_LDFLAGS): Renamed from this...
39931 (kernel_elf_LDFLAGS): ...to this.
39932
39933 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39934 this...
39935 (kernel_elf_HEADERS): ...to this. Updated all users.
39936 (grubof_symlist.c): Renamed from this...
39937 (kernel_elf_symlist.c): ...to this. Updated all users.
39938 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39939 (grubof_SOURCES): Renamed from this...
39940 (kernel_elf_SOURCES): ...to this.
39941 (grubof_HEADERS): Renamed from this...
39942 (kernel_elf_HEADERS): ...to this.
39943 (grubof_CFLAGS): Renamed from this...
39944 (kernel_elf_CFLAGS): ...to this.
39945 (grubof_ASFLAGS): Renamed from this...
39946 (kernel_elf_ASFLAGS): ...to this.
39947 (grubof_LDFLAGS): Renamed from this...
39948 (kernel_elf_LDFLAGS): ...to this.
39949
39950 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39951 `kernel.elf' instead of `grubof'.
39952
05568c2e 399532006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39954
39955 Add --with-platform to configure. Use pkglibdir instead of
39956 pkgdatadir. This is reported by Roger Leigh.
39957
39958 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39959 (host_vendor): Likewise.
39960 (host_os): Likewise.
39961 (pkgdatadir): Likewise.
39962 (platform): New variable.
39963 (pkglibdir): Likewise.
39964 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39965
05568c2e 39966 * util/i386/pc/grub-install.in (datadir): Removed.
39967 (host_vendor): Likewise.
39968 (host_os): Likewise.
39969 (pkgdatadir): Likewise.
39970 (platform): New variable.
39971 (pkglibdir): Likewise.
39972 Use PKGLIBDIR instead of PKGDATADIR.
39973
39974 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39975 instead of GRUB_DATADIR.
39976 (main): Likewise.
39977 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39978 (main): Likewise.
39979 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39980 (main): Likewise.
39981
39982 * configure.ac (--with-platform): New option.
39983 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39984
39985 * Makefile.in: Include a makefile based on PLATFORM instead of
39986 HOST_VENDOR.
39987 (pkgdatadir): Not appended by the machine type.
39988 (pkglibdir): Appended by the machine type.
39989 (host_vendor): Removed.
39990 (platform): New variable.
39991 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39992 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39993 (uninstall): Likewise.
39994
4e93851c 399952006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39996
39997 Use the environment context in the menu. Remove the commands
39998 "default" and "timeout", and use variables instead.
f19dbdb7 39999
4e93851c 40000 * normal/menu.c: Include grub/env.h.
40001 (print_entry): Cast TITLE to silence gcc.
40002 (get_timeout): New function.
40003 (set_timeout): Likewise.
40004 (get_entry_number): Likewise.
40005 (run_menu): Use a default entry, a fallback entry and a timeout
40006 in the environment variables "default", "fallback" and
40007 "timeout". Also, tweak the default entry if it is not within the
40008 current menu entries.
40009 (grub_menu_run): Use a fallback entry in the environment variable
40010 "fallback".
40011
40012 * normal/main.c (read_config_file): Do not initialize
40013 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40014 NEWMENU->TIMEOUT.
40015 (grub_normal_execute): Use a data slot to store the menu.
40016
40017 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40018 fallback_entry and timeout.
40019 (struct grub_menu_list): Removed.
40020 (grub_menu_list_t): Likewise.
40021 (struct grub_context): Likewise.
40022 (grub_context_t): Likewise.
40023 (grub_context_get): Likewise.
40024 (grub_context_get_current_menu): Likewise.
40025 (grub_context_push_menu): Likewise.
40026 (grub_context_pop_menu): Likewise.
40027 (grub_default_init): Likewise.
40028 (grub_default_fini): Likewise.
40029 (grub_timeout_init): Likewise.
40030 (grub_timeout_fini): Likewise.
40031
40032 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40033 and timeout.mod.
40034 (normal_mod_SOURCES): Removed normal/context.c.
40035
40036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40037 commands/default.c, commands/timeout.c and normal/context.c.
40038 (normal_mod_SOURCES): Removed normal/context.c.
40039
40040 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40041 commands/timeout.c and normal/context.c.
40042 (normal_mod_SOURCES): Removed normal/context.c.
40043
40044 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40045 commands/default.c, commands/timeout.c and normal/context.c.
40046 (normal_mod_SOURCES): Removed normal/context.c.
40047
40048 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40049 timeout.mod.
40050 (default_mod_SOURCES): Removed.
40051 (default_mod_CFLAGS): Likewise.
40052 (default_mod_LDFLAGS): Likewise.
40053 (timeout_mod_SOURCES): Removed.
40054 (timeout_mod_CFLAGS): Likewise.
40055 (timeout_mod_LDFLAGS): Likewise.
40056
40057 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40058 normal/context.c.
40059
40060 * commands/default.c: Removed.
40061 * commands/timeout.c: Likewise.
40062 * normal/context.c: Likewise.
40063
1eb9cc1d 400642006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40065
40066 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40067
385bd9c1 400682006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40069
40070 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40071 "next" to "prev" for readability.
40072 (struct grub_env_sorted_var): New struct.
40073 (grub_env_context): Renamed to ...
40074 (initial_context): ... this.
40075 (grub_env_var_context): Renamed to ...
40076 (current_context): ... this.
40077 (grub_env_find): Look only at CURRENT_CONTEXT.
40078 (grub_env_context_open): Rewritten to copy exported variables from
40079 previous context.
40080 (grub_env_context_close): Rewritten according to the new
40081 scheme. Also, add an assertion to prevent the initial context from
40082 removed.
40083 (grub_env_insert): Removed the code for the sorted list.
40084 (grub_env_remove): Likewise.
40085 (grub_env_export): Simply mark the variable with
40086 GRUB_ENV_VAR_GLOBAL.
40087 (grub_env_set): A cosmetic change for naming consistency.
40088 (grub_env_get): Likewise.
40089 (grub_env_unset): Likewise.
40090 (grub_env_iterate): Rewritten to sort variables within this
40091 function.
40092 (grub_register_variable_hook): Fixed for naming consistency. Call
40093 grub_env_find again, only if NAME is not found at the first time.
40094 (mangle_data_slot_name): New function.
40095 (grub_env_set_data_slot): Likewise.
40096 (grub_env_get_data_slot): Likewise.
40097 (grub_env_unset_data_slot): Likewise.
40098
40099 * include/grub/env.h (grub_env_var_type): New enum.
40100 (GRUB_ENV_VAR_LOCAL): New constant.
40101 (GRUB_ENV_VAR_GLOBAL): Likewise.
40102 (GRUB_ENV_VAR_DATA): Likewise.
40103 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40104 "type".
40105 (grub_env_set): Replace VAR with NAME for consistency.
40106 (grub_register_variable_hook): Likewise.
40107 (grub_env_export): Specify the name of the argument.
40108 (grub_env_set_data_slot): New prototype.
40109 (grub_env_get_data_slot): Likewise.
40110 (grub_env_unset_data_slot): Likewise.
40111
7f362539 401122006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40113
40114 Extend the loader so that GRUB can accept a loader which comes
40115 back to GRUB when a loaded image exits. Also, this change adds
40116 support for a chainloader on EFI.
f19dbdb7 40117
7f362539 40118 * term/efi/console.c: Include grub/misc.h.
40119 (grub_console_checkkey): Display a scan code on the top for
40120 debugging. This will be removed once the EFI port gets stable.
40121 Correct the scan code mapping.
40122
40123 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40124 allocate memory from larger regions, in order to reduce the number
40125 of allocated regions. Otherwise, the MacOSX loader panics.
40126 (filter_memory_map): Avoid less than 1MB for compatibility with
40127 other loaders.
40128 (add_memory_regions): Allocate from the tail of a region, if
40129 possible, to avoid allocating a region near to 1MB, for the MacOSX
40130 loader.
40131
40132 * kern/efi/init.c (grub_efi_set_prefix): Specify
40133 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40134
40135 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40136 argument IMAGE_HANDLE and specify it to get a loaded image.
40137 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40138 grub_efi_get_loaded_image.
fe6b695a 40139 (grub_efi_get_filename): Divide the length by the size of
7f362539 40140 grub_efi_char16_t.
40141 (grub_efi_get_device_path): New function.
40142 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40143 the length by the size of grub_efi_char16_t for a file path device
40144 path node.
40145
40146 * kern/loader.c (grub_loader_noreturn): New variable.
40147 (grub_loader_set): Accept a new argument NORETURN. Set
40148 GRUB_LOADER_NORETURN to NORETURN.
40149 All callers changed.
40150 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40151 grub_machine_fini.
40152
40153 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40154 prototype.
40155 (grub_efi_get_loaded_image): Take an argument to specify an image
40156 handle.
40157
40158 * include/grub/loader.h (grub_loader_set): Added one more argument
40159 NORETURN.
40160
40161 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40162 instead of grub_efi_open_protocol.
40163 (grub_efidisk_get_device_name): Likewise.
40164 (grub_efidisk_close): Print a newline.
40165 (grub_efidisk_get_device_handle): Fixed to use
40166 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40167 GRUB_EFI_DEVICE_PATH_TYPE.
40168
40169 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40170 * kern/efi/efi.c (device_path_guid): ... here.
40171
40172 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40173 chain.mod.
40174 (kernel_mod_HEADERS): Added efi/disk.h.
40175 (_chain_mod_SOURCES): New variable.
40176 (_chain_mod_CFLAGS): Likewise.
40177 (_chain_mod_LDFLAGS): Likewise.
40178 (chain_mod_SOURCES): Likewise.
40179 (chain_mod_CFLAGS): Likewise.
40180 (chain_mod_LDFLAGS): Likewise.
40181
40182 * DISTLIST: Added include/grub/efi/chainloader.h,
40183 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40184
40185 * include/grub/efi/chainloader.h: New file.
40186 * loader/efi/chainloader.c: Likewise.
40187 * loader/efi/chainloader_normal.c: Likewise.
40188
c0111d6e 401892006-04-30 Marco Gerards <marco@gnu.org>
40190
40191 * commands/configfile.c (grub_cmd_source): New function.
40192 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40193 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40194
df5341da 401952006-04-30 Marco Gerards <marco@gnu.org>
40196
40197 * normal/execute.c (grub_script_execute_cmd): Change the return
40198 type to `grub_err_t'. Correctly return the error.
40199 (grub_script_execute_cmdline): In case a command line is not a
40200 command or a function, try to interpret it as an assignment.
40201
f85934bd 402022006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40203
40204 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40205 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40206 skip a node whose name is obviously invalid as UTF-16,
40207 i.e. contains a NUL character. Stop the iteration when the last
40208 directory entry is found. Instead of using the return value of
40209 grub_hfsplus_btree_iterate_node, store the value in RET and use
40210 it, because the iterator can be stopped by the last directory
40211 entry.
40212
8f8a2cf8 402132006-04-30 Marco Gerards <marco@gnu.org>
40214
40215 * include/grub/env.h (grub_env_export): New prototype. Reported
40216 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40217
a27e84ce 402182006-04-30 Marco Gerards <marco@gnu.org>
40219
40220 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40221 size of the extents in a catalog file record.
40222
eaef0553 402232006-04-29 Marco Gerards <marco@gnu.org>
40224
40225 * commands/configfile.c (grub_cmd_configfile): Execute the
40226 configfile within its own context.
40227
40228 * include/grub/env.h (grub_env_context_open): New prototype.
40229 (grub_env_context_close): Likewise.
40230
40231 * kern/env.c (grub_env): Removed.
40232 (grub_env_sorted): Likewise.
40233 (grub_env_context): New variable.
40234 (grub_env_var_context): Likewise.
40235 (grub_env_find): Search both the active context and the global
40236 context.
40237 (grub_env_context_open): New function.
40238 (grub_env_context_close): Likewise.
40239 (grub_env_insert): Likewise.
40240 (grub_env_remove): Likewise.
40241 (grub_env_export): Likewise.
40242 (grub_env_set): Changed to use helper functions to avoid code
40243 duplication.
40244 (grub_env_iterate): Rewritten so both the current context and the
40245 global context are being used.
40246
40247 * normal/command.c (export_command): New function.
40248 (grub_command_init): Register the `export' function.
40249
7b455f4d 402502006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40251
40252 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40253 explicitly to suppress gcc's warnings.
40254 * fs/fat.c (grub_fat_find_dir): Likewise.
40255 (grub_fat_label): Likewise.
40256 * fs/xfs.c (grub_xfs_read_inode): Likewise.
40257 (grub_xfs_mount): Likewise.
40258 (grub_xfs_label): Likewise.
40259 * fs/affs.c (grub_affs_mount): Likewise.
40260 (grub_affs_label): Likewise.
40261 (grub_affs_iterate_dir): Likewise.
40262 * fs/sfs.c (grub_sfs_mount): Likewise.
40263 (grub_sfs_iterate_dir): Likewise.
40264 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
40265 * fs/hfs.c (grub_hfs_mount): Likewise.
40266 (grub_hfs_cmp_catkeys): Likewise.
40267 (grub_hfs_find_dir): Likewise.
40268 (grub_hfs_dir): Likewise.
40269 (grub_hfs_label): Likewise.
40270 * fs/jfs.c (grub_jfs_mount): Likewise.
40271 (grub_jfs_opendir): Likewise.
40272 (grub_jfs_getent): Likewise.
40273 (grub_jfs_lookup_symlink): Likewise.
40274 (grub_jfs_label): Likewise.
40275 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
40276 (grub_hfsplus_iterate_dir): Likewise.
40277 (grub_hfsplus_btree_iterate_node): Made static.
40278
40279 * util/grub-emu.c (prefix): New variable.
40280 (grub_machine_set_prefix): New function.
40281 (main): Do not set the environment variable "prefix" here. Only
40282 set PREFIX, which is used later by grub_machine_set_prefix.
40283
40284 * include/grub/video.h: Do not include grub/symbol.h.
40285 (grub_video_register): Not exported. This symbol is not defined in
40286 the kernel.
40287 (grub_video_unregister): Likewise.
40288 (grub_video_iterate): Likewise.
40289 (grub_video_setup): Likewise.
40290 (grub_video_restore): Likewise.
40291 (grub_video_get_info): Likewise.
40292 (grub_video_get_blit_format): Likewise.
40293 (grub_video_set_palette): Likewise.
40294 (grub_video_get_palette): Likewise.
40295 (grub_video_set_viewport): Likewise.
40296 (grub_video_get_viewport): Likewise.
40297 (grub_video_map_color): Likewise.
40298 (grub_video_map_rgb): Likewise.
40299 (grub_video_map_rgba): Likewise.
40300 (grub_video_fill_rect): Likewise.
40301 (grub_video_blit_glyph): Likewise.
40302 (grub_video_blit_bitmap): Likewise.
40303 (grub_video_blit_render_target): Likewise.
40304 (grub_video_scroll): Likewise.
40305 (grub_video_swap_buffers): Likewise.
40306 (grub_video_create_render_target): Likewise.
40307 (grub_video_delete_render_target): Likewise.
40308 (grub_video_set_active_render_target): Likewise.
40309
40310 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
40311 Undefined.
40312 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
40313
40314 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
40315 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40316 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40317 instead of $(srcdir)/genkernsyms.sh.
40318
40319 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
40320 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40321 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40322 instead of $(srcdir)/genkernsyms.sh.
40323
40324 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
40325 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40326 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40327 instead of $(srcdir)/genkernsyms.sh.
40328
40329 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
40330 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40331 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40332 instead of $(srcdir)/genkernsyms.sh.
40333
40334 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
40335 genkernsyms.sh.
40336
40337 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
40338 genkernsyms.sh.
40339 (gensymlist.sh): New target.
40340 (genkernsyms.sh): Likewise.
40341
40342 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
40343 genkernsyms.sh.in and gensymlist.sh.in.
40344
40345 * genkernsyms.sh: Removed.
40346 * gensymlist.sh: Likewise.
f19dbdb7 40347
7b455f4d 40348 * genkernsyms.sh.in: New file.
40349 * gensymlist.sh.in: Likewise.
40350
1885bb27 403512006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40352
40353 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
40354 clobber "prefix", since we may have already set it manually.
40355
71538dff 403562006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40357
40358 * kern/misc.c (abort): New alias for grub_abort.
40359
2965c7cc 403602006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
40361
40362 A new machine-specific function "grub_machine_set_prefix" is
40363 defined. This is called after loading modules, so that a prefix
40364 initialization can use modules. Also, this change adds an
40365 intensive debugging feature for the memory manager via the
40366 configure option "--enable-mm-debug".
f19dbdb7 40367
2965c7cc 40368 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
40369 PART.LEN.
40370
40371 * kern/sparc64/ieee1275/init.c (abort): Removed.
40372 (grub_stop): Likewise.
40373 (grub_exit): New function.
40374 (grub_set_prefix): Renamed to ...
40375 (grub_machine_set_prefix): ... this.
40376 (grub_machine_init): Do not call grub_set_prefix.
40377
40378 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
40379 (grub_machine_set_prefix): ... this.
40380 (grub_machine_init): Do not call grub_set_prefix.
40381
40382 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
40383 (grub_machine_init): Do not set the prefix here.
40384
40385 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
40386
40387 * kern/efi/init.c: Include grub/mm.h.
40388 (grub_efi_set_prefix): New function.
40389
40390 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
40391 (grub_efi_get_filename): New function.
40392 (grub_print_device_path): Renamed to ...
40393 (grub_efi_print_device_path): ... this.
40394
40395 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
40396 [MM_DEBUG] (grub_realloc): Likewise.
40397 [MM_DEBUG] (grub_free): Likewise.
40398 [MM_DEBUG] (grub_memalign): Likewise.
40399 [MM_DEBUG] (grub_mm_debug): New variable.
40400 [MM_DEBUG] (grub_debug_malloc): New function.
40401 [MM_DEBUG] (grub_debug_free): New function.
40402 [MM_DEBUG] (grub_debug_realloc): New function.
40403 [MM_DEBUG] (grub_debug_memalign): New function.
40404
40405 * kern/misc.c (grub_abort): Print a newline to distinguish
40406 the message.
40407
40408 * kern/main.c (grub_main): Call grub_machine_set_prefix and
40409 grub_set_root_dev after loading modules. This is necessary when
40410 setting a prefix depends on modules.
40411
40412 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
40413 (grub_efi_print_device_path): ... this.
40414 (grub_efi_get_filename): New prototype.
40415 (grub_efi_set_prefix): Likewise.
40416
40417 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
40418 and grub/disk.h.
40419 (grub_efidisk_get_device_handle): New prototype.
40420 (grub_efidisk_get_device_name): Likewise.
40421
40422 * include/grub/mm.h: Include config.h.
40423 (MM_DEBUG): Removed.
40424 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
40425 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
40426 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
40427 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
40428 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
40429 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
40430 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
40431 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
40432 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
40433
40434 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
40435
40436 * disk/efi/efidisk.c: Include grub/partition.h.
40437 (iterate_child_devices): New function.
40438 (add_device): First, compare only last device path nodes, so that
40439 devices are sorted by the types.
40440 (grub_efidisk_get_device_handle): New function.
40441 (grub_efidisk_get_device_name): Likewise.
40442
40443 * configure.ac (--enable-mm-debug): New option to enable the
40444 memory manager debugging feature. This makes the binary much
40445 bigger, so is disabled by default.
40446
9cacaa17 404472006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
40448
40449 Use grub_abort instead of grub_stop, and grub_exit must be
40450 define in each architecture now. Also, this change adds support
40451 for EFI disks.
f19dbdb7 40452
9cacaa17 40453 * util/i386/pc/grub-probefs.c: Include grub/term.h.
40454 (grub_getkey): New function.
40455 (grub_term_get_current): Likewise.
40456
40457 * util/i386/pc/grub-setup.c: Include grub/term.h.
40458 (grub_getkey): New function.
40459 (grub_term_get_current): Likewise.
40460
40461 * util/misc.c (grub_stop): Renamed to ...
40462 (grub_exit): ... this.
40463
40464 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
40465 (grub_exit): ... this.
40466 (grub_machine_init): Use grub_abort instead of abort.
40467 (grub_stop): Removed.
40468
40469 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
40470 abort.
40471
40472 * kern/i386/pc/startup.S (grub_exit): New function.
40473 (cold_reboot): New label.
40474
40475 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
40476 (grub_efi_init): Call grub_efidisk_init.
40477 (grub_efi_fini): Call grub_efidisk_fini.
40478
40479 * kern/efi/efi.c: Include grub/mm.h.
40480 (grub_efi_console_control_guid): Renamed to ...
40481 (console_control_guid): ... this.
40482 (grub_efi_loaded_image_guid): Renamed to ...
40483 (loaded_image_guid): ... this.
40484 (grub_efi_locate_handle): New function.
40485 (grub_efi_open_protocol): Likewise.
40486 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
40487 GRUB_EFI_CONSOLE_CONTROL_GUID.
40488 (grub_efi_exit): Removed.
40489 (grub_stop): Likewise.
40490 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
40491 (grub_exit): New function.
40492 (grub_print_device_path): Likewise.
40493
40494 * kern/rescue.c (grub_rescue_cmd_exit): New function.
40495 (grub_enter_rescue_mode): Register "exit".
40496
40497 * kern/misc.c (grub_real_dprintf): A cosmetic change.
40498 (grub_abort): New function.
40499
40500 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
40501
40502 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
40503
40504 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
40505
40506 * include/grub/efi/efi.h (grub_efi_exit): Removed.
40507 (grub_print_device_path): New prototype.
40508 (grub_efi_locate_handle): Likewise.
40509 (grub_efi_open_protocol): Likewise.
40510
40511 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
40512 * disk/efi/efidisk.c: Likewise.
40513
40514 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
40515
40516 * include/grub/efi/console_control.h
40517 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
40518
40519 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
40520 last 8 bytes as an array.
40521 (GRUB_EFI_DISK_IO_GUID): New macro.
40522 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
40523 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
40524 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
40525 grub_uint8_t.
40526 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
40527 (struct grub_efi_device_path): Rename the member "sub_type" to
40528 "subtype".
40529 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
40530 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
40531 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
40532 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
40533 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
40534 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
40535 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
40536 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
40537 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
40538 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
40539 (struct grub_efi_pci_device_path): New structure.
40540 (grub_efi_pci_device_path_t): New type.
40541 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
40542 (struct grub_efi_pccard_device_path): New structure.
40543 (grub_efi_pccard_device_path_t): New type.
40544 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
40545 (struct grub_efi_memory_mapped_device_path): New structure.
40546 (grub_efi_memory_mapped_device_path_t): New type.
40547 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
40548 (struct grub_efi_vendor_device_path): New structure.
40549 (grub_efi_vendor_device_path_t): New type.
40550 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
40551 (struct grub_efi_controller_device_path): New structure.
40552 (grub_efi_controller_device_path_t): New type.
40553 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
40554 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
40555 (struct grub_efi_acpi_device_path): New structure.
40556 (grub_efi_acpi_device_path_t): New type.
40557 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
40558 (struct grub_efi_expanded_acpi_device_path): New structure.
40559 (grub_efi_expanded_acpi_device_path_t): New type.
40560 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
40561 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
40562 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
40563 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
40564 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
40565 (struct grub_efi_atapi_device_path): New structure.
40566 (grub_efi_atapi_device_path_t): New type.
40567 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
40568 (struct grub_efi_fibre_channel_device_path): New structure.
40569 (grub_efi_fibre_channel_device_path_t): New type.
40570 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
40571 (struct grub_efi_1394_device_path): New structure.
40572 (grub_efi_1394_device_path_t): New type.
40573 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
40574 (struct grub_efi_usb_device_path): New structure.
40575 (grub_efi_usb_device_path_t): New type.
40576 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
40577 (struct grub_efi_usb_class_device_path): New structure.
40578 (grub_efi_usb_class_device_path_t): New type.
40579 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
40580 (struct grub_efi_i2o_device_path): New structure.
40581 (grub_efi_i2o_device_path_t): New type.
40582 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
40583 (struct grub_efi_mac_address_device_path): New structure.
40584 (grub_efi_mac_address_device_path_t): New type.
40585 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
40586 (struct grub_efi_ipv4_device_path): New structure.
40587 (grub_efi_ipv4_device_path_t): New type.
40588 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
40589 (struct grub_efi_ipv6_device_path): New structure.
40590 (grub_efi_ipv6_device_path_t): New type.
40591 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
40592 (struct grub_efi_infiniband_device_path): New structure.
40593 (grub_efi_infiniband_device_path_t): New type.
40594 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
40595 (struct grub_efi_uart_device_path): New structure.
40596 (grub_efi_uart_device_path_t): New type.
40597 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
40598 (struct grub_efi_vendor_messaging_device_path): New structure.
40599 (grub_efi_vendor_messaging_device_path_t): New type.
40600 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
40601 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
40602 (struct grub_efi_hard_drive_device_path): New structure.
40603 (grub_efi_hard_drive_device_path_t): New type.
40604 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
40605 (struct grub_efi_cdrom_device_path): New structure.
40606 (grub_efi_cdrom_device_path_t): New type.
40607 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
40608 (struct grub_efi_vendor_media_device_path): New structure.
40609 (grub_efi_vendor_media_device_path_t): New type.
40610 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
40611 (struct grub_efi_file_path_device_path): New structure.
40612 (grub_efi_file_path_device_path_t): New type.
40613 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
40614 (struct grub_efi_protocol_device_path): New structure.
40615 (grub_efi_protocol_device_path_t): New type.
40616 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
40617 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
40618 (struct grub_efi_bios_device_path): New structure.
40619 (grub_efi_bios_device_path_t): New type.
40620 (struct grub_efi_disk_io): New structure.
40621 (grub_efi_disk_io_t): New type.
40622 (struct grub_efi_block_io_media): New structure.
40623 (grub_efi_block_io_media_t): New type.
40624 (struct grub_efi_block_io): New structure.
40625 (grub_efi_block_io_t): New type.
40626
40627 * include/grub/misc.h (grub_stop): Removed.
40628 (grub_exit): New prototype.
40629 (grub_abort): Likewise.
40630
40631 * include/grub/disk.h (enum grub_disk_dev_id): Added
40632 GRUB_DISK_DEVICE_EFIDISK_ID.
40633
40634 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40635 disk/efi/efidisk.c.
40636 (kernel_syms.lst): Remove the target if an error occurs.
40637
49986a9f 406382006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40639
40640 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40641 as it was simply too buggy.
40642
970d3b8a 406432006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40644
40645 * kern/misc.c (grub_lltoa): New function.
40646 (grub_vsprintf): Added support for the long long suffix,
40647 i.e. "ll".
40648
ff04ec24 406492006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40650
40651 * Makefile.in (LDFLAGS): Add variable.
40652 (LD): Remove variable.
40653 * configure.ac: Add -m32 to LDFLAGS.
40654 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40655 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40656 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40657 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40658 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40659 variables.
40660 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40661 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40662 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40663
37e5e1a4 406642006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40665
40666 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40667 length for unknown glyph.
40668
c352d8dd 406692006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40670
2eab1c0d 40671 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40672
2eab1c0d 40673 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40674 completely. Accept one more argument DIR. The caller has changed.
40675
40676 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40677
40678 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40679 (grub_efi_loaded_image_guid): New variable.
40680 (grub_efi_get_loaded_image): New function.
40681 (grub_arch_modules_addr): Likewise.
40682
40683 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40684 prototype.
40685
40686 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40687 (struct grub_efi_loaded_image): New structure.
40688 (grub_efi_loaded_image_t): New type.
40689
406902006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40691
c352d8dd 40692 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40693 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40694 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40695
6d01d6b4 406962006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40697
40698 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40699
976a4ea0 407002006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40701
40702 * DISTLIST: Added include/grub/efi/console.h,
40703 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40704 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40705
40706 * include/grub/efi/console.h: New file.
40707 * include/grub/efi/time.h: Likewise.
40708 * include/grub/i386/efi/kernel.h: Likewise.
40709 * kern/efi/init.c: Likewise.
40710 * kern/efi/mm.c: Likewise.
40711 * term/efi/console.c: Likewise.
f19dbdb7 40712
976a4ea0 40713 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40714 (grub_stop): Removed.
40715 (grub_get_rtc): Likewise.
40716 (grub_machine_init): Simply call grub_efi_init.
40717 (grub_machine_fini): Call grub_efi_fini.
40718
40719 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40720 (grub_efi_output_string): Removed.
40721 (grub_efi_stall): New function.
40722 (grub_stop): Likewise.
40723 (grub_get_rtc): Likewise.
40724
40725 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40726 (grub_efi_stall): New prototype.
40727 (grub_efi_allocate_pages): Likewise.
40728 (grub_efi_free_pages): Likewise.
40729 (grub_efi_get_memory_map): Likewise.
40730 (grub_efi_mm_init): Likewise.
40731 (grub_efi_mm_fini): Likewise.
40732 (grub_efi_init): Likewise.
40733 (grub_efi_fini): Likewise.
40734
40735 * include/grub/i386/efi/time.h: Do not include
40736 grub/symbol.h. Include grub/efi/time.h.
40737 (GRUB_TICKS_PER_SECOND): Removed.
40738 (grub_get_rtc): Likewise.
40739
40740 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40741 Added padding. The EFI spec is buggy.
40742 (GRUB_EFI_BLACK): New macro.
40743 (GRUB_EFI_BLUE): Likewise.
40744 (GRUB_EFI_GREEN): Likewise.
40745 (GRUB_EFI_CYAN): Likewise.
40746 (GRUB_EFI_RED): Likewise.
40747 (GRUB_EFI_MAGENTA): Likewise.
40748 (GRUB_EFI_BROWN): Likewise.
40749 (GRUB_EFI_LIGHTGRAY): Likewise.
40750 (GRUB_EFI_BRIGHT): Likewise.
40751 (GRUB_EFI_DARKGRAY): Likewise.
40752 (GRUB_EFI_LIGHTBLUE): Likewise.
40753 (GRUB_EFI_LIGHTGREEN): Likewise.
40754 (GRUB_EFI_LIGHTCYAN): Likewise.
40755 (GRUB_EFI_LIGHTRED): Likewise.
40756 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40757 (GRUB_EFI_YELLOW): Likewise.
40758 (GRUB_EFI_WHITE): Likewise.
40759 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40760 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40761 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40762 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40763 (GRUB_EFI_BACKGROUND_RED): Likewise.
40764 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40765 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40766 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40767 (GRUB_EFI_TEXT_ATTR): Likewise.
40768
40769 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40770 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40771 (kernel_mod_HEADERS): Added efi/time.h.
40772
83709125 407732006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40774
40775 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40776 include/grub/efi/api.h, include/grub/efi/console_control.h,
40777 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40778 include/grub/i386/efi/time.h, kern/efi/efi.c,
40779 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40780 and util/i386/efi/grub-mkimage.c.
40781
40782 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40783
40784 * genmk.rb (PModule#rule): Do not export symbols if
40785 #{prefix}_EXPORTS is set to "no".
40786
40787 * conf/i386-efi.mk: New file.
40788 * conf/i386-efi.rmk: Likewise.
40789 * include/grub/efi/api.h: Likewise.
40790 * include/grub/efi/console_control.h: Likewise.
40791 * include/grub/efi/efi.h: Likewise.
40792 * include/grub/efi/pe32.h: Likewise.
40793 * include/grub/i386/efi/time.h: Likewise.
40794 * kern/efi/efi.c: Likewise.
40795 * kern/i386/efi/init.c: Likewise.
40796 * kern/i386/efi/startup.S: Likewise.
40797 * util/i386/efi/grub-mkimage.c: Likewise.
40798
407992006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40800
40801 * include/grub/script.h: Include <grub/parser.h> and
40802 "grub_script.tab.h".
40803 (struct grub_lexer_param): New struct.
40804 (struct grub_parser_param): Likewise.
40805 (grub_script_create_arglist): Pass the state in an argument.
40806 (grub_script_add_arglist): Likewise.
40807 (grub_script_create_cmdline): Likewise.
40808 (grub_script_create_cmdblock): Likewise.
40809 (grub_script_create_cmdif): Likewise.
40810 (grub_script_create_cmdmenu): Likewise.
40811 (grub_script_add_cmd): Likewise.
40812 (grub_script_arg_add): Likewise.
40813 (grub_script_lexer_ref): Likewise.
40814 (grub_script_lexer_deref): Likewise.
40815 (grub_script_lexer_record_start): Likewise.
40816 (grub_script_lexer_record_stop): Likewise.
40817 (grub_script_mem_record): Likewise.
40818 (grub_script_mem_record_stop): Likewise.
40819 (grub_script_malloc): Likewise.
40820 (grub_script_yylex): Likewise.
40821 (grub_script_yyparse): Likewise.
40822 (grub_script_yyerror): Likewise.
40823 (grub_script_yylex): Likewise.
40824 (grub_script_lexer_init): Return the state.
40825
40826 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40827 (grub_script_lexer_done): Likewise.
40828 (grub_script_lexer_getline): Likewise.
40829 (grub_script_lexer_refs): Likewise.
40830 (script): Likewise.
40831 (newscript): Likewise.
40832 (record): Likewise.
40833 (recording): Likewise.
40834 (recordpos): Likewise.
40835 (recordlen): Likewise.
40836 (grub_script_lexer_init): Return the state instead of setting
40837 global variables.
40838 (grub_script_lexer_ref): Use the newly added argument for state
40839 instead of globals.
40840 (grub_script_lexer_deref): Likewise.
40841 (grub_script_lexer_record_start): Likewise.
40842 (grub_script_lexer_record_stop): Likewise.
40843 (recordchar): Likewise.
40844 (nextchar): Likewise.
40845 (grub_script_yylex2): Likewise.
40846 (grub_script_yylex): Likewise.
40847 (grub_script_yyerror): Likewise.
40848
40849 * normal/parser.y (func_mem): Removed variable.
40850 (menu_entry): Likewise.
40851 (err): Likewise.
40852 (%lex-param): New parser option.
40853 (%parse-param): Likewise.
40854 (script): Always return the AST.
40855 (argument): Pass the state around.
40856 (arguments): Likewise.
40857 (grubcmd): Likewise.
40858 (commands): Likewise.
40859 (function): Likewise.
40860 (menuentry): Likewise.
40861 (if_statement): Likewise.
40862 (if): Likewise.
40863
40864 * normal/script.c (grub_script_memused): Removed variable.
40865 (grub_script_parsed): Likewise.
40866 (grub_script_malloc): Added a state argument. Use that instead of
40867 global variables.
40868 (grub_script_mem_record): Likewise.
40869 (grub_script_mem_record_stop): Likewise.
40870 (grub_script_arg_add): Likewise.
40871 (grub_script_add_arglist): Likewise.
40872 (grub_script_create_cmdline): Likewise.
40873 (grub_script_create_cmdif): Likewise.
40874 (grub_script_create_cmdmenu): Likewise.
40875 (grub_script_add_cmd): Likewise.
40876 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40877
e2a8c904 408782006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40879
40880 * normal/command.c (grub_command_init): Remove the title command.
40881
40882 * normal/lexer.c (grub_script_yylex): Renamed from this...
40883 (grub_script_yylex2): ... to this.
40884 (grub_script_yylex): New function. Temporary
40885 introduced to filter some tokens.
40886 (grub_script_yyerror): Print a newline.
40887
40888 * normal/main.c (read_config_file): Output information about the
40889 lines that contain errors. Wait for a key after all lines have
40890 been processed. Don't return an empty menu.
40891
40892 * normal/parser.y (func_mem): Don't initialize.
40893 (menu_entry): Likewise.
40894 (err): New variable.
40895 (script): Don't return anything when an error was encountered.
40896 (ws, returns): Removed rules.
40897 (argument): Disabled concatenated variable support.
40898 (arguments): Remove explicit separators.
40899 (grubcmd): Likewise.
40900 (function): Likewise.
40901 (menuentry): Likewise.
40902 (if): Likewise.
40903 (commands): Likewise. Add error handling.
40904
40905 * normal/script.c (grub_script_create_cmdline): If
40906 `grub_script_parsed' is 0, assume the parser encountered an error.
40907
c9a86192 409082006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40909
40910 * configure.ac: Add support for EFI. Fix the typo
40911 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40912
70f3b243 409132006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40914
40915 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40916 foreign multibyte characters should be shown correctly.
40917
65f201ad 409182006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40919
40920 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40921 calculation.
40922 (read_config_file): Made it to close file before returning.
40923
b4b93674 409242006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40925
40926 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40927 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40928 video/i386/pc/vbefill.c.
40929
40930 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40931 video/i386/pc/vbefill.c.
40932
40933 * include/grub/video.h (grub_video_blit_format): New enum.
40934 (grub_video_mode_info): Added new member blit_format.
40935 (grub_video_get_blit_format): New function prototype.
40936
40937 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40938 function prototype.
40939 (grub_video_vbe_map_rgb): Likewise.
40940 (grub_video_vbe_unmap_color): Likewise.
40941
40942 * include/grub/i386/pc/vbeblit.h: New file.
40943
40944 * include/grub/i386/pc/vbefill.h: New file.
40945
40946 * video/video.c (grub_video_get_blit_format): New function.
40947 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40948 (grub_video_vbe_map_rgb): Likewise.
40949 (grub_video_vbe_unmap_color): Likewise.
40950
40951 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40952 optimized fills.
40953 (grub_video_vbe_blit_render_target): Changed to use more optimized
40954 blits.
40955 (grub_video_vbe_setup): Added detection for optimized settings.
40956 (grub_video_vbe_create_render_target): Likewise.
40957
40958 * video/i386/pc/vbeblit.c: New file.
40959
40960 * video/i386/pc/vbefill.c: New file.
40961
c2379b9c 409622006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40963
40964 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40965 here...
40966
40967 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40968 parsing to support both hex and dec ranges. If filename was missing
40969 show usage information.
40970
bd0d7896 409712006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40972
40973 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40974 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40975
40976 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40977 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40978 (video_mod_SOURCES): Added.
40979 (video_mod_CFLAGS): Likewise.
40980 (video_mod_LDFLAGS): Likewise.
40981 (gfxterm_mod_SOURCES): Likewise.
40982 (gfxterm_mod_CFLAGS): Likewise.
40983 (gfxterm_mod_LDFLAGS): Likewise.
40984 (videotest_mod_SOURCES): Likewise.
40985 (videotest_mod_CFLAGS): Likewise.
40986 (videotest_mod_LDFLAGS): Likewise.
40987 (vesafb_mod_SOURCES): Removed.
40988 (vesafb_mod_CFLAGS): Likewise.
40989 (vesafb_mod_LDFLAGS): Likewise.
40990 (vga_mod_SOURCES): Likewise.
40991 (vga_mod_CFLAGS): Likewise.
40992 (vga_mod_LDFLAGS): Likewise.
40993
40994 * commands/videotest.c: New file.
40995
40996 * font/manager.c (fill_with_default_glyph): Modified to use
40997 grub_font_glyph.
40998 (grub_font_get_glyph): Likewise.
40999 (fontmanager): Renamed from this...
41000 (font_manager): ... to this.
41001
41002 * include/grub/font.h (grub_font_glyph): Added new structure.
41003 (grub_font_get_glyph): Modified to use grub_font_glyph.
41004
41005 * include/grub/misc.h (grub_abs): Added as inline function.
41006
41007 * include/grub/video.h: New file.
41008
41009 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41010 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41011 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41012 (grub_vbe_get_controller_info): Renamed from this...
41013 (grub_vbe_bios_get_controller_info): ... to this.
41014 (grub_vbe_get_mode_info): Renamed from this...
41015 (grub_vbe_bios_get_mode_info): ... to this.
41016 (grub_vbe_set_mode): Renamed from this...
41017 (grub_vbe_bios_set_mode): ... to this.
41018 (grub_vbe_get_mode): Renamed from this...
41019 (grub_vbe_bios_get_mode): ... to this.
41020 (grub_vbe_set_memory_window): Renamed from this...
41021 (grub_vbe_bios_set_memory_window): ... to this.
41022 (grub_vbe_get_memory_window): Renamed from this...
41023 (grub_vbe_bios_get_memory_window): ... to this.
41024 (grub_vbe_set_scanline_length): Renamed from this...
41025 (grub_vbe_set_scanline_length): ... to this.
41026 (grub_vbe_get_scanline_length): Renamed from this...
41027 (grub_vbe_bios_get_scanline_length): ... to this.
41028 (grub_vbe_set_display_start): Renamed from this...
41029 (grub_vbe_bios_set_display_start): ... to this.
41030 (grub_vbe_get_display_start): Renamed from this...
41031 (grub_vbe_bios_get_display_start): ... to this.
41032 (grub_vbe_set_palette_data): Renamed from this...
41033 (grub_vbe_bios_set_palette_data): ... to this.
41034 (grub_vbe_set_pixel_rgb): Removed.
41035 (grub_vbe_set_pixel_index): Likewise.
41036
41037 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41038 from this...
41039 (grub_vbe_bios_get_controller_info): ... to this.
41040 (grub_vbe_get_mode_info): Renamed from this...
41041 (grub_vbe_bios_get_mode_info): ... to this.
41042 (grub_vbe_set_mode): Renamed from this...
41043 (grub_vbe_bios_set_mode): ... to this.
41044 (grub_vbe_get_mode): Renamed from this...
41045 (grub_vbe_bios_get_mode): ... to this.
41046 (grub_vbe_set_memory_window): Renamed from this...
41047 (grub_vbe_bios_set_memory_window): ... to this.
41048 (grub_vbe_get_memory_window): Renamed from this...
41049 (grub_vbe_bios_get_memory_window): ... to this.
41050 (grub_vbe_set_scanline_length): Renamed from this...
41051 (grub_vbe_set_scanline_length): ... to this.
41052 (grub_vbe_get_scanline_length): Renamed from this...
41053 (grub_vbe_bios_get_scanline_length): ... to this.
41054 (grub_vbe_set_display_start): Renamed from this...
41055 (grub_vbe_bios_set_display_start): ... to this.
41056 (grub_vbe_get_display_start): Renamed from this...
41057 (grub_vbe_bios_get_display_start): ... to this.
41058 (grub_vbe_set_palette_data): Renamed from this...
41059 (grub_vbe_bios_set_palette_data): ... to this.
41060 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41061 getting corrupted after calling it. Added more pushes and pops.
41062 (grub_vbe_bios_set_mode): Likewise.
41063 (grub_vbe_bios_get_mode): Likewise.
41064 (grub_vbe_bios_get_memory_window): Likewise.
41065 (grub_vbe_bios_set_scanline_length): Likewise.
41066 (grub_vbe_bios_get_scanline_length): Likewise.
41067 (grub_vbe_bios_get_display_start): Likewise.
41068 (grub_vbe_bios_set_palette_data): Likewise.
41069
41070 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41071 (cl_insert): Likewise.
41072 (cl_delete): Likewise.
41073
41074 * term/gfxterm.c: New file.
41075
41076 * term/i386/pc/vesafb.c: Removed file.
41077
41078 * video/video.c: New file.
41079
41080 * video/i386/pc/vbe.c (real2pm): Added new function.
41081 (grub_video_vbe_draw_pixel): Likewise.
41082 (grub_video_vbe_get_video_ptr): Likewise.
41083 (grub_video_vbe_get_pixel): Likewise
41084 (grub_video_vbe_init): Likewise.
41085 (grub_video_vbe_fini): Likewise.
41086 (grub_video_vbe_setup): Likewise.
41087 (grub_video_vbe_get_info): Likewise.
41088 (grub_video_vbe_set_palette): Likewise.
41089 (grub_video_vbe_get_palette): Likewise.
41090 (grub_video_vbe_set_viewport): Likewise.
41091 (grub_video_vbe_get_viewport): Likewise.
41092 (grub_video_vbe_map_color): Likewise.
41093 (grub_video_vbe_map_rgb): Likewise.
41094 (grub_video_vbe_map_rgba): Likewise.
41095 (grub_video_vbe_unmap_color): Likewise.
41096 (grub_video_vbe_fill_rect): Likewise.
41097 (grub_video_vbe_blit_glyph): Likewise.
41098 (grub_video_vbe_blit_bitmap): Likewise.
41099 (grub_video_vbe_blit_render_target): Likewise.
41100 (grub_video_vbe_scroll): Likewise.
41101 (grub_video_vbe_swap_buffers): Likewise.
41102 (grub_video_vbe_create_render_target): Likewise.
41103 (grub_video_vbe_delete_render_target): Likewise.
41104 (grub_video_vbe_set_active_render_target): Likewise.
41105 (grub_vbe_set_pixel_rgb): Remove function.
41106 (grub_vbe_set_pixel_index): Likewise.
41107 (index_color_mode): Remove static variable.
41108 (active_mode): Likewise.
41109 (framebuffer): Likewise.
41110 (bytes_per_scan_line): Likewise.
41111 (grub_video_vbe_adapter): Added new static variable.
41112 (framebuffer): Likewise.
41113 (render_target): Likewise.
41114 (initial_mode): Likewise.
41115 (mode_in_use): Likewise.
41116 (mode_list): Likewise.
41117
5f97350b 411182006-03-10 Marco Gerards <marco@gnu.org>
41119
41120 * configure.ac (AC_INIT): Bumped to 1.93.
41121
41122 * DISTLIST: Added `include/grub/hfs.h'.
41123
a3c5c6f8 411242006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41125
41126 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41127 18H, which might help the BIOS falling back to next boot media.
41128
6de53d26 411292006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41130
41131 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41132 Poe Chen <poe.poechen@gmail.com>.
41133
77c4a393 411342006-01-17 Marco Gerards <marco@gnu.org>
41135
41136 * include/grub/normal.h: Include <grub/script.h>.
41137 (grub_command_list): Removed struct.
41138 (grub_command_list_t): Removed type.
41139 (grub_menu_entry): Remove members `num' and `command_list'. Add
41140 members `commands' and `sourcecode'.
41141 * include/grub/script.h: Add inclusion guards.
41142 (grub_script_cmd_menuentry): New struct.
41143 (grub_script_execute_menuentry): New prototype.
41144 (grub_script_lexer_record_start): Likewise.
41145 (grub_script_lexer_record_stop): Likewise.
41146 * normal/execute.c (grub_script_execute_menuentry): New function.
41147 * normal/lexer.c (record, recording, recordpos, recordlen): New
41148 variables.
41149 (grub_script_lexer_record_start): New function.
41150 (grub_script_lexer_record_stop): Likewise.
41151 (recordchar): Likewise.
41152 (nextchar): Likewise.
41153 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41154 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41155 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41156 (current_menu): New variable.
41157 (free_menu): Mainly rewritten.
41158 (grub_normal_menu_addentry): New function.
41159 (read_config_file): Rewritten.
41160 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 41161 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 41162 the menu entry.
41163 (run): Mainly rewritten.
41164 * normal/parser.y (menu_entry): New variable.
41165 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41166 (menuentry): New rule.
41167 (command): Add `menuentry'.
41168 (if_statement): Allow additional returns before `fi'.
41169 * normal/script.c (grub_script_create_cmdmenu): New function.
41170
144f1f98 411712006-01-03 Marco Gerards <marco@gnu.org>
41172
41173 * INSTALL: GNU Bison is required.
41174 * configure.ac: Rewritten the test to detect Bison.
41175 * Makefile.in (YACC): New variable. Reported by Xun Sun
41176 <xun.sun.cn@gmail.com>.
41177
af4b2d89 411782006-01-03 Marco Gerards <marco@gnu.org>
41179
41180 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41181 the HFS+ filesystem to filesystem blocks.
41182 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41183 GCC warning is silenced.
41184
15643b71 411852006-01-03 Marco Gerards <marco@gnu.org>
41186
41187 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41188 read from disk from big endian to host byte order.
41189
00905879 411902006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41191
41192 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41193 documentation.
41194 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41195 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41196 embedded HFS+ filesystem.
41197 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41198 (grub_hfs_sblock): Move from here...
41199 * include/grub/hfs.h: To here... New file.
41200 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41201 documentation.
41202 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41203 New macros.
41204 (grub_hfsplus_volheader): Change type of member `magic' to
41205 `grub_uint16_t'.
41206 (grub_hfsplus_data): Add new member `embedded_offset'.
41207 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41208 returned block.
41209 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41210 Calculate the offset.
41211
8899bc3e 412122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41213
41214 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41215 Removed.
41216 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41217
ae8c0277 412182005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41219
41220 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41221 ENV->NAME is NULL after allocating ENV->VALUE.
41222
07084456 412232005-12-25 Marco Gerards <marco@gnu.org>
41224
41225 * kern/env.c (grub_env_set): Rewritten the error handling code.
41226
4750f5f1 412272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41228
41229 * geninit.sh: Made more robust, and more portable.
41230
50214199 412312005-12-25 Marco Gerards <marco@gnu.org>
41232
41233 Add support for Apple HFS+ filesystems.
f19dbdb7 41234
50214199 41235 * fs/hfsplus.c: New file.
41236
41237 * DISTLIST: Added `fs/hfsplus.c'.
41238
41239 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41240 (hfsplus_mod_SOURCES): New variable.
41241 (hfsplus_mod_CFLAGS): Likewise.
41242 (hfsplus_mod_LDFLAGS): Likewise.
41243 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41244 (grub_setup_SOURCES): Likewise.
41245 (grub_mkdevicemap_SOURCES): Likewise.
41246 (grub_emu_SOURCES): Likewise.
41247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41248
41249 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41250
41251 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41252
befaed6c 412532005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41254
41255 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
41256 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
41257 include/grub/parser.h, include/grub/script.h, kern/parser.c,
41258 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
41259 normal/lexer.c, normal/parser.y, normal/script.c, and
41260 partmap/gpt.c.
41261 Removed kern/sparc64/cache.c.
41262
41263 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
41264 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
41265 grub_emu_init.c.
41266
41267 * configure.ac (AC_INIT): Bumped to 1.92.
41268
6a124103 412692005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
41270
41271 * kern/err.c (grub_error_push): Added new function to support error
41272 stacks.
41273 (grub_error_pop): Likewise.
41274 (grub_error_stack_items): New local variable to support error stacks.
41275 (grub_error_stack_pos): Likewise.
41276 (grub_error_stack_assert): Likewise.
41277 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
41278 stack depth.
41279 (grub_print_error): Added support to print errors from error stack.
41280
41281 * include/grub/err.h (grub_error_push): Added function prototype.
41282 (grub_error_pop): Likewise.
41283
be973c1b 412842005-12-09 Hollis Blanchard <hollis@penguinppc.org>
41285
41286 * configure.ac: Accept `powerpc64' as host_cpu.
41287 (amd64): Rename to `biarch32'.
41288
41289 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
41290 non-cacheline-aligned addresses.
41291
41292 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
41293 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
41294 if `size' is non-zero.
41295
b04216ab 412962005-12-03 Marco Gerards <mgerards@xs4all.nl>
41297
41298 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
41299 and `cd' to make sure the filename is not prefixed with a
41300 directory name.
41301 (pkgdata_MODULES): Add `gpt.mod'.
41302 (gpt_mod_SOURCES): New variable.
41303 (gpt_mod_CFLAGS): Likewise.
41304 (gpt_mod_LDFLAGS): Likewise.
41305
41306 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
41307
41308 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
41309 New macro.
41310
41311 * partmap/gpt.c: New file.
41312
41313 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
41314 GPT partition map is detected.
41315
41730ed9 413162005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
41317
41318 * commands/i386/pc/play.c: New file.
41319 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
41320 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
41321 macros.
f19dbdb7 41322
95dc3643 413232005-11-27 Marco Gerards <mgerards@xs4all.nl>
41324
41325 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
41326 ((unused))' to silence gcc warning.
41327
1569ec51 413282005-11-26 Hollis Blanchard <hollis@penguinppc.org>
41329
41330 * configure.ac: Correct `AC_PROG_YACC' test.
41331
9abde152 413322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41333
41334 * util/powerpc/ieee1275/grub-install.in: Run the mount point
41335 check before installing files.
41336
44b83271 413372005-11-22 Mike Small <smallm@panix.com>
41338
41339 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
41340 number regex so multidigit numbers are recognized correctly.
41341
413422005-11-22 Mike Small <smallm@panix.com>
41343
41344 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
41345 debugging message before attempting to claim memory.
41346 (grub_rescue_cmd_initrd): Add a claim debugging message and try
41347 multiple addresses in case of failure.
41348
9c12956b 413492005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41350
41351 * term/tparm.c (get_space): Remove empty `if' statement.
41352
41353 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
41354
41355 * kern/parser.c (check_varstate): Rename `state' to 's'.
41356
aeaf81d9 413572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41358
41359 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
41360 variable definitions to the beginning of each function. Sort stack
41361 variables by size.
41362 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
41363 `buf' argument to `char *'.
41364
79bbb63f 413652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41366
41367 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
41368 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41369 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 41370 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41371 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41372 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41373 configfile.mod, search.mod, gzio.mod and test.mod.
41374 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41375 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41376 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41377 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41378 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41379 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41380 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41381 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41382 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41383 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41384 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41385 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41386 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41387 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41388 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41389 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41390 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41391 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41392 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41393 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41394 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41395 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41396 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
41397
41398 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
41399 `grep --include'.
41400 (pkgdata_MODULES): Add test.mod.
41401
233b1628 414022005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41403
41404 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
41405 appending to variables with "+=".
41406 (PModule): Use full pathname to generate *.lst filenames.
41407
41408 * Makefile.in: Fixed list rules moved from genmk.rb.
41409 (.DELETE_ON_ERROR): New special target.
41410 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
41411
41412 * conf/i386-pc.rmk: Include conf/common.mk.
41413 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41414 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 41415 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41416 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41417 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41418 configfile.mod, search.mod, gzio.mod and test.mod.
41419 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41420 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41421 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41422 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41423 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41424 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41425 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41426 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41427 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41428 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41429 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41430 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41431 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41432 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41433 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41434 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41435 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41436 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41437 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41438 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41439 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41440 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41441 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
41442 here...
41443 * conf/common.rmk: ... to here. New file.
41444
41445 * conf/common.mk: New file.
41446
16f820c8 414472005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
41448
41449 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
41450 (grub_script.tab.c): ... here.
41451
41452 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
41453 (grub_script.tab.c): ... here.
41454
41455 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
41456 (grub_script.tab.c): ... here.
41457
41458 * normal/command.c (grub_command_find): Fixed a memory leak of
41459 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
41460
63ba1554 414612005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41462
41463 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
41464 "@" which marks the start of a comment on ARM.
41465 (VARIABLE): Likewise.
41466
7f67dc13 414672005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41468
79bbb63f 41469 Add support for Linux/ADFS partition tables.
7f67dc13 41470
41471 * partmap/acorn.c: New file.
41472
41473 * include/grub/acorn_filecore.h: Likewise.
41474
41475 * DISTLIST: Added `partmap/acorn.c' and
41476 `include/grub/acorn_filecore.h'.
f19dbdb7 41477
7f67dc13 41478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41479 `partmap/acorn.c'.
41480 (pkgdata_MODULES): Add `acorn.mod'.
41481 (acorn_mod_SOURCES): New variable.
41482 (acorn_mod_CFLAGS): Likewise.
41483
41484 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41485 `partmap/acorn.c'.
41486 (pkgdata_MODULES): Add `acorn.mod'.
41487 (acorn_mod_SOURCES): New variable.
41488 (acorn_mod_CFLAGS): Likewise.
41489
41490 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
41491 (pkgdata_MODULES): Add `acorn.mod'.
41492 (acorn_mod_SOURCES): New variable.
41493 (acorn_mod_CFLAGS): Likewise.
41494 (acorn_mod_LDFLAGS): Likewise.
41495
41496 * include/types.h (grub_disk_addr_t): New typedef.
41497
6d099807 414982005-11-13 Marco Gerards <mgerards@xs4all.nl>
41499
41500 * geninit.sh: New file.
41501
41502 * geninitheader.sh: Likewise.
41503
41504 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
41505 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
41506 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
41507 * commands/configfile.c (grub_configfile_init)
41508 (grub_configfile_fini): Likewise.
41509 * commands/default.c (grub_default_init, grub_default_fini):
41510 Likewise.
41511 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
41512 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
41513 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
41514 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
41515 Likewise.
41516 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
41517 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
41518 Likewise.
41519 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 41520 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 41521 Likewise.
41522 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
41523 Likewise.
fe6b695a 41524 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 41525 Likewise.
41526 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
41527 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
41528 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
41529 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
41530 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
41531 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
41532 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
41533 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
41534 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
41535 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
41536 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
41537 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
41538 * partmap/amiga.c (grub_amiga_partition_map_init)
41539 (grub_amiga_partition_map_fini): Likewise.
41540 * partmap/apple.c (grub_apple_partition_map_init)
41541 (grub_apple_partition_map_fini): Likewise.
41542 * partmap/pc.c (grub_pc_partition_map_init)
41543 (grub_pc_partition_map_fini): Likewise.
41544 * partmap/sun.c (grub_sun_partition_map_init,
41545 grub_sun_partition_map_fini): Likewise.
41546 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
41547 Likewise.
41548
41549 * util/grub-emu.c: Include <grub_modules_init.h>.
41550 (main): Don't initialize and de-initialize any modules directly,
41551 use `grub_init_all' and `grub_fini_all' instead.
41552
41553 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
41554 `grub_vesafb_mod_init'.
41555 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
41556 all users.
41557 * term/i386/pc/vga.c (grub_vga_init): Renamed to
41558 `grub_vga_mod_init'. Updated all users.
41559 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 41560
6d099807 41561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
41562 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
41563 rules.
41564
41565 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
41566 Generate a function to initialize the module in utilities.
41567 Updated all callers.
41568 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
41569 initialize the module in utilities. Updated all callers.
41570
9046bcf0 415712005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41572
41573 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
41574 escape sequence and a literal ^L to clear the screen.
41575
41576 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
41577 when returning from Open Firmware.
41578
d13ea639 415792005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41580
41581 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
41582 (grub_ofconsole_height): Likewise.
41583 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
41584 manually insert a '\n'.
41585 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
41586 `grub_ofconsole_height'. Return early if these are already set.
41587
a8fcf206 415882005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
41589
41590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41591 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
41592 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
41593 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
41594 and `normal/script.c'.
41595 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41596 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41597 (test_mod_SOURCES): New variable.
41598 (test_mod_CFLAGS): Likewise.
41599 (test_mod_LDFLAGS): Likewise.
41600 (pkgdata_MODULES): Add `test.mod'.
41601 (grub_script.tab.c): New rule.
41602 (grub_script.tab.h): Likewise.
41603
b6b32745 416042005-11-07 Marco Gerards <mgerards@xs4all.nl>
41605
41606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41607 `commands/test.c', `normal/execute.c', `normal/lexer.c',
41608 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41609 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41610 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41611 (test_mod_SOURCES): New variable.
41612 (test_mod_CFLAGS): Likewise.
41613 (pkgdata_MODULES): Add `test.mod'.
41614 (grub_script.tab.c): New rule.
41615 (grub_script.tab.h): Likewise.
41616
daac212a 416172005-11-06 Marco Gerards <mgerards@xs4all.nl>
41618
41619 Add initial scripting support.
41620
41621 * commands/test.c: New file.
41622 * include/grub/script.h: Likewise.
41623 * normal/execute.c: Likewise.
41624 * normal/function.c: Likewise.
41625 * normal/lexer.c: Likewise.
41626 * normal/parser.y: Likewise.
41627 * normal/script.c: Likewise.
41628
41629 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41630
daac212a 41631 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41632 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41633 `normal/function.c' and `normal/script.c'.
41634 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41635 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41636 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41637 variables.
daac212a 41638 (pkgdata_MODULES): Add `test.mod'.
41639 (grub_script.tab.c): New rule.
41640 (grub_script.tab.h): Likewise.
41641
41642 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41643
41644 * include/grub/normal.h (grub_test_init): New prototype.
41645 (grub_test_fini): Likewise.
f19dbdb7 41646
daac212a 41647 * normal/command.c: Include <grub/script.h>.
41648 (grub_command_execute): Rewritten.
f19dbdb7 41649
daac212a 41650 * util/grub-emu.c (main): Call `grub_test_init' and
41651 `grub_test_fini'.
41652
77500b2b 416532005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41654
41655 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41656 to 0.
41657 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41658 there are no pending characters.
41659
e45deb9e 416602005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41661
41662 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41663 `grub_strndup' to drop device arguments. Replace unnecessary
41664 `grub_strndup' with `grub_strdup'.
41665
4ce32619 416662005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41667
41668 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41669 `debug' environment variable has been set.
41670
416712005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41672
4ce32619 41673 * Makefile.in (install-local): Use $(DATA).
41674 (uninstall): Likewise.
41675 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41676 (sbin_UTILITIES): ... to here.
41677 (sbin_SCRIPTS): New variable.
41678 (grub_install_SOURCES): New variable.
41679 * util/powerpc/ieee1275/grub-install.in: New file.
41680 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41681 variable.
41682 (add_segments): Call `grub_util_get_path'.
41683
25fe6f03 416842005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41685
41686 From Timothy Baldwin:
41687 * commands/ls.c (grub_ls_list_files): Close FILE with
41688 grub_file_close.
41689 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41690
04ccf3ec 416912005-10-24 Marco Gerards <mgerards@xs4all.nl>
41692
41693 * include/grub/parser.h: New file.
41694
41695 * kern/parser.c: Likewise.
41696
41697 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41698 (grub_setup_SOURCES): Likewise.
41699 (grub_probefs_SOURCES): Likewise.
41700 (grub_emu_SOURCES): Likewise.
41701 (kernel_img_HEADERS): Add `parser.h'.
41702
41703 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41704 (grub_emu_SOURCES): Add `kern/parser.c'.
41705 (grubof_SOURCES): Likewise.
41706
41707 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41708 (grubof_SOURCES): Add `kern/parser.c'.
41709
41710 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41711
41712 * kern/misc.c (grub_split_cmdline): Removed function.
41713
41714 * kern/rescue.c: Include <grub/parser.h>.
41715 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41716 of `grub_split_cmdline'.
41717
41718 * normal/command.c: Include <grub/parser.h>.
41719 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41720 of `grub_split_cmdline'.
41721
41722 * normal/completion.c: Include <grub/parser.h>.
41723 (cmdline_state): New variable.
41724 (iterate_dir): End the filename with a quote depending on the
41725 command line state.
41726 (get_state): new function.
41727 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41728 split the arguments and determine the current argument. When the
41729 argument string is not quoted, escape all spaces.
41730
6d8f4b0e 417312005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41732
41733 * normal/sparc64/setjmp.S: New file.
41734
15cf03ed 417352005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41736
41737 * include/grub/sparc64/libgcc.h: New file.
41738 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41739 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41740 normal/sparc64/setjmp.c.
41741
03e8661a 417422005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41743
41744 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41745 * kern/sparc64/cache.S: New file.
41746 * kern/sparc64/cache.c: Removed.
41747 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41748 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41749 -mtune=ultrasparc.
41750 (COMMON_LDFLAGS): Add -melf64_sparc.
41751 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41752 (grubof_SOURCES): Use cache.S instead of cache.c.
41753 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41754 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41755 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41756 commented though.
41757 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41758 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41759 (linux_mod_CFLAGS): Commented out.
41760 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41761 out because module isn't built.
41762 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41763 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41764 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41765 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41766 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41767 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41768 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41769 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41770 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41771 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41772 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41773 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41774 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41775 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41776
34eeec8a 417772005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41778
41779 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41780 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41781 longer, because HFS should not be used on PC.
41782
708367a3 417832005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41784
41785 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41786 consistently within the loop.
41787
6fa1251a 417882005-10-15 Marco Gerards <mgerards@xs4all.nl>
41789
41790 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41791 directory can not be read.
41792
4801580b 417932005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41794
41795 * configure.ac (AC_INIT): Increase the version number to 1.91.
41796
41797 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41798 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41799 term/i386/pc/serial.c.
41800
219ad426 418012005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41802
41803 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41804 file size must be permitted.
41805
41806 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41807 between %ah and %al.
41808
688e5699 418092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41810
41811 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41812 grub_uint64_t.
41813 Call the hook with a NUL-terminated filename.
41814 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41815 grub_cpu_to_be32.
41816
41817 * kern/term.c (cursor_state): New variable.
41818 (grub_term_set_current): Reset the cursor state on a new
41819 terminal.
41820 (grub_setcursor): Rewritten to use CURSOR_STATE.
41821 (grub_getcursor): New function.
41822
41823 * include/grub/term.h (grub_getcursor): New prototype.
41824
41825 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41826 integers on ARM. Reported by Timothy Baldwin
41827 <T.E.Baldwin99@members.leeds.ac.uk>.
41828
bb34586c 418292005-10-11 Marco Gerards <mgerards@xs4all.nl>
41830
41831 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41832 allocated.
41833 (grub_sfs_dir): Likewise.
41834
9a909877 418352005-10-09 Marco Gerards <mgerards@xs4all.nl>
41836
41837 Add support for the SFS filesystem.
41838
41839 * fs/sfs.c: New file.
41840
41841 * DISTLIST: Added `fs/sfs.c'.
41842
41843 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41844 (grub_probefs_SOURCES): Likewise.
41845 (grub_emu_SOURCES): Likewise.
41846 (pkgdata_MODULES): Add `sfs.mod'.
41847 (sfs_mod_SOURCES): New variable.
41848 (sfs_mod_CFLAGS): Likewise.
41849 (sfs_mod_LDFLAGS): Likewise.
41850
41851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41852 (pkgdata_MODULES): Add `sfs.mod'.
41853 (sfs_mod_SOURCES): New variable.
41854 (sfs_mod_CFLAGS): Likewise.
41855
41856 * util/grub-emu.c (main): Call `grub_sfs_init' and
41857 `grub_sfs_fini'.
41858
41859 * include/grub/fs.h (grub_sfs_init): New prototype.
41860 (grub_sfs_fini): Likewise.
41861
57bdbde3 418622005-10-07 Marco Gerards <mgerards@xs4all.nl>
41863
41864 Add support for the AFFS filesystem.
41865
41866 * fs/affs.c: New file.
41867
41868 * DISTLIST: Added `fs/affs.c'.
41869
41870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41871 (grub_probefs_SOURCES): Likewise.
41872 (grub_emu_SOURCES): Likewise.
41873 (pkgdata_MODULES): Add `affs.mod'.
41874 (affs_mod_SOURCES): New variable.
41875 (affs_mod_CFLAGS): Likewise.
41876 (affs_mod_LDFLAGS): Likewise.
41877
41878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41879 (pkgdata_MODULES): Add `affs.mod'.
41880 (affs_mod_SOURCES): New variable.
41881 (affs_mod_CFLAGS): Likewise.
41882
41883 * util/grub-emu.c (main): Call `grub_affs_init' and
41884 `grub_affs_fini'.
41885
41886 * include/grub/fs.h (grub_affs_init): New prototype.
41887 (grub_affs_fini): Likewise.
41888
047b67e0 418892005-10-01 Marco Gerards <mgerards@xs4all.nl>
41890
41891 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41892
59b8208a 418932005-10-01 Marco Gerards <mgerards@xs4all.nl>
41894
41895 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41896 `-m32' to CFLAGS.
41897
41898 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41899 linking.
f19dbdb7 41900
59b8208a 41901 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41902 (COMMON_LDFLAGS): New variable.
41903 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41904 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41905 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41906 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41907 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41908 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41909 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41910 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41911 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41912 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41913 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41914 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41915 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41916 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41917 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41918 variables.
41919 (normal_mod_ASFLAGS): Add `-m32'.
41920
41921 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41922 (grub_host_size_t, grub_host_ssize_t): New types.
41923 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41924 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41925 `GRUB_HOST_SIZEOF_VOID_P'.
41926
41927 * include/grub/kernel.h (struct grub_module_header): Type of
41928 member offset changed to `grub_host_off_t'. Type of member size
41929 changed to `grub_host_size_t'.
41930 (struct grub_module_info): Type of member offset changed to
41931 `grub_host_off_t'. Type of member size changed to
41932 `grub_host_size_t'.
41933
b4093103 419342005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41935
41936 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41937
b4093103 41938 * kern/i386/pc/startup.S (multiboot_header): New label.
41939 (multiboot_entry): Likewise.
41940 (multiboot_trampoline): Likewise.
41941
41942 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41943 Increased to 0x4A0.
41944
41945 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41946 put parentheses after a question mark.
41947 [!GRUB_UTIL] (my_mod): New variable.
41948
41949 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41950
b2499b29 419512005-09-28 Marco Gerards <mgerards@xs4all.nl>
41952
41953 Adds support for the XFS filesystem. Btrees are not supported
41954 yet.
41955
41956 * fs/xfs.c: New file.
41957
41958 * DISTLIST: Added `fs/xfs.c'.
41959
41960 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41961 (grub_probefs_SOURCES): Likewise.
41962 (grub_emu_SOURCES): Likewise.
41963 (pkgdata_MODULES): Add `xfs.mod'.
41964 (xfs_mod_SOURCES): New variable.
41965 (xfs_mod_CFLAGS): Likewise.
41966
41967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41968 (pkgdata_MODULES): Add `xfs.mod'.
41969 (xfs_mod_SOURCES): New variable.
41970 (xfs_mod_CFLAGS): Likewise.
41971
41972 * util/grub-emu.c (main): Call `grub_xfs_init' and
41973 `grub_xfs_fini'.
41974
41975 * include/grub/fs.h (grub_xfs_init): New prototype.
41976 (grub_xfs_fini): Likewise.
41977
f19dbdb7 41978
83d37a62 419792005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41980
41981 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41982 color modes, allow greater than 16 colors to be configured as
41983 a default palette.
41984
47d2d65e 419852005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41986
41987 * normal/completion.c (complete_arguments): Add the qualifier
41988 const into OPTIONS.
41989
41990 From Omniflux <omniflux+lists@omniflux.com>:
41991 * include/grub/terminfo.h: New file.
41992 * include/grub/tparm.h: Likewise.
41993 * include/grub/i386/pc/serial.h: Likewise.
41994 * term/terminfo.c: Likewise.
41995 * term/tparm.c: Likewise.
41996 * term/i386/pc/serial.c: Likewise.
41997 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41998 serial.mod.
41999 (terminfo_mod_SOURCES): New variable.
42000 (terminfo_mod_CFLAGS): Likewise.
42001 (serial_mod_SOURCES): Likewise.
42002 (serial_mod_CFLAGS): Likewise.
42003
48b671ff 420042005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42005
42006 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42007 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42008 and kern/powerpc/ieee1275/cmain.c, respectively.
42009
42010 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42011 * kern/powerpc/ieee1275/crt0.S: ... here.
42012
42013 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42014 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 42015
48b671ff 42016 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42017 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42018 instead of boot/powerpc/ieee1275/crt0.S and
42019 boot/powerpc/ieee1275/cmain.c, respectively.
42020
42021 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42022 sectors. It was not used anyway.
42023
09fc77a7 420242005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42025
42026 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42027 `unused parameter' warning.
42028
003789c7 420292005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42030
42031 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42032 function.
42033 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42034 getcharwidth.
42035
67f44c86 420362005-08-28 Marco Gerards <metgerards@student.han.nl>
42037
42038 * include/grub/normal.h (enum grub_completion_type): Added
42039 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42040
42041 * normal/cmdline.c (print_completion): Handle
42042 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42043 * normal/menu_entry.c (store_completion): Likewise.
42044
42045 * normal/completion.c (complete_arguments): New function.
42046 (grub_normal_do_completion): Call `complete_arguments' when the
42047 current words start with a dash.
42048
0b5abe02 420492005-08-27 Marco Gerards <metgerards@student.han.nl>
42050
42051 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42052 `gzio.mod' instead of `io.mod').
42053
d9864ee1 420542005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42055
42056 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42057 (DISTDIRS): Added io and video.
42058 Rewrite the search routine to make an output consistently.
42059
42060 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42061 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42062 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42063 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42064 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42065 util/powerpc/ieee1275/misc.c.
f19dbdb7 42066
d9864ee1 42067 * include/grub/gzio.h: New file.
42068 * io/gzio.c: Likewise.
f19dbdb7 42069
d9864ee1 42070 * kern/file.c (grub_file_close): Call grub_device_close only if
42071 FILE->DEVICE is not NULL.
42072
42073 * include/grub/mm.h [!NULL] (NULL): New macro.
42074
42075 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42076
42077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42078 (pkgdata_MODULES): Added gzio.mod.
42079 (gzio_mod_SOURCES): New variable.
42080 (gzio_mod_CFLAGS): Likewise.
42081
42082 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42083 (pkgdata_MODULES): Added gzio.mod.
42084 (gzio_mod_SOURCES): New variable.
42085 (gzio_mod_CFLAGS): Likewise.
42086
42087 * commands/cat.c: Include grub/gzio.h.
42088 (grub_cmd_cat): Use grub_gzfile_open instead of
42089 grub_file_open.
f19dbdb7 42090
d9864ee1 42091 * commands/cmp.c: Include grub/gzio.h.
42092 (grub_cmd_cmp): Use grub_gzfile_open instead of
42093 grub_file_open.
42094
42095 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42096 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42097 grub_file_open.
42098 (grub_rescue_cmd_module): Likewise.
42099
fa46f4b5 421002005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42101
42102 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42103 kern/sparc64/ieee1275/init.c because it contains _start.
42104 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42105
e9211b5d 421062005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42107
42108 * configure.ac: Add support for sparc64 host with ieee1275
42109 firmware.
42110 * configure: Generated from configure.ac.
42111 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42112 instead of int.
42113 (grub_ofdisk_read): Likewise.
42114 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42115 pointers as (void *) to remove a warning.
42116 (grub_ofdisk_close): Likewise.
42117 (grub_ofdisk_read): Likewise.
42118 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42119 returns, so make it return void to remove a warning.
42120 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42121 Corresponding prototype change.
42122 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42123 values, and cast the pointers as (void *) to remove a warning.
42124 (grub_mm_dump): Likewise.
42125 * conf/sparc64-ieee1275.mk: New file.
42126 * conf/sparc64-ieee1275.rmk: Likewise.
42127 * include/grub/sparc64/setjmp.h: Likewise.
42128 * include/grub/sparc64/types.h: Likewise.
42129 * include/grub/sparc64/ieee1275/console.h: Likewise.
42130 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42131 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42132 * include/grub/sparc64/ieee1275/time.h: Likewise.
42133 * kern/sparc64/cache.c: Likewise.
42134 * kern/sparc64/dl.c: Likewise.
42135 * kern/sparc64/ieee1275/init.c: Likewise.
42136 * kern/sparc64/ieee1275/openfw.c: Likewise.
42137
385c6a92 421382005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42139
42140 * util/console.c (grub_ncurses_putchar): If C is greater than
42141 0x7f, set C to a question mark.
42142 (grub_ncurses_getcharwidth): New function.
42143 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42144 getcharwidth.
42145
42146 * normal/menu.c (print_entry): Made aware of Unicode. First,
42147 convert TITLE to UCS-4, and predict the cursor position by
42148 grub_getcharwidth.
42149
42150 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42151 const to SRC.
42152 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42153
16ccb8b1 421542005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42155
42156 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42157 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42158 grub_strcat.
42159
42160 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42161 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42162 grub_strcpy and grub_strlen. Take it into account that a space
42163 character is inserted as a delimiter.
42164
6a85ce79 421652005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42166
42167 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 42168 invalid magic in the error.
6a85ce79 42169
42170 * commands/search.c: New file.
f19dbdb7 42171
6a85ce79 42172 * util/grub-emu.c (main): Call grub_search_init and
42173 grub_search_fini.
42174
42175 * kern/rescue.c (grub_rescue_print_disks): Removed.
42176 (grub_rescue_print_devices): New function.
42177 (grub_rescue_cmd_ls): Use grub_device_iterate with
42178 grub_rescue_print_devices instead of grub_disk_dev_iterate with
42179 grub_rescue_print_disks.
42180
42181 * kern/partition.c (grub_partition_iterate): Return the result of
42182 PARTMAP->ITERATE instead of GRUB_ERRNO.
42183
42184 * kern/device.c: Include grub/partition.h.
42185 (grub_device_iterate): New function.
42186
42187 * include/grub/partition.h (grub_partition_iterate): Return int
42188 instead of grub_err_t.
42189
42190 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42191 prototype.
42192 [GRUB_UTIL] (grub_search_fini): Likewise.
42193
42194 * include/grub/device.h (grub_device_iterate): New prototype.
42195
42196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42197 commands/search.c.
42198 (pkgdata_MODULES): Added search.mod.
42199 (search_mod_SOURCES): New variable.
42200 (search_mod_CFLAGS): Likewise.
42201
42202 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42203 (pkgdata_MODULES): Added search.mod.
42204 (search_mod_SOURCES): New variable.
42205 (search_mod_CFLAGS): Likewise.
42206
42207 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42208 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42209 All callers changed.
42210
42211 * DISTLIST: Added commands/search.c.
42212
ef095434 422132005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42214
42215 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42216 conversion.
42217 (grub_getcharwidth): New function.
42218
42219 * kern/misc.c (grub_utf8_to_ucs4): New function.
42220
42221 * include/grub/term.h (struct grub_term): Added a new member
42222 "getcharwidth".
42223 (grub_getcharwidth): New prototype.
42224
42225 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42226
42227 * term/i386/pc/console.c (map_char): New function. Segregated from
42228 grub_console_putchar.
42229 (grub_console_putchar): Use map_char.
42230 (grub_console_getcharwidth): New function.
42231 (grub_console_term): Specified grub_console_getcharwidth as
42232 getcharwidth.
42233
42234 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42235 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42236
42237 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42238 GRUB_ERRNO.
42239 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42240 on grub_strtoul completely.
42241 (write_char): Declare local variables in the beginning of the
42242 function.
42243 (grub_vesafb_getcharwidth): New function.
42244 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42245 getcharwidth.
42246
1f0a95e4 422472005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42248
42249 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42250 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42251 commands/i386/pc/vbetest.c.
42252
42253 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42254 call grub_vbe_get_controller_info again, because the returned
42255 information is volatile.
42256 (grub_vbe_set_video_mode): Mostly rewritten.
42257 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
42258 grub_vbe_status_t correctly.
42259 (grub_vbe_get_video_mode_info): Likewise.
42260 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
42261 several if statements.
42262
42263 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
42264 * commands/i386/pc/vbeinfo.c: ... this.
42265
42266 * commands/i386/pc/vbe_test.c: Renamed to ...
42267 * commands/i386/pc/vbetest.c: ... this.
42268
42269 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
42270 ...
42271 (grub_cmd_vbeinfo): ... this. Save video modes before
42272 iterating. Skip a video mode, if it is not available, not enough
42273 information is given or it is monochrome. Show the memory
42274 model. Leave the interpretation of MODEVAR to grub_strtoul
42275 completely.
42276 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
42277 (GRUB_MOD_FINI): Likewise.
42278
42279 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
42280 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
42281 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
42282 duplicated grub_env_get. Leave the interpretation of MODEVAR to
42283 grub_strtoul completely.
42284 (real2pm): Removed.
42285 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
42286 (GRUB_MOD_FINI): Likewise.
42287
42288 * normal/misc.c: Include grub/mm.h.
42289
42290 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
42291 vbe_list_modes with vbetest.mod and vbeinfo.mod.
42292 (vbe_list_modes_mod_SOURCES): Removed.
42293 (vbe_list_modes_mod_CFLAGS): Likewise.
42294 (vbe_test_mod_SOURCES): Likewise.
42295 (vbe_test_mod_CFLAGS): Likewise.
42296 (vbeinfo_mod_SOURCES): New variable.
42297 (vbeinfo_mod_CFLAGS): Likewise.
42298 (vbetest_mod_SOURCES): Likewise.
42299 (vbetest_mod_CFLAGS): Likewise.
42300
992ffbbe 423012005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
42302
42303 * normal/misc.c: New file.
42304
42305 * DISTLIST: Added normal/misc.c.
f19dbdb7 42306
992ffbbe 42307 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
42308 DISK to HOOK. Call HOOK with DISK.
42309 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42310 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42311 * partmap/sun.c (sun_partition_map_iterate): Likewise.
42312
42313 * normal/menu_entry.c (struct screen): Added a new member
42314 "completion_shown".
42315 (completion_buffer): New global variable.
42316 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
42317 (store_completion): New function.
42318 (complete): Likewise.
42319 (clear_completions): Likewise.
42320 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
42321 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
42322 a tab, call complete.
42323
42324 * normal/completion.c (disk_dev): Removed.
42325 (print_simple_completion): Likewise.
42326 (print_partition_completion): Likewise.
42327 (print_func): New global variable.
42328 (add_completion): Do not take the arguments WHAT or PRINT any
42329 longer. Added a new argument TYPE. Instead of printing directly,
42330 call PRINT_FUNC if not NULL.
42331 All callers changed.
42332 (complete_device): Use a local variable DEV instead of
42333 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
42334 (grub_normal_do_completion): Take a new argument HOOK. Do not
42335 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
42336 empty string, return NULL instead.
42337 All callers changed.
42338
42339 * normal/cmdline.c (print_completion): New function.
42340
42341 * kern/partition.c (grub_partition_iterate): Add an argument DISK
42342 to HOOK.
42343 All callers changed.
42344
42345 * kern/disk.c (grub_print_partinfo): Removed.
42346
42347 * include/grub/partition.h (struct grub_partition_map): Add a new
42348 argument DISK into HOOK of ITERATE.
42349 (grub_partition_iterate): Add a new argument DISK to HOOK.
42350
42351 * include/grub/normal.h (enum grub_completion_type): New enum.
42352 (grub_completion_type_t): New type.
42353 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
42354 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
42355 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
42356 (GRUB_COMPLETION_TYPE_FILE): Likewise.
42357 (grub_normal_do_completion): Added a new argument HOOK.
42358 (grub_normal_print_device_info): New prototype.
42359
42360 * include/grub/disk.h (grub_print_partinfo): Removed.
42361
42362 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
42363 (normal_mod_SOURCES): Likewise.
42364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42365 (normal_mod_SOURCES): Likewise.
42366
42367 * commands/ls.c (grub_ls_list_disks): Use
42368 grub_normal_print_device_info instead of grub_print_partinfo. Free
42369 PNAME.
42370 (grub_ls_list_files): Use grub_normal_print_device_info instead of
42371 duplicating the code.
42372
0bd41162 423732005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42374
42375 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 42376 follow GCS more precisely.
42377 * commands/i386/pc/vbe_test.c: Likewise.
42378 * include/grub/i386/pc/vbe.h: Likewise.
42379 * term/i386/pc/vesafb.c: Likewise.
42380 * video/i386/pc/vbe.c: Likewise.
0bd41162 42381
6323696a 423822005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42383
42384 * DISTLIST: Added term/i386/pc/vesafb.c
42385 DISTLIST: Added video/i386/pc/vbe.c
42386 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
42387 DISTLIST: Added commands/i386/pc/vbe_test.c.
42388 * commands/i386/pc/vbe_list_modes.c: New file.
42389 * commands/i386/pc/vbe_test.c: Likewise.
42390 * term/i386/pc/vesafb.c: Likewise.
42391 * video/i386/pc/vbe.c: Likewise.
42392 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
42393 (grub_vbe_probe) Added prototype.
42394 (grub_vbe_set_video_mode) Likewise.
42395 (grub_vbe_get_video_mode) Likewise.
42396 (grub_vbe_get_video_mode_info) Likewise.
42397 (grub_vbe_set_pixel_rgb) Likewise.
42398 (grub_vbe_set_pixel_index) Likewise.
42399 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
42400 (pkgdata_MODULES): Added vesafb.mod.
42401 (pkgdata_MODULES): Added vbe_list_modes.mod.
42402 (pkgdata_MODULES): Added vbe_test.mod.
42403 (vbe_mod_SOURCES): Added.
42404 (vbe_mod_CFLAGS): Likewise.
42405 (vesafb_mod_SOURCES): Likewise.
42406 (vesafb_mod_CFLAGS): Likewise.
42407 (vbe_list_modes_mod_SOURCES): Likewise.
42408 (vbe_list_modes_mod_CFLAGS): Likewise.
42409 (vbe_test_mod_SOURCES): Likewise.
42410 (vbe_test_mod_CFLAGS): Likewise.
42411
0a74e62f 424122005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
42413
0a74e62f 42414 * normal/command.c (grub_command_execute): If INTERACTIVE is
42415 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
42416 CMDLINE. Disable the pager if INTERACTIVE is true.
42417 All callers are changed.
42418
42419 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
42420 before reading a config file.
42421 * normal/main.c (read_config_file): Even if a command is not
42422 found, register it if it is within an entry.
42423
42424 * util/grub-emu.c: Include sys/types.h and unistd.h.
42425 (options): Added --hold.
42426 (struct arguments): Added a new member "hold".
42427 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
42428 missing.
42429 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
42430 cleared by a debugger, if it is not zero.
42431
42432 * include/grub/normal.h (grub_command_execute): Add an argument
42433 INTERACTIVE.
42434
e51f85ae 424352005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
42436
42437 * DISTLIST: Added include/grub/i386/pc/vbe.h.
42438
e9c6f39b 424392005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
42440
42441 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
42442 program with another one, because the old one didn't detect a bug
42443 in gcc-3.4. Always use regparm 2, because the new test is still
42444 not enough for gcc-4.0. Someone must investigate a simple test
42445 case which detects a bug in gcc-4.0.
42446
8de3495c 424472005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
42448
42449 * DISTLIST: Added normal/completion.c.
42450
42451 * normal/completion.c: New file.
f19dbdb7 42452
8de3495c 42453 * term/i386/pc/console.c (grub_console_getwh): New function.
42454 (grub_console_term): Assign grub_console_getwh to getwh.
42455
42456 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
42457 function is defined in normal/completion.c as
42458 grub_normal_do_completion.
42459 (grub_cmdline_get): Use grub_normal_do_completion instead of
42460 grub_tab_complete.
42461
42462 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
42463 returns non-zero, otherwise return 0.
42464 (grub_partition_iterate): First, probe the partition map. Then,
42465 call ITERATE only for this partition map.
42466
42467 * kern/misc.c (grub_strncmp): Rewritten.
42468
42469 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
42470 returns non-zero. Otherwise return 0.
42471
42472 * include/grub/partition.h (grub_partition_map_iterate): Return
42473 int instead of void.
42474
42475 * include/grub/normal.h (grub_normal_do_completion): New prototype.
42476
42477 * include/grub/misc.h (grub_strncmp): Change the type of N to
42478 grub_size_t.
42479
42480 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
42481 of void.
42482
42483 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 42484 unsigned explicitly before comparing it with I.
8de3495c 42485
42486 * kern/main.c (grub_env_write_root): Add the attribute unused into
42487 VAR.
42488
42489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42490 normal/completion.c.
42491 (normal_mod_SOURCES): Likewise.
42492 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42493 (normal_mod_SOURCES): Likewise.
42494
42495 * normal/command.c (grub_iterate_commands): If ITERATE returns
42496 non-zero, return one immediately.
42497
e85e144b 424982005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
42499
42500 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
42501 * kern/i386/pc/startup.S: Updated Global Descriptor table's
42502 descriptions.
42503 (grub_vbe_get_controller_info): New function.
42504 (grub_vbe_get_mode_info): Likewise.
42505 (grub_vbe_set_mode): Likewise.
42506 (grub_vbe_get_mode): Likewise.
42507 (grub_vbe_set_memory_window): Likewise.
42508 (grub_vbe_get_memory_window): Likewise.
42509 (grub_vbe_set_scanline_length): Likewise.
42510 (grub_vbe_get_scanline_length): Likewise.
42511 (grub_vbe_set_display_start): Likewise.
42512 (grub_vbe_get_display_start): Likewise.
42513 (grub_vbe_set_palette_data): Likewise.
42514 * include/grub/i386/pc/vbe.h: New file.
42515
c46153d2 425162005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42517
42518 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42519 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
42520 * DISTLIST: Likewise.
42521 * kern/ieee1275/of.c: Moved to ...
42522 * kern/ieee1275/ieee1275.c: ... here.
42523
0cb90c45 425242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42525
42526 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
42527 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
42528 Pass 0 as `end' parameter to grub_strtoul().
42529
a19fb360 425302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42531
42532 * include/grub/powerpc/ieee1275/console.h: Do not include
42533 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
42534 ifdef.
42535 (grub_console_cur_color): Remove i386-specific prototype.
42536 (grub_console_real_putchar): Likewise.
42537 (grub_console_checkkey): Likewise.
42538 (grub_console_getkey): Likewise.
42539 (grub_console_getxy): Likewise.
42540 (grub_console_gotoxy): Likewise.
42541 (grub_console_cls): Likewise.
42542 (grub_console_setcursor): Likewise.
42543 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
42544 Include <grub/machine/console.h>.
42545 * term/ieee1275/ofconsole.c: Likewise.
42546
4ac9bd04 425472005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
42548
42549 * Makefile.in (LIBLZO): New variable.
42550
42551 * configure.ac: Check for LZO version 2.
42552
42553 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
42554 lzo/lzo1x.h instead of lzo1x.h.
42555
42556 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
42557 of -llzo.
42558
42559 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
42560 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
42561
42562 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
42563 copying the data from PARTITION to P.
42564
f4917dfd 425652005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42566
42567 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
42568 negative, unload the module.
42569
42570 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
42571 map is "pc_partition_map" but not "pc".
42572 (usage): Fix the description. The options are --boot-image and
42573 --core-image but not --boot-file or --core-file.
42574 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
42575 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
42576 DEFAULT_DIRECTORY.
42577
42578 * util/i386/pc/grub-install.in: Do not specify --boot-file or
42579 --core-file. Specify INSTALL_DEVICE as an argument.
42580
42581 * util/console.c: Include config.h.
42582 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
42583 [HAVE_NCURSES_H]: Include ncurses.h.
42584 [HAVE_CURSES_H]: Include curses.h.
42585 [!A_NORMAL] (A_NORMAL): Defined as zero.
42586 [!A_STANDOUT] (A_STANDOUT): Likewise.
42587
42588 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
42589 -lncurses.
42590 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
42591
42592 * configure.ac: Check for curses libraries and headers.
42593
42594 * Makefile.in (LIBCURSES): New variable.
42595
42596 * genmk.rb (Script::rule): Set the executable bits.
42597
42598 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
42599 name of the PC partition map is "pc_partition_map" but not "pc".
42600
0e143073 426012005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42602
42603 * util/i386/pc/grub-install.in (grub_probefs): New variable.
42604 (modules): Likewise.
42605 (usage): Added descriptions for --modules and --grub-probefs.
42606 Handle --modules and --grub-probefs. Save the arguments in MODULES
42607 and GRUB_PROBEFS, respectively.
42608 Auto-detect a filesystem module against GRUBDIR. If the result is
42609 empty and modules are not specified explicitly, abort the
42610 installation. Add the result to MODULES.
42611
42612 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
42613 disk/powerpc/ieee1275/ofdisk.c,
42614 include/grub/powerpc/ieee1275/init.h and
42615 term/powerpc/ieee1275/ofconsole.c.
42616 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
42617 term/ieee1275/ofconsole.c.
42618
42619 * include/grub/powerpc/ieee1275/console.h: Resurrected.
42620
42621 * COPYING: Upgraded to the latest version. Only the address of the
42622 FSF office has changed.
f19dbdb7 42623
efd6e6d5 426242005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42625
42626 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42627 kern/ieee1275.c with kern/ieee1275/of.c.
42628
42629 * kern/ieee1275.c: Moved to ...
42630 * kern/ieee1275/of.c: ... here.
42631
8ceafda2 426322005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42633
42634 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42635 readability.
8ceafda2 42636
42637 * config.guess: Updated to the latest version from gnulib.
42638 * config.sub: Likewise.
42639 * install.sh: Likewise.
42640 * mkinstalldirs: Likewise.
42641
42642 * include/grub/console.h: Removed. This file is arch-specific. Do
42643 not put this in include/grub.
42644
42645 * include/grub/i386/pc/console.h: Resurrected.
42646
42647 * util/console.c: Include grub/machine/console.h instead of
42648 grub/console.h.
42649 * util/grub-emu.c: Likewise.
42650
267f6cd9 426512005-08-04 Marco Gerards <metgerards@student.han.nl>
42652
42653 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42654 hardcoded value.
f19dbdb7 42655
267f6cd9 42656 From Vincent Pelletier <subdino2004@yahoo.fr>
42657 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42658 Redefined to use grub_getwh.
42659 (grub_term): New member named getwh.
42660 (grub_getwh): New prototype.
42661 * kern/term.c (grub_getwh): New function.
42662 * term/i386/pc/console.c (grub_console_getwh): New function.
42663 (grub_console_term): New member `getwh'.
42664 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42665 (grub_vga_term): New member `getwh'.
0b5abe02 42666 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42667 grub_ssize_t.
42668 (grub_ofconsole_getw): New function.
42669 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42670 (grub_ofconsole_term): New field named getwh and new initial
42671 value.
42672
3be7266d 426732005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42674
42675 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42676 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42677 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42678 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42679 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42680 of <grub/machine/ieee1275.h>.
42681 * commands/ieee1275/reboot.c: Likewise.
42682 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42683 * kern/ieee1275.c: ... to here. All users updated. Change all
42684 parameter structs to use new type `grub_ieee1275_cell_t'.
42685 * term/powerpc/ieee1275/ofconsole.c: Move ...
42686 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42687 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42688 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42689 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42690 to return int.
42691 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42692 Remove unused prototypes. All users updated.
42693 * include/grub/powerpc/ieee1275/console.h: Removed.
42694 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42695 `grub_ieee1275_cell_t'.
42696 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42697 Cast comparisons with -1 to the correct type.
42698 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42699 type to match `grub_ieee1275_entry_fn'.
42700
8b5f3938 427012005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42702
42703 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42704
42705 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42706 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42707 partmap/sun.c.
42708 (grub_probefs_SOURCES): New variable.
42709
42710 * util/i386/pc/grub-probefs.c: New file.
42711
42712 * util/i386/pc/grub-setup.c (main): Call
42713 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42714 grub_hfs_init and grub_jfs_init to initialize the system. Call
42715 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42716 grub_pc_partition_map_fini to finish the system.
42717
ea409713 427182005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42719
42720 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42721 function.
42722 (grub_multiboot_load_elf32): Likewise.
42723 (grub_multiboot_is_elf64): Likewise.
42724 (grub_multiboot_load_elf64): Likewise.
42725 (grub_multiboot_load_elf): Likewise.
42726 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42727 an ELF32 or ELF64 file.
42728 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42729
42730 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42731 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42732 NULL before calling FS->LABEL.
42733 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42734 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42735 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42736 before calling FS->LABEL.
42737
141a288b 427382005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42739
42740 * util/i386/pc/grub-install.in (datadir): New variable.
42741 (libdir): Removed.
42742 (pkgdatadir): New variable.
42743 (pkglibdir): Removed.
42744
0d5f8a54 427452005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42746
42747 * DISTLIST: Added util/i386/pc/grub-install.in.
42748
42749 * util/i386/pc/grub-install.in: New file.
42750
42751 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42752 (grub_install_SOURCES): Likewise.
42753
42754 * genmk.rb: Added support for scripts.
42755 (Script): New class.
42756 (scripts): New variable.
42757
42758 * Makefile.in (install-local): Install sbin_SCRIPTS by
42759 INSTALL_SCRIPT.
42760 (uninstall): Remove sbin_SCRIPTS.
42761
42762 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42763 device, try to get a GRUB device by
42764 grub_util_biosdisk_get_grub_dev.
42765 Free DEST_DEV.
42766
42767 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42768 description for --device-map.
42769
5f968e1e 427702005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42771
42772 Change the semantics of variable hooks. They now return strings
42773 instead of error values.
f19dbdb7 42774
5f968e1e 42775 * util/i386/pc/grub-setup.c: Include grub/env.h.
42776 (setup): Use grub_device_set_root instead of grub_env_set.
42777
42778 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42779 grub_env_get instead of grub_device_set_root and
42780 grub_device_get_root, respectively.
42781
42782 * kern/main.c (grub_env_write_root): New function.
42783 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42784 grub_env_set instead of grub_device_set_root.
42785
42786 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42787 many variables.
42788 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42789 rather than calling ENV->WRITE_HOOK afterwards.
42790 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42791 passing a pointer of a pointer.
42792 (grub_register_variable_hook): Change the types of "read_hook" and
42793 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42794 respectively.
42795 Allocate the default empty string on the heap, because this string
42796 may be freed later.
42797
42798 * kern/device.c: Include grub/env.h.
42799 (grub_device_set_root): Removed.
42800 (grub_device_get_root): Likewise.
42801 (grub_device_open): Use grub_env_get instead of
42802 grub_device_get_root.
42803
42804 * include/grub/env.h (grub_env_read_hook_t): New type.
42805 (grub_env_write_hook_t): Likewise.
42806 (grub_env_var): Change the types of "read_hook" and "write_hook"
42807 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42808 (grub_register_variable_hook): Likewise.
42809
42810 * include/grub/device.h (grub_device_set_root): Removed.
42811 (grub_device_set_root): Likewise.
42812
42813 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42814 make sure that DIRNAME terminates with '/', so that
42815 grub_fat_find_dir will fail if PATH is not a directory.
42816
42817 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42818 from DIRNAME.
42819 Use the qualifier auto for print_files and print_files_long.
42820 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42821 as a regular file.
42822 Put a newline only if there is no error.
42823 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42824 used.
42825
896f0afd 428262005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42827
42828 * kern/partition.c (grub_partition_probe): Initialize PART to
42829 NULL. Otherwise, when no partition map is registered, this returns
42830 a garbage.
42831
b28b81b2 428322005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42833
42834 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42835 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42836 valid.
42837
5f3607e0 428382005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42839
42840 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42841 information on each device, if it does not have partitions. Print
42842 "Device" instead of "Disk", because this function is not specific
42843 to disk devices.
42844
42845 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42846 static to ensure that it is put on the memory rather than a
42847 register.
42848
502c87e8 428492005-07-17 Yoshinori Okuji <okuji@enbug.org>
42850
42851 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42852 (grub_cat_init): Likewise.
42853 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42854 (options): Likewise.
42855 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42856 (grub_configfile_init): Likewise.
42857 * font/manager.c (GRUB_MOD_INIT): Likewise.
42858 * commands/help.c (GRUB_MOD_INIT): Likewise.
42859 (grub_help_init): Likewise.
42860 * normal/command.c (grub_command_init): Likewise.
42861 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42862 * disk/loopback.c (grub_loop_init): Likewise.
42863 (GRUB_MOD_INIT): Likewise.
42864 * commands/ls.c (grub_ls_init): Likewise.
42865 (GRUB_MOD_INIT): Likewise.
42866 (options): Likewise.
42867 * commands/boot.c (grub_boot_init): Likewise.
42868 (GRUB_MOD_INIT): Likewise.
42869 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42870 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42871 (GRUB_MOD_INIT): Likewise.
42872 * commands/cmp.c (grub_cmp_init): Likewise.
42873 (GRUB_MOD_INIT): Likewise.
42874
42875 * normal/arg.c: Use <> instead of "" to include header files.
42876 (SHORT_ARG_HELP): New macro.
42877 (SHORT_ARG_USAGE): Likewise.
42878 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42879 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42880 descriptions.
42881 (find_short): Check if C is 'h' or 'u' explicitly.
42882 (grub_arg_show_help): Use space characters instead of tabs. Treat
42883 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42884 are shown with --help and --usage only if they are not used for
42885 the command itself.
42886 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42887 'h' and 'u'.
42888
42889 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42890 const into "longarg". Change the type of "shortarg" to int.
42891
f806d18e 428922005-07-17 Yoshinori Okuji <okuji@enbug.org>
42893
42894 * boot/i386/pc/boot.S (boot_drive_check): New label.
42895
42896 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42897 macro.
42898
42899 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42900 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42901
e293232b 429022005-07-17 Yoshinori Okuji <okuji@enbug.org>
42903
42904 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42905 When turning off Gate A20, skip the check and return immediately,
42906 because this is not fatal usually.
42907
ebedfd00 429082005-07-17 Yoshinori Okuji <okuji@enbug.org>
42909
42910 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42911 be 0x7C00 instead of 0x8000.
42912
42913 * boot/i386/pc/pxeboot.S: Rewritten.
42914
42915 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42916 EXT_C.
42917 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42918 result.
42919
654fc59f 429202005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42921
42922 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42923 robustness. This routine now supports a BIOS call and System
42924 Control Port A to modify the gate A20.
42925
42926 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42927 Increased to 0x440.
42928
09f9923f 429292005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42930
42931 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42932 device path and resulting ihandle.
42933 (grub_ofdisk_close): dprintf the ihandle being closed.
42934 (grub_ofdisk_read): dprintf function parameters.
42935 * kern/mm.c (grub_mm_init_region): Likewise.
42936 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42937 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42938 size, and boot arguments.
42939 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42940 before loading into memory.
42941 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42942 before loading into memory.
42943
7ef504d8 429442005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42945
42946 * kern/mm.c: Added much documentation.
42947 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42948 8, set to 5 instead of 8.
42949
e0f050c2 429502005-07-10 Yoshinori Okuji <okuji@enbug.org>
42951
42952 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42953
42954 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42955 (grub_mkdevicemap_SOURCES): New variable.
42956
42957 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42958 lib/device.c of GRUB Legacy.
42959
7224189a 429602005-07-10 Yoshinori Okuji <okuji@enbug.org>
42961
42962 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42963 instead of PATH is NULL.
42964
68c864eb 429652005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42966
42967 * commands/cmp.c (BUFFER_SIZE): New macro.
42968 (grub_cmd_cmp): Close the right file at the right time. Compare
42969 only data just read. Don't report files of different size as
42970 identical. Dynamically allocate buffers. Move variable
42971 declarations at the beginning of function.
42972
e6f3e614 429732005-07-09 Yoshinori Okuji <okuji@enbug.org>
42974
42975 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42976 reverse.
42977
f8f1559a 429782004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42979
42980 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42981 when backspace is pressed at beginning of line.
42982
39c9d41d 429832005-07-03 Yoshinori Okuji <okuji@enbug.org>
42984
42985 * DISTLIST: Added genfslist.sh.
42986
42987 * normal/main.c (fs_module_list): New variable.
42988 (autoload_fs_module): New function.
42989 (read_fs_list): Likewise.
42990 (grub_normal_execute): Call read_fs_list.
42991
42992 * kern/fs.c (grub_fs_autoload_hook): New variable.
42993 (grub_fs_probe): Added support for auto-loading.
42994
42995 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42996 (grub_fs_module_list_t): New type.
42997
42998 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42999 (grub_fs_autoload_hook): New prototype.
43000
43001 * genfslist.sh: New file.
f19dbdb7 43002
39c9d41d 43003 * genmk.rb: Added a rule to generate a filesystem list.
43004
121c1d83 430052005-06-30 Marco Gerards <metgerards@student.han.nl>
43006
43007 * configure.ac: Fix the test for cross-compiling.
43008
43009 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43010 define GRUB_UTIL anymore.
43011
43012 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43013 so this function works on other systems than just big endian.
43014 (load_modules): Likewise.
43015 (add_segments): Likewise.
43016
e75d76e1 430172005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43018
43019 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43020 contains `l' modifier, get a long from va_arg().
43021
50b5a0a7 430222005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43023
43024 * kern/mm.c (grub_free): If the next free block which is being
43025 merged is the first free block, set the first block to the block
43026 being freed.
43027 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43028
89371b20 430292005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43030
43031 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43032 `grub_ieee1275_chosen'.
43033
168d6e58 430342005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43035
43036 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43037 (grub_ieee1275_chosen): New variable.
43038 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43039 `chosen'.
43040 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43041 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43042 Rename first argument to `phandle' for consistency.
43043 (grub_ieee1275_get_property_length): Likewise.
43044 (grub_ieee1275_next_property): Likewise. Change type of first argument
43045 to grub_ieee1275_phandle_t.
43046 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43047 Move export next to declaration.
43048 (grub_ieee1275_chosen): New variable.
43049 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43050 Correct cosmetic typo.
43051 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43052 `grub_ieee1275_chosen'.
43053 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43054 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43055 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43056 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43057 `grub_ieee1275_chosen'.
43058
ca5baa3f 430592005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43060
43061 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43062 /chosen/bootargs.
43063 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43064 /chosen/bootargs as "variable=value" pairs.
43065
708b345f 430662005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43067
43068 * include/grub/misc.h (grub_dprintf): New macro.
43069 (grub_real_dprintf): New prototype.
43070 (grub_strword): Likewise.
43071 (grub_iswordseparator): Likewise.
43072 * kern/misc.c (grub_real_dprintf): New function.
43073 (grub_strword): Likewise.
43074 (grub_iswordseparator): Likewise.
43075
f4c5e67c 430762005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43077
43078 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43079 (roundup): Remove macro.
43080 (grub_ieee1275_flags): Make static.
43081 (grub_ieee1275_realmode): Remove.
43082 (grub_ieee1275_test_flag): New function.
43083 (grub_ieee1275_set_flag): Likewise.
43084 (find_options): Rename to `grub_ieee1275_find_options'; update
43085 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43086 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43087 (cmain): New prototype.
43088 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43089 `grub_ieee1275_flags' directly.
43090 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43091 machine/biosdisk.h.
43092 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43093 Don't include grub/machine/init.h.
43094 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43095 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43096 Remove prototype.
43097 (grub_ieee1275_realmode): Likewise.
43098 (grub_ieee1275_flag): New enum.
43099 (grub_ieee1275_test_flag): New prototype.
43100 (grub_ieee1275_set_flag): New prototype.
43101 * include/grub/powerpc/ieee1275/init.h: Remove file.
43102 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43103 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43104 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43105 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43106 comment.
43107 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43108 `grub_ieee1275_test_flag'.
43109 (grub_ieee1275_encode_devname): Likewise.
43110
ed16607e 431112005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43112
43113 * include/grub/powerpc/ieee1275/ieee1275.h
43114 (grub_ieee1275_encode_devname): New prototype.
43115 (grub_ieee1275_get_filename): Likewise.
43116 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43117 function.
43118 (grub_set_prefix): Likewise.
43119 (grub_machine_init): Call grub_set_prefix.
43120 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43121 (grub_parse_type): New enum.
43122 (grub_ieee1275_get_devargs): New function.
43123 (grub_ieee1275_get_devname): Likewise.
43124 (grub_ieee1275_parse_args): Likewise.
43125 (grub_ieee1275_get_filename): Likewise.
43126 (grub_ieee1275_encode_devname): Likewise.
43127
be369920 431282005-03-30 Marco Gerards <metgerards@student.han.nl>
43129
43130 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43131 `grub_loader_unset'.
43132
a5ce3a4a 431332005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43134
43135 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43136 instead of grub_ieee1275_interpret.
43137 (grub_halt_init): New function.
43138 (grub_halt_fini): Likewise.
43139 (GRUB_MOD_INIT): Correct message grammar.
43140 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43141 instead of grub_ieee1275_interpret.
43142 (grub_reboot_init): New function.
43143 (grub_reboot_fini): Likewise.
43144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43145 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43146 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43147 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43148 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43149 function.
43150 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43151 Add prototype.
43152 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43153 prototype.
43154 (grub_halt): Likewise.
43155 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43156 (cmain): Remove __attribute__((unused)).
43157 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43158 (grub_heap_len): Likewise.
43159 (grub_machine_fini): New function.
43160 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43161 (grub_halt): Likewise.
43162 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43163 function.
43164 * util/powerpc/ieee1275/misc.c: New file.
43165
0058f771 431662005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43167
43168 * DISTLIST: New file.
43169 * gendistlist.sh: Likewise.
f19dbdb7 43170
0058f771 43171 * Makefile.in (COMMON_DISTFILES): Removed.
43172 (BOOT_DISTFILES): Likewise.
43173 (CONF_DISTFILES): Likewise.
43174 (DISK_DISTFILES): Likewise.
43175 (FS_DISTFILES): Likewise.
43176 (INCLUDE_DISTFILES): Likewise.
43177 (KERN_DISTFILES): Likewise.
43178 (LOADER_DISTFILES): Likewise.
43179 (TERM_DISTFILES): Likewise.
43180 (UTIL_DISTFILES): Likewise.
43181 (DISTFILES): Likewise.
43182 (uninstall): Uninstall files in $(pkgdata_DATA).
43183 (DISTLIST): New target.
43184 (distdir): Use the contents of the file DISTLIST to get a list of
43185 distributed files.
43186
46b3b8a5 431872005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43188
43189 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43190 descriptor. This is ported from GRUB Legacy.
43191
43192 * gencmdlist.sh: Added an extra semicolon to make it work with
43193 old sed versions. Reported by Robert Bihlmeyer
43194 <robbe@orcus.priv.at>.
43195
5822ff87 431962005-03-08 Yoshinori Okuji <okuji@enbug.org>
43197
43198 Automatic loading of commands is supported.
f19dbdb7 43199
5822ff87 43200 * normal/main.c (read_command_list): New function.
43201 (grub_normal_execute): Call read_command_list.
43202
43203 * normal/command.c (grub_register_command): Return zero or CMD.
43204 Allocate CMD->NAME from the heap.
43205 Initialize CMD->MODULE_NAME to zero.
43206 Find the same name as well. If the same command is found and it is
43207 a dummy command, overwrite members. If it is not a dummy command,
43208 return zero.
43209 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43210 (grub_command_find): If a dummy command is found, load a module
43211 and retry to find a command only once.
43212
43213 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43214 make sure that each command is loaded.
43215
43216 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43217 macro.
43218 (struct grub_command): Remove const from the member `name'.
43219 Add a new member `module_name'.
43220 (grub_register_command): Return grub_command_t.
43221
43222 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43223 sure that each command is loaded.
43224
43225 * genmk.rb (PModule::rule): Specify a module name without the
43226 suffix ".mod" to gencmdlist.sh.
43227
7b1f4b57 432282005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43229
43230 * gencmdlist.sh: New file.
f19dbdb7 43231
7b1f4b57 43232 * genmk.rb (PModule::rule): Generate a rule for a command list.
43233 Clean command.lst.
43234 Generate command.lst from $(COMMANDFILES).
43235
43236 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43237 (DATA): Added $(pkgdata_DATA).
43238 (install-local): Install files in $(pkgdata_DATA).
43239
062aaf39 432402005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43241
43242 * term/i386/pc/vga.c (debug_command): Removed.
43243 (GRUB_MOD_INIT): Do not register the command "debug".
43244
43245 From Hollis Blanchard:
43246 * commands/configfile.c: New file.
43247 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43248 commands/configfile.c.
43249 (pkgdata_MODULES): Added configfile.mod.
43250 (configfile_mod_SOURCES): New variable.
43251 (configfile_mod_CFLAGS): Likewise.
43252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43253 commands/configfile.c.
43254 (pkgdata_MODULES): Added configfile.mod.
43255 (configfile_mod_SOURCES): New variable.
43256 (configfile_mod_CFLAGS): Likewise.
43257 * util/grub-emu.c (main): Call grub_configfile_init and
43258 grub_configfile_fini.
43259 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
43260 prototype.
43261 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 43262
cee01aa6 432632005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43264
43265 * normal/arg.c (grub_arg_show_help): Do not show the bug report
43266 address.
43267
43268 * commands/help.c (grub_cmd_help): Do not print newlines after
43269 the last command in print_command_help.
43270
93f3a1d8 432712005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43272
43273 * commands/default.h: New file.
43274 * commands/timeout.h: Likewise.
43275 * normal/context.c: Likewise.
f19dbdb7 43276
93f3a1d8 43277 * util/misc.c: Do not include sys/times.h.
43278 Include sys/time.h and grub/machine/time.h.
43279 (grub_get_rtc): Rewritten with gettimeofday.
43280
43281 * util/grub-emu.c (main): Call grub_default_init and
43282 grub_timeout_init before grub_normal_init, and call
43283 grub_timeout_fini and grub_default_fini after grub_main.
43284
43285 * util/console.c (grub_ncurses_checkkey): Return the read
43286 character or -1.
43287
43288 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
43289 timeouts.
43290
43291 * normal/main.c (read_config_file): Push MENU. If this fails,
43292 print an error and wait for a user input.
43293 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
43294 If a menu is empty or an error occurs, pop MENU.
43295 (grub_normal_execute): Pop and free MENU after grub_menu_run
43296 returns.
43297
43298 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
43299
43300 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
43301 include time.h.
43302 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43303 without GRUB_UTIL.
43304 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
43305 time.h.
43306 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43307 without GRUB_UTIL.
43308
43309 * include/grub/normal.h (struct grub_menu_list): New struct.
43310 (grub_menu_list_t): New type.
43311 (struct grub_context): New struct.
43312 (grub_context_t): New type.
43313 (grub_register_command): Got rid of EXPORT_FUNC.
43314 (grub_unregister_command): Likewise.
43315 (grub_context_get): New prototype.
43316 (grub_context_get_current_menu): Likewise.
43317 (grub_context_push_menu): Likewise.
43318 (grub_context_pop_menu): Likewise.
43319 [GRUB_UTIL] (grub_default_init): Likewise.
43320 [GRUB_UTIL] (grub_default_fini): Likewise.
43321 [GRUB_UTIL] (grub_timeout_init): Likewise.
43322 [GRUB_UTIL] (grub_timeout_fini): Likewise.
43323
43324 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
43325 commands/timeout.c and normal/context.c.
43326 (pkgdata_MODULES): Added default.mod and timeout.mod.
43327 (normal_mod_SOURCES): Added normal/context.c.
43328 (default_mod_SOURCES): New variable.
43329 (default_mod_CFLAGS): Likewise.
43330 (timeout_mod_SOURCES): Likewise.
43331 (timeout_mod_CFLAGS): Likewise.
43332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
43333 conf/i386-pc.rmk.
43334 (pkgdata_MODULES): Added default.mod and timeout.mod.
43335 (normal_mod_SOURCES): Added normal/context.c.
43336 (default_mod_SOURCES): New variable.
43337 (default_mod_CFLAGS): Likewise.
43338 (timeout_mod_SOURCES): Likewise.
43339 (timeout_mod_CFLAGS): Likewise.
43340
43341 * Makefile.in (all-local): Added $(MKFILES).
43342
4ed2e1dd 433432005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
43344
43345 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
43346 (grub_emu_SOURCES): Likewise.
43347 (pkgdata_MODULES): Add `sun.mod'.
43348 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43350 `partmap/sun.c'.
43351 (pkgdata_MODULES): Add `sun.mod'.
43352 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43353 * include/grub/partition.h (grub_sun_partition_map_init): New
43354 prototype.
43355 (grub_sun_partition_map_fini): Likewise.
43356 * partmap/sun.c: New file.
43357 * util/grub-emu.c (main): Initialize and de-initialize the sun
43358 partitionmap support.
43359
4d4e372e 433602005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
43361
43362 This implements an Emacs-like menu entry editor.
f19dbdb7 43363
4d4e372e 43364 * normal/menu_entry.c: New file.
f19dbdb7 43365
4d4e372e 43366 * util/console.c (grub_ncurses_putchar): Translate some Unicode
43367 characters to ASCII.
43368 (saved_char): New variable.
43369 (grub_ncurses_checkkey): Rewritten completely.
43370 (grub_ncurses_getkey): Likewise.
43371 (grub_ncurses_init): Call raw instead of cbreak.
43372
43373 * normal/menu.c (print_entry): Do not put a space.
43374 (init_page): Renamed to ...
43375 (grub_menu_init_page): ... this. All callers changed.
43376 (edit_menu_entry): Removed.
43377 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
43378
43379 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
43380
43381 * kern/misc.c (grub_vprintf): Call grub_refresh.
43382
43383 * normal/menu.c (DISP_LEFT): Renamed to ...
43384 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
43385 * normal/menu.c (DISP_UP): Renamed to ...
43386 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
43387 * normal/menu.c (DISP_RIGHT): Renamed to ...
43388 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
43389 * normal/menu.c (DISP_DOWN): Renamed to ...
43390 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
43391 * normal/menu.c (DISP_HLINE): Renamed to ...
43392 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
43393 * normal/menu.c (DISP_VLINE): Renamed to ...
43394 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
43395 * normal/menu.c (DISP_UL): Renamed to ...
43396 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
43397 * normal/menu.c (DISP_UR): Renamed to ...
43398 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
43399 * normal/menu.c (DISP_LL): Renamed to ...
43400 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
43401 * normal/menu.c (DISP_LR): Renamed to ...
43402 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
43403 * normal/menu.c (TERM_WIDTH): Renamed to ...
43404 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
43405 * normal/menu.c (TERM_HEIGHT): Renamed to ...
43406 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
43407 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
43408 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
43409 * normal/menu.c (TERM_MARGIN): Renamed to ...
43410 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
43411 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
43412 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
43413 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
43414 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
43415 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
43416 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
43417 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
43418 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
43419 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
43420 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
43421 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
43422 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
43423 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
43424 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
43425 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
43426 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
43427 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
43428 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
43429 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
43430 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
43431 All callers changed.
43432
43433 * include/grub/normal.h: New prototype.
43434
43435 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43436 normal/menu_entry.c.
43437 (normal_mod_SOURCES): Likewise.
43438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43439 (normal_mod_SOURCES): Likewise.
43440
e6b92c8a 434412005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
43442
43443 * include/grub/normal.h (grub_halt_init): New prototype.
43444 (grub_halt_fini): Likewise.
43445 (grub_reboot_init): Likewise.
43446 (grub_reboot_fini): Likewise.
43447
43448 * util/grub-emu.c: Include signal.h.
43449 (main_env): New global variable.
43450 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
43451 catch C-c.
43452 (grub_machine_fini): New function.
43453 (main): Call grub_halt_init and grub_reboot_init before
43454 grub_main, and grub_reboot_fini and grub_halt_fini after it.
43455 Call setjmp with MAIN_ENV to go back afterwards.
43456 Call grub_machine_fini right before return.
43457
43458 * include/grub/util/misc.h: Include setjmp.h.
43459 (main_env): New prototype.
43460
43461 * include/grub/kernel.h (grub_machine_fini): New prototype.
43462 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
43463 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
43464
43465 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
43466 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
43467 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 43468
e6b92c8a 43469 * util/i386/pc/misc.c: New file.
f19dbdb7 43470
e6b92c8a 43471 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43472 util/i386/pc/misc.c, commands/i386/pc/halt.c and
43473 commands/i386/pc/reboot.c.
43474
c642636f 434752005-02-14 Guillem Jover <guillem@hadrons.org>
43476
43477 * include/grub/dl.h (grub_dl_check_header): New prototype.
43478 (grub_arch_dl_check_header): Change return type to grub_err_t,
43479 remove size parameter and export function. Update all callers.
43480 * kern/dl.c (grub_dl_check_header): New function.
43481 (grub_dl_load_core): Use `grub_dl_check_header' instead of
43482 `grub_arch_dl_check_header'. Check ELF type. Check if sections
43483 are inside the core.
43484 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
43485 independent ELF header checks.
43486 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43487 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
43488 `grub_dl_check_header' instead of explicit checks. Check for the
43489 ELF type.
43490 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
43491 `grub_dl_check_header' instead of explicit checks. Remove arch
43492 specific ELF header checks.
43493
e6b92c8a 43494 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
43495 argument SIZE.
43496
5eabe94b 434972005-02-13 Hollis Blanchard <hollis@penguinppc.org>
43498
43499 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
43500 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
43501
1b14a681 435022005-02-12 Hollis Blanchard <hollis@penguinppc.org>
43503
43504 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 43505 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 43506 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 43507 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 43508 * partmap/amiga.c (amiga_partition_map_iterate): Return
43509 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
43510 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43511
aca108aa 435122005-02-01 Guillem Jover <guillem@hadrons.org>
43513
43514 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
43515 help info.
43516
c9f9c556 435172005-01-31 Marco Gerards <metgerards@student.han.nl>
43518
43519 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
43520 Removed prototype.
43521 (grub_rescue_cmd_linux): New prototype.
43522 (grub_rescue_cmd_initrd): Likewise.
43523 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
43524 `bi_rec'.
43525 (grub_linux_release_mem): Release the memory for the initrd.
43526 (grub_load_linux): Renamed from this...
43527 (grub_rescue_cmd_linux): ...To this. Changed all callers.
43528 Changed `entry' not to be static. Loop over memory regions to
43529 find another one when the default fails.
43530 (grub_rescue_cmd_initrd): New function.
43531 (grub_linux_init): Remove function.
43532 (grub_linux_fini): Likewise.
43533 (GRUB_MOD_INIT): Register `initrd'.
43534 (GRUB_MOD_FINI): Unregister `initrd'.
43535 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
43536 Function removed.
43537 (grub_linux_normal_fini): Likewise.
43538 (GRUB_MOD_INIT): Register `initrd'.
43539 (GRUB_MOD_FINI): Unregister `initrd'.
43540
990cf3aa 435412005-01-31 Marco Gerards <metgerards@student.han.nl>
43542
43543 * commands/help.c: New file.
43544 * normal/arg.c (show_help): Renamed to...
43545 (grub_arg_show_help): ... this.
43546 * commands/i386/pc/halt.c: New file.
43547 * commands/i386/pc/reboot.c: Likewise.
43548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
43549 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
43550 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
43551 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
43552 variables.
43553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43554 `commands/help.c'.
43555 (pkgdata_MODULES): Add `help.mod'.
43556 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
43557 * grub/i386/pc/init.h (grub_reboot): New prototype.
43558 (grub_halt): Likewise.
43559 * include/grub/normal.h (grub_arg_show_help): New prototype.
43560 (grub_help_init): Likewise.
43561 (grub_help_fini): Likewise.
43562 * util/grub-emu.c (main): Initialize and deinitialize the help
43563 command.
43564
43565 * normal/cmdline.c (grub_cmdline_get): Doc fix.
43566
43567 * normal/command.c (grub_command_init): Fixed the description of
43568 the `set' and `unset' commands.
43569
435702005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 43571
43572 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
43573 function.
43574 * commands/ieee1275/halt.c: New file.
43575 * commands/ieee1275/reboot.c: Likewise.
43576 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
43577 `__attribute__ ((unused))'. Some GCS related fixed.
43578 (grub_suspend_init) [GRUB_UTIL]: Function removed.
43579 (grub_suspend_fini): Likewise.
43580 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
43581 and `halt.mod'.
43582 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
43583 (halt_mod_CFLAGS): New variables.
43584 * include/grub/powerpc/ieee1275/ieee1275.h
43585 (grub_ieee1275_interpret): New prototype.
43586
1ab09cc7 435872005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
43588
43589 * include/grub/misc.h (memmove): New prototype.
43590 (memcpy): Likewise.
43591
8b8cbdb2 435922005-01-22 Hollis Blanchard <hollis@penguinppc.org>
43593
43594 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
43595 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
43596
e3741a27 435972005-01-22 Marco Gerards <metgerards@student.han.nl>
43598
43599 * kern/misc.c (grub_strndup): Function rewritten.
43600
776bd780 436012005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
43602
43603 * normal/menu.c (TERM_WIDTH): Macro redefined.
43604 (TERM_TOP_BORDER_Y): Likewise.
43605 (draw_border): Replaced while-loop by a for-loop. Make the number
43606 of lines consistent with the number of lines displayed in
43607 print_entries. Added a margin below the rectangle.
43608 (print_entry): Make the entry fit in the rectangle.
43609 (print_entries): Display the scroll arrows next to the right
43610 border.
43611
78026bce 436122005-01-21 Marco Gerards <metgerards@student.han.nl>
43613
43614 * fs/minix.c (grub_minix_find_file): Reserve more space for
43615 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
43616 `grub_strncpy' to copy `path' into it.
43617
67bbaf0f 436182005-01-21 Marco Gerards <metgerards@student.han.nl>
43619
43620 Add the loopback device, a device via which files can be accessed
43621 as devices.
f19dbdb7 43622
67bbaf0f 43623 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43624 (pkgdata_MODULES): Add loopback.mod.
43625 (loopback_mod_SOURCES): New variable.
43626 (loopback_mod_CFLAGS): Likewise.
43627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43628 `disk/loopback.c'.
43629 (pkgdata_MODULES): Add loopback.mod.
43630 (loopback_mod_SOURCES): New variable.
43631 (loopback_mod_CFLAGS): Likewise.
43632 * disk/loopback.c: new file.
43633 * include/grub/normal.h (grub_loop_init): New prototype.
43634 (grub_loop_fini): New prototype.
43635 * util/grub-emu.c (main): Initialize and de-initialize loopback
43636 support.
43637 * include/grub/disk.h (grub_disk_dev_id): Add
43638 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43639
6f1c18bd 436402005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43641
43642 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43643 function.
43644 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43645 (suspend_mod_SOURCES): New variable.
43646 (suspend_mod_CFLAGS): Likewise.
43647 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43648 New prototype.
43649 * commands/ieee1275/suspend.c: New file.
43650
b38551da 436512005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43652
43653 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43654 ((unused))' to `__attribute__ ((used))'.
b38551da 43655 (GRUB_MOD_FINI): Likewise.
43656 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43657 * genmk.rb (PModule): Assign space to common symbols when linking
43658 modules.
43659
777aff39 436602005-01-20 Marco Gerards <metgerards@student.han.nl>
43661
43662 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43663 `unsigned' arguments to `grub_size_t'.
43664 (grub_malloc): Likewise.
43665 (grub_realloc): Likewise.
43666 (grub_memalign): Likewise.
43667 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43668 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43669 * util/misc.c (grub_malloc): Likewise.
43670 (grub_realloc): Likewise.
43671 * kern/mm.c (get_header_from_pointer): Change the casts to
43672 `unsigned' into a cast to `grub_size_t'.
43673
43674 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43675 point to `currnode' when `currnode' is changed.
43676
43677 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43678 Schottelius <nico-linux@schottelius.org>.
43679
d0ff18e1 436802005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43681
43682 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43683 (note_path): Remove variable.
43684 (GRUB_IEEE1275_NOTE_NAME): New macro.
43685 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43686 (grub_ieee1275_note_hdr): New structure.
43687 (grub_ieee1275_note_desc): Likewise.
43688 (grub_ieee1275_note): Likewise.
43689 (load_note): Remove `dir' argument. All callers updated. Remove
43690 `note_img' and `path'. Do not load a file from `note_path'.
43691 Initialize a struct grub_ieee1275_note and write that to `out'.
43692 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43693
4ca7004c 436942005-01-05 Marco Gerards <metgerards@student.han.nl>
43695
43696 * util/misc.c (grub_util_read_image): Revert last change. It
43697 called `grub_util_read_at', which seeks from the beginning of the
43698 file.
43699
0b412211 437002005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43701
43702 * TODO: Add note about endianness in grub-mkimage.
43703 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43704 section.
43705 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43706 (grub_mkimage_SOURCES): New target.
43707 * include/grub/kernel.h (grub_start_addr): Remove variable.
43708 (grub_end_addr): Likewise.
43709 (grub_total_module_size): Likewise.
43710 (grub_kernel_image_size): Likewise.
43711 (GRUB_MODULE_MAGIC): New constant.
43712 (grub_module_info): New structure.
43713 (grub_arch_modules_addr): New prototype.
43714 (grub_get_end_addr): Remove prototype.
43715 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43716 * include/grub/powerpc/ieee1275/kernel.h: New file.
43717 * include/grub/util/misc.h (grub_util_get_fp_size): New
43718 prototype.
43719 (grub_util_read_at): Likewise.
43720 (grub_util_write_image_at): Likewise.
43721 * kern/main.c (grub_get_end_addr): Remove function.
43722 (grub_load_modules): Call grub_arch_modules_addr instead of using
43723 grub_end_addr. Look for a grub_module_info struct in memory. Use
43724 the grub_module_info fields instead of calling grub_get_end_addr
43725 as loop conditions. Move grub_add_unused_region code here.
43726 (grub_add_unused_region): Remove function.
43727 * kern/i386/pc/init.c: Include grub/cache.h.
43728 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43729 one call to add_mem_region.
43730 (grub_arch_modules_addr): New function.
43731 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43732 (grub_total_module_size): Likewise.
43733 Include grub/machine/kernel.h.
43734 (grub_arch_modules_addr): New function.
43735 * util/grub-emu.c (grub_end_addr): Remove variable.
43736 (grub_total_module_size): Likewise.
43737 (grub_arch_modules_addr): New function.
43738 * util/misc.c: Include unistd.h.
43739 (grub_util_get_fp_size): New function.
43740 (grub_util_read_at): Likewise.
43741 (grub_util_write_image_at): Likewise.
43742 (grub_util_read_image): Call grub_util_read_at.
43743 (grub_util_write_image): Call grub_util_write_image_at.
43744 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43745 additional memory in kernel_img for a struct grub_module_info.
43746 Fill in that grub_module_info.
43747 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43748
458786f8 437492005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43750
43751 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43752 New function.
43753 * include/grub/powerpc/ieee1275/ieee1275.h
43754 (grub_ieee1275_milliseconds): New prototype.
43755 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43756 Change to 1000.
43757 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43758 grub_ieee1275_milliseconds.
43759
ac507d1b 437602005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43761
43762 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43763 variable.
43764 (find_options): New function.
43765 (cmain): Call find_options.
43766 * include/grub/powerpc/ieee1275/ieee1275.h
43767 (grub_ieee1275_realmode): New extern variable.
43768 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43769 grub_map if grub_ieee1275_realmode is false.
43770
6b8fd1c4 437712004-12-29 Marco Gerards <metgerards@student.han.nl>
43772
43773 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43774 lines are inserted and make it work like readline. Reported by
43775 Vincent Pelletier <subdino2004@yahoo.fr>.
43776
8514a1e0 437772004-12-28 Marco Gerards <metgerards@student.han.nl>
43778
43779 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43780
43781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43782 `kern/powerpc/cache.S'.
43783
924b6140 437842004-12-27 Marco Gerards <metgerards@student.han.nl>
43785
43786 * genmk.rb: Handle the `Program' class in the main loop. Written
43787 by Johan Rydberg <jrydberg@gnu.org>.
43788 (Program): New class.
43789 (programs): New variable.
43790 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43791 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43792 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43793 (help_arch): Function removed.
43794 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43795 `powerpc/libgcc.h' and `loader.h'.
43796 (pkgdata_PROGRAMS): New variable.
43797 (sbin_UTILITIES): Variable removed.
43798 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43799 (grubof_SOURCES): Variable re-defined so it only includes the
43800 core functionality.
43801 (grubof_CFLAGS): Remove `-DGRUBOF'.
43802 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43803 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43804 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43805 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43806 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43807 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43808 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43809 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43810 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43811 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43812 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43813 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43814 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43815 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43816 (pc_mod_CFLAGS): New variables.
43817 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43818 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43819 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43820 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43821 Moved from here...
43822 * include/grub/i386/pc/init.h (grub_os_area_addr)
43823 (rub_os_area_size): ... to here.
43824 * include/grub/powerpc/ieee1275/ieee1275.h
43825 (grub_ieee1275_entry_fn): Export symbol.
43826 * include/grub/powerpc/ieee1275/init.h: New file.
43827 * include/grub/powerpc/libgcc.h: Likewise.
43828 * include/grub/cache.h: Likewise.
43829 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43830 <hollis@penguinppc.org>.
43831 * kern/dl.c: Include <grub/cache.h>.
43832 (grub_dl_flush_cache): New function.
43833 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43834 for this module.
43835 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43836 (grub_console_init): Removed prototypes.
43837 (grub_machine_init): Don't initialize the modules anymore.
43838 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43839 static.
43840 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43841 Macro undef removed.
43842 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43843 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43844 relocation `R_PPC_REL32'. Return an error when the relocation is
43845 unknown.
43846 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43847 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43848 * util/misc.c (grub_arch_sync_caches): Likewise.
43849
e4b47e0c 438502004-12-19 Marco Gerards <metgerards@student.han.nl>
43851
43852 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43853 `symlist.c', add `grubof_symlist.c'.
43854 (symlist.c): Variable removed.
43855 (grubof_HEADERS): Variable added.
43856 (grubof_symlist.c): New target.
43857 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43858 `kernel_img_HEADERS'.
43859 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43860 * kern/powerpc/dl.c: New file.
43861 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43862 Function removed.
43863 (grub_arch_dl_relocate_symbols): Likewise.
43864 (grub_register_exported_symbols): Likewise.
43865
4ceb3636 438662004-12-13 Marco Gerards <metgerards@student.han.nl>
43867
43868 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43869 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43870 to fail instead. Reported by Vincent Pelletier
43871 <subdino2004@yahoo.fr>.
43872
43873 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43874 it is not allocated. Reported by Vincent Pelletier
43875 <subdino2004@yahoo.fr>.
43876
43877 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43878 output so the output looks better.
f19dbdb7 43879
3f1578fe 438802004-12-04 Marco Gerards <metgerards@student.han.nl>
43881
43882 Modulize the partition map support and add support for the amiga
43883 partition map.
f19dbdb7 43884
3f1578fe 43885 * commands/ls.c: Include <grub/partition.h> instead of
43886 <grub/machine/partition.h>.
43887 * kern/disk.c: Likewise.
43888 * kern/rescue.c: Likewise.
43889 * loader/i386/pc/chainloader.c: Likewise.
43890 * normal/cmdline.c: Likewise.
43891 * kern/powerpc/ieee1275/init.c: Likewise.
43892 (grub_machine_init): Call `grub_pc_partition_map_init',
43893 `grub_amiga_partition_map_init' and
43894 `grub_apple_partition_map_init'.
43895 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43896 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43897 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43898 `partition.h' and `pc_partition.h'.
43899 (grub_setup_SOURCES): Remove
43900 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43901 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43902 (grub_emu_SOURCES): Likewise.
43903 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43904 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43905 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43907 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43908 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43909 (grubof_SOURCES): Likewise.
43910 * disk/i386/pc/partition.c: File removed.
43911 * disk/powerpc/ieee1275/partition.c: Likewise.
43912 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43913 * include/grub/i386/pc/partition.h: Likewise.
43914 * kern/partition.c: New file.
43915 * partmap/amiga.c: Likewise.
43916 * partmap/apple.c: Likewise.
43917 * partmap/pc.c: Likewise.
43918 * include/grub/partition.h: Likewise..
43919 * include/grub/pc_partition.h: Likewise.
43920 * util/grub-emu.c: Include <grub/partition.h> instead of
43921 <grub/machine/partition.h>.
43922 (main): Call `grub_pc_partition_map_init',
43923 `grub_amiga_partition_map_init' and
43924 `grub_apple_partition_map_init' and deinitialize afterwards.
43925 * util/i386/pc/biosdisk.c: Include `#include
43926 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43927 `<grub/machine/partition.h>'.
43928 * util/i386/pc/grub-setup.c: Likewise.
43929 * util/i386/pc/biosdisk.c: Likewise.
43930 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43931 partition information in case of a PC partition.
43932 * util/i386/pc/grub-setup.c: Include `#include
43933 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43934 `<grub/machine/partition.h>'.
43935 (setup): Only access the PC specific partition information in case
43936 of a PC partition.
43937
0ef4ced9 439382004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43939
0ef4ced9 43940 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43941 (grub_longjmp): Likewise.
43942 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43943 20.
43944 * normal/powerpc/setjmp.S: New file.
43945 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43946 `normal/powerpc/setjmp.S'.
43947 (grubof_CFLAGS): Add `-DGRUBOF'.
43948 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43949 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43950
19950e29 439512004-11-16 Marco Gerards <metgerards@student.han.nl>
43952
43953 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43954 property named `name'. Correctly handle the error returned by
43955 `grub_ieee1275_finddevice' if a device can not be opened.
43956
a2fea427 439572004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43958
43959 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43960 `actual' for negativity.
43961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43962 kern/fshelp.c.
43963
41ea0ea3 439642004-11-01 Marco Gerards <metgerards@student.han.nl>
43965
43966 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43967 (PAGE_OFFSET): New macro.
43968 (CRTC_ADDR_PORT): Likewise.
43969 (CRTC_DATA_PORT): Likewise.
43970 (START_ADDR_HIGH_REGISTER): Likewise.
43971 (START_ADDR_LOW_REGISTER): Likewise.
43972 (GRAPHICS_ADDR_PORT): Likewise.
43973 (GRAPHICS_DATA_PORT): Likewise.
43974 (READ_MAP_REGISTER): Likewise.
43975 (INPUT_STATUS1_REGISTER): Likewise.
43976 (INPUT_STATUS1_VERTR_BIT): Likewise.
43977 (page): New variable.
43978 (wait_vretrace): New function.
43979 (set_read_map): Likewise.
43980 (set_start_address): Likewise.
43981 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43982 the right page.
43983 (check_vga_mem): Take the page into account.
43984 (write_char): Likewise.
43985 (write_cursor): Likewise.
43986 (scroll_up): Likewise. Copy the page to the page that is not
43987 shown and switch between both pages.
43988 (grub_vga_putchar): Fix off by one error.
43989 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43990 account.
43991
ad0bd20b 439922004-11-01 Marco Gerards <metgerards@student.han.nl>
43993
43994 Add support for iso9660 (including rockridge).
f19dbdb7 43995
ad0bd20b 43996 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43997 (iso9660_mod_SOURCES): New variable.
43998 (iso9660_mod_CFLAGS): Likewise.
43999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44000 * include/grub/fs.h (grub_iso9660_init): New prototype.
44001 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44002 * fs/iso9660.c: New file.
44003
44004 * include/grub/misc.h (grub_strncat): New prototype.
44005 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44006
ad0bd20b 44007 * fs/hfs.c (grub_hfs_mount): Translate the error
44008 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44009 * fs/jfs.c (grub_jfs_mount): Likewise.
44010 * fs/ufs.c (grub_ufs_mount): Likewise.
44011
a5477a59 440122004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44013
44014 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44015 which initialized BAT registers.
44016 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44017 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44018 Move from here...
44019 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44020 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44021 ... to here.
44022 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44023 (grub_mapclaim): Likewise.
44024 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44025 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44026 hand.
44027
9304c1f8 440282004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44029
44030 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44031 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44032 -ffreestanding and -msoft-float.
44033
86f4ae25 440342004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44035
44036 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44037 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44038 set in grub_ieee1275_flags.
44039
38912228 440402004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44041
44042 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44043 prototype.
44044 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44045 grub_console_init first.
44046 Change the memory range used for grub_ieee1275_claim and
44047 grub_mm_init_region.
44048 Print an error message if the claim fails.
44049 Include <grub/misc.h>.
44050
d1923dc8 440512004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44052
44053 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44054 Call grub_children_iterate for device nodes of type `scsi',
44055 `ide', or `ata'.
44056 (grub_ofdisk_open): Remove manual device alias resolution.
44057 Fix memory leak when device cannot be opened.
f19dbdb7 44058 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 44059 (grub_children_iterate): New prototype.
44060 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44061 New function.
44062 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44063 Return -1 if args.size was -1.
44064
4512e4f3 440652004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44066
44067 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44068 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44069 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44070 Open Firmware's memory for it; claim memory from _start to _end.
44071 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44072 (_end): New extern.
44073 (_start): Zero BSS from __bss_start to _end.
44074 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44075 New extern.
44076 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44077
4d61feb0 440782004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44079
ad0bd20b 44080 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44081 -1 if args.base was -1.
4d61feb0 44082
026fa2f9 440832004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44084
44085 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44086 escape sequence instead of a literal ^L. Also call
44087 grub_ofconsole_gotoxy.
44088
9f2220ef 440892004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44090
44091 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44092 void * arguments to grub_addr_t. All callers updated. Also make
44093 the `result' argument optional.
44094 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44095 All callers updated.
44096
8a572cd7 440972004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44098
44099 * commands/ls.c (grub_ls_list_files): Use the string following the
44100 initial ')', if present, as the filesystem path.
44101 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44102
44103 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44104
18aa81f2 441052004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44106
44107 Make the source code of the menu interface more readable.
f19dbdb7 44108
18aa81f2 44109 * normal/menu.c: Include grub/mm.h.
44110 (TERM_WIDTH): New macro.
44111 (TERM_HEIGHT): Likewise.
44112 (TERM_INFO_HEIGHT): Likewise.
44113 (TERM_MARGIN): Likewise.
44114 (TERM_SCROLL_WIDTH): Likewise.
44115 (TERM_TOP_BORDER_Y): Likewise.
44116 (TERM_LEFT_BORDER_X): Likewise.
44117 (TERM_BORDER_WIDTH): Likewise.
44118 (TERM_MESSAGE_HEIGHT): Likewise.
44119 (TERM_BORDER_HEIGHT): Likewise.
44120 (TERM_NUM_ENTRIES): Likewise.
44121 (TERM_FIRST_ENTRY_Y): Likewise.
44122 (TERM_ENTRY_WIDTH): Likewise.
44123 (TERM_CURSOR_X): Likewise.
44124 (draw_border): Use macros instead of magic numbers.
44125 (print_entry): Likewise.
44126 (print_entries): Likewise.
44127 (run_menu): Likewise. Also, handle the key 'e'.
44128 (run_menu_entry): Ignore empty command lines.
44129 (print_message): Added a new argument EDIT. If EDIT is true,
44130 print a different message.
44131 (init_page): Likewise.
44132 (edit_menu_entry): New function. Not implemented yet.
44133
b47efe30 441342004-09-17 Marco Gerards <metgerards@student.han.nl>
44135
44136 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44137 can be loaded from normal mode.
f19dbdb7 44138
b47efe30 44139 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44140 `multiboot.mod'.
44141 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44142 (multiboot_mod_CFLAGS): New variables.
44143 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 44144 * loader/i386/pc/multiboot_normal.c: Likewise.
44145
b47efe30 44146 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44147 attribute `unused'.
f19dbdb7 44148
b47efe30 44149 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44150 `fdiro' to read the mode information from instead of `diro'.
44151
44152 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44153 looking up a symlink.
44154
44155 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44156 macro.
44157 * normal/command.c (grub_command_execute): Don't parse the
44158 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44159 flags of the command.
44160
44161 * normal/menu.c (grub_menu_run): Fix typo.
44162
da75ac71 441632004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44164
44165 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44166
44167 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44168 `y + 1' instead of `y - 1'.
44169
44170 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 44171
062b24c2 441722004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44173
44174 From Hollis Blanchard <hollis@penguinppc.org>:
44175 * kern/misc.c (memmove): New alias for grub_memmove.
44176 (memcmp): New alias for grub_memcmp.
44177 (memset): New alias for grub_memset.
f19dbdb7 44178 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 44179 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 44180 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 44181 (grub_ieee1275_get_property): Likewise.
f19dbdb7 44182
8ddad845 441832004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44184
44185 Added normal mode command `chainloader' as module chain.mod, which
44186 depends on normal.mod and _chain.mod.
f19dbdb7 44187
8ddad845 44188 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44189 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44190 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44191 Deleted prototype.
44192 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44193 but arguments parsing moved to ...
44194 (grub_chainloader_cmd): ... here. New function.
44195 * include/grub/i386/pc/chainloader.h: New file.
44196 * loader/i386/pc/chainloader_normal.c: Likewise.
44197
2c1f4ce3 441982004-09-11 Marco Gerards <metgerards@student.han.nl>
44199
44200 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44201 (grub_mkimage_LDFLAGS): Likewise.
44202 (grub_emu_SOURCES): Likewise.
44203 (kernel_img_HEADERS): Added fshelp.h.
44204 * fs/ext2.c: Include <grub/fshelp.h>.
44205 (FILETYPE_REG): New macro.
44206 (FILETYPE_INO_REG): Likewise.
44207 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44208 Changed all users.
44209 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44210 all users.
44211 (grub_fshelp_node): New struct.
44212 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44213 to a pointer.
44214 (grub_ext2_get_file_block): Removed function.
44215 (grub_ext2_read_block): New function.
44216 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44217 This function was written.
44218 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44219 (grub_ext2_find_file): Removed function.
44220 (grub_ext2_read_symlink): New function.
44221 (grub_ext2_iterate_dir): Likewise.
44222 (grub_ext2_open): Rewritten.
44223 (grub_ext2_dir): Rewritten.
44224 * include/grub/fshelp.h: New file.
44225 * fs/fshelp.c: Likewise.
44226
3c52136a 442272004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44228
44229 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44230 (print_message): Add a missing newline.
44231 (run_menu): Added timeout support.
44232 (run_menu_entry): New local function.
44233 (grub_menu_run): Added support for booting.
44234
44235 * kern/loader.c (grub_loader_is_loaded): New function.
44236
44237 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44238 (grub_get_rtc): Exported.
44239
44240 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44241 (grub_get_rtc): Exported.
44242
44243 * include/grub/normal.h (struct grub_command_list): Remove
44244 constant from the member `command'.
44245
44246 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44247
44248 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44249
44250 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44251
aa033560 442522004-08-28 Marco Gerards <metgerards@student.han.nl>
44253
44254 Add support for the JFS filesystem.
44255
44256 * fs/jfs.c: New file.
44257 * include/grub/fs.h (grub_jfs_init): New prototype.
44258 (grub_jfs_fini): New prototype.
44259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
44260 (grub_emu_SOURCES): Likewise.
44261 (pkgdata_MODULES): Add jfs.mod.
44262 (jfs_mod_SOURCES): New variable.
44263 (jfs_mod_CFLAGS): Likewise.
44264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
44265 (grubof_SOURCES): Likewise.
44266 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
44267
44268 * fs/fat.c (grub_fat_find_dir): Convert the filename little
44269 endian to the host endian.
44270 (grub_fat_utf16_to_utf8): Move function from there...
44271 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 44272 the endianness of the source string anymore.
aa033560 44273 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
44274
94bc45af 442752004-08-24 Marco Gerards <metgerards@student.han.nl>
44276
44277 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
44278 (grub_boot_fini) [GRUB_UTIL]: Likewise.
44279 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
44280 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 44281
94bc45af 44282 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
44283 (grub_hfs_iterate_dir): Make the function static. Add prototypes
44284 for `node_found' and `it_dir'.
44285 (grub_hfs_dir): Add prototype for `dir_hook'.
44286
44287 * fs/minix.c (grub_minix_get_file_block): Add prototype for
44288 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
44289 and `indir32' to silence a gcc warning.
44290
44291 * include/grub/fs.h (grub_hfs_init): New prototype.
44292 (grub_hfs_fini): Likewise.
f19dbdb7 44293
44294
97543f08 442952004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44296
44297 Each disk device has its own id now. This is useful to make use
44298 of multiple disk devices.
f19dbdb7 44299
97543f08 44300 * include/grub/disk.h (grub_disk_dev_id): New enum.
44301 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
44302 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
44303
44304 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
44305 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44306
44307 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
44308 GRUB_DISK_DEVICE_OFDISK_ID as an id.
44309
44310 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
44311 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44312
44313 * include/grub/disk.h (struct grub_disk_dev): Added a new member
44314 "id" which is used by the cache manager.
44315
44316 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
44317 of just "GRUB".
44318
64372eb4 443192004-08-18 Marco Gerards <metgerards@student.han.nl>
44320
44321 * fs/hfs.c: New file.
44322 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
44323 (grub_emu_SOURCES): Likewise.
44324 (pkgdata_MODULES): Add hfs.mod.
44325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
44326 (grubof_SOURCES): Likewise.
44327 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
44328
44329 * include/grub/misc.h (grub_strncasecmp): Add prototype.
44330 * kern/misc.c (grub_strncasecmp): Add function.
44331
cc61b58f 443322004-08-14 Marco Gerards <metgerards@student.han.nl>
44333
44334 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
44335 with parentheses.
44336
44337 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
44338 (grub_ext2_dir): In case the directory entry type is unknown, read
44339 it from the inode.
44340
0ef123f6 443412004-08-02 Peter Bruin <pjbruin@dds.nl>
44342
44343 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
44344 grub_load_linux instead of grub_rescue_cmd_linux as second
44345 argument of grub_rescue_register_command.
44346
44347 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
44348
a447c5df 443492004-07-27 Marco Gerards <metgerards@student.han.nl>
44350
44351 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
44352 function.
44353 * commands/boot.c: Remove the check for `GRUB_UTIL'.
44354 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44355 `loader/powerpc/ieee1275/linux.c',
44356 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
44357 * include/grub/powerpc/ieee1275/ieee1275.h
44358 (grub_ieee1275_release): New prototype.
44359 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
44360 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
44361 normal, boot, linux and linux_normal.
44362 * loader/powerpc/ieee1275/linux.c: New file.
44363 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44364
5a9e3546 443652004-07-12 Marco Gerards <metgerards@student.han.nl>
44366
44367 * normal/arg.c (grub_arg_parse): Correct error handling after
44368 reallocating the argumentlist (check if `argl' is not null instead
44369 of checking if `args' is not null).
44370 * kern/mm.c (grub_realloc): Return the same pointer when using the
44371 same region, instead of returning the header address.
44372
e15199cb 443732004-07-11 Marco Gerards <metgerards@student.han.nl>
44374
44375 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
44376 one block instead of two when looking for the initial partition.
44377 (grub_partition_probe): Initialize the local variable `p' with 0.
44378 Use base 10 for the grub_strtoul call.
44379 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
44380 need for one local variable.
44381 (grub_strtoul): Don't add the new value to `num', instead of that
44382 just assign it.
44383
020616c2 443842004-07-11 Marco Gerards <metgerards@student.han.nl>
44385
44386 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
44387 (pxeboot_img_SOURCES): New variable.
44388 (pxeboot_img_ASFLAGS): Likewise.
44389 (pxeboot_img_LDFLAGS): Likewise.
44390 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
44391 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
44392 <lode_leroy@hotmail.com>.
44393
6c51eb64 443942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44395
44396 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
44397 there was no input.
44398
cfb12aff 443992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44400
44401 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
44402 the history buffer logic.
44403
6eabba74 444042004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44405
44406 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
44407 (FILETYPE_INO_SYMLINK): New macros.
44408 (grub_ext2_find_file): Check if the node is a directory using the
44409 inode stat information instead of using the filetype in the
44410 dirent. Exclude the first character of an absolute symlink.
44411 (grub_ext2_dir): Mask out the filetype part of the mode member of
44412 the inode.
44413
66e19ef8 444142004-05-24 Marco Gerards <metgerards@student.han.nl>
44415
44416 Add support for UFS version 1 and 2. Add support for the minix
44417 filesystem version 1 and 2, both the variants with 14 and 30 long
44418 filenames.
f19dbdb7 44419
66e19ef8 44420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
44421 fs/minix.c.
44422 (grub_emu_SOURCES): Likewise.
44423 (pkgdata_MODULES): Add ufs.mod and minix.mod.
44424 (ufs_mod_SOURCES): New variable.
44425 (ufs_mod_CFLAGS): Likewise.
44426 (minix_mod_SOURCES): Likewise.
44427 (minix_mod_CFLAGS): Likewise.
44428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
44429 fs/minix.c.
44430 (grubof_SOURCES): Likewise.
44431 * fs/ufs.c: New file.
44432 * fs/minix.c: New file.
44433 * include/grub/fs.h (grub_ufs_init): New prototype.
44434 (grub_ufs_fini): Likewise.
44435 (grub_minix_init): Likewise.
44436 (grub_minix_fini): Likewise.
44437 * util/grub-emu.c (main): Initialize and deinitialize UFS and
44438 minix fs.
44439
cc2e748a 444402004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
44441
44442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
44443 commands/ls.c, commands/terminal.c, commands/boot.c,
44444 commands/cmp.c and commands/cat.c.
44445 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
44446
44447 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
44448 "env.h"
44449
4b13b216 444502004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44451
44452 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
44453 and grub_, respectively. Because the conversion is trivial and
44454 mechanical, I omit the details here. Please refer to the CVS
44455 if you need more information.
44456
6a142551 444572004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44458
44459 * include/pupa: Renamed to ...
44460 * include/grub: ... this.
44461 * util/i386/pc/pupa-mkimage.c: Renamed to ...
44462 * util/i386/pc/grub-mkimage.c: ... this.
44463 * util/i386/pc/pupa-setup.c: Renamed to ...
44464 * util/i386/pc/grub-setup.c: ... this.
44465 * util/pupa-emu.c: Renamed to ...
44466 * util/grub-emu.c: ... this.
44467
e56cdf21 444682004-03-29 Marco Gerards <metgerards@student.han.nl>
44469
44470 Add support for the newworld apple macintosh (PPC). This has been
44471 tested on the powerbook 2000 only. It only adds support for
44472 generic ieee1275 functions, console and disk support. This should
44473 be easy to port to other architectures with support for Open
44474 Firmware.
f19dbdb7 44475
e56cdf21 44476 * configure.ac: Accept the powerpc as host_cpu. In the case of
44477 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
44478 specific tests are only executed while building for the i386.
44479 Inverse test for crosscompile.
44480 * genmk.rb (Utility): Allow assembler files.
44481 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
44482 * conf/powerpc-ieee1275.rmk: New file.
44483 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
44484 * disk/powerpc/ieee1275/partition.c: Likewise.
44485 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
44486 * include/pupa/powerpc/ieee1275/console.h: Likewise.
44487 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
44488 * include/pupa/powerpc/ieee1275/time.h: Likewise.
44489 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
44490 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
44491 * include/pupa/powerpc/ieee1275/loader.h
44492 * include/pupa/powerpc/setjmp.h: Likewise.
44493 * include/pupa/powerpc/types.h: Likewise.
44494 * kern/powerpc/ieee1275/init.c: Likewise.
44495 * kern/powerpc/ieee1275/openfw.c: Likewise.
44496 * term/powerpc/ieee1275/ofconsole.c: Likewise.
44497
44498 These files were written by Johan Rydberg
44499 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 44500
e56cdf21 44501 * boot/powerpc/ieee1275/cmain.c: New file.
44502 * boot/powerpc/ieee1275/crt0.S: Likewise.
44503 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
44504 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
44505
8c8cc205 445062004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
44507
44508 * Makefile.in: Update copyright.
44509 * genmodsrc.sh: Likewise.
44510 * gensymlist.sh: Likewise.
44511 * term/i386/pc/vga.c: Indent correctly.
44512
44513 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
44514 bugreporting address.
44515 * util/i386/pc/pupa-setup.c (usage): Likewise,
44516 (main): Call pupa_ext2_init and pupa_ext2_fini.
44517
f19dbdb7 44518 * fs/fat.c (log2): Renamed to ...
8c8cc205 44519 (fat_log2): ... this.
44520 All callers changed.
44521 * kern/misc.c (memcpy): Alias to pupa_memmove.
44522 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
44523 lvalue cast.
44524 * util/console.c (pupa_ncurses_fini): Return 0.
44525
44526 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
44527 Move fail label here.
44528 [__GNU__]: Don't warn when using stat.
44529 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
44530 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
44531 long int. Use strtol instead of strtoul.
f19dbdb7 44532
db1771cf 445332004-03-14 Marco Gerards <metgerards@student.han.nl>
44534
44535 * commands/boot.c: New file.
44536 * commands/cat.c: Likewise.
44537 * commands/cmp.c: Likewise.
44538 * commands/ls.c: Likewise.
44539 * commands/terminal.c: Likewise.
44540 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
44541 (pupa_register_command): Changed interface to match the new
44542 argument parser.
44543 (pupa_command_execute): Changed (almost rewritten) so it uses
44544 pupa_split_command. Added support for setting variables using the
44545 syntax `foo=bar'.
44546 (rescue_command): Changed to work with the new argument parser.
44547 (terminal_command): Moved from here to commands/terminal.c.
44548 (set_command): New function.
44549 (unset_command): New function.
44550 (insmod_command): New function.
44551 (rmmod_command): New function.
44552 (lsmod_command): New function.
44553 (pupa_command_init): Don't initialize the command terminal
44554 anymore. Initialize the commands set, unset, insmod, rmmod and
44555 lsmod.
44556 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
44557 (kernel_img_HEADERS): Add arg.h and env.h.
44558 (pupa_mkimage_LDFLAGS): Add kern/env.c.
44559 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
44560 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
44561 normal/arg.c.
44562 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
44563 terminal.mod.
44564 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
44565 (boot_mod_SOURCES): New variable.
44566 (terminal_mod_SOURCES): Likewise.
44567 (ls_mod_SOURCES): Likewise.
44568 (cmp_mod_SOURCES): Likewise.
44569 (cat_mod_SOURCES): Likewise.
44570
44571 * normal/arg.c: New file.
44572 * kern/env.c: Likewise.
44573 * include/pupa/arg.h: Likewise.
44574 * include/pupa/env.h: Likewise.
44575 * font/manager.c (font_command): Changed to match argument parsing
44576 interface changes.
44577 (PUPA_MOD_INIT): Likewise.
44578 * hello/hello.c (pupa_cmd_hello): Likewise.
44579 (PUPA_MOD_INIT): Likewise.
44580 * include/pupa/disk.h: Include <pupa/device.h>.
44581 (pupa_print_partinfo): New prototype.
44582 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
44583 (pupa_dl_get_prefix): Likewise.
44584 * include/pupa/misc.h: Include <pupa/err.h>.
44585 (pupa_isgraph): New prototype.
44586 (pupa_isdigit): Likewise.
44587 (pupa_split_cmdline): Likewise.
44588 * include/pupa/normal.h: Include <pupa/arg.h>.
44589 (pupa_command): Changed the prototype of the member `func' to
44590 match the argument parsing interface. Added member `options'.
44591 (pupa_register_command): Updated to match function.
44592 (pupa_arg_parse): New prototype.
44593 (pupa_hello_init) [PUPA_UTIL]: New prototype.
44594 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
44595 (pupa_ls_init) [PUPA_UTIL]: Likewise.
44596 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
44597 (pupa_cat_init) [PUPA_UTIL]: Likewise.
44598 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
44599 (pupa_boot_init) [PUPA_UTIL]: Likewise.
44600 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
44601 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
44602 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
44603 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
44604 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
44605 * kern/disk.c: Include <pupa/file.h>.
44606 (pupa_print_partinfo): New function.
44607 * kern/dl.c: Include <pupa/env.h>.
44608 (pupa_dl_dir): Variable removed.
44609 (pupa_dl_load): Use the environment variable `prefix' instead of
44610 the variable pupa_dl_dir.
44611 (pupa_dl_set_prefix): Function removed.
44612 (pupa_dl_get_prefix): Likewise.
44613 * kern/i386/pc/init.c: Include <pupa/env.h>.
44614 (pupa_machine_init): Use the environment variable `prefix' instead of
44615 using pupa_dl_set_prefix to set the prefix.
44616 * kern/main.c: Include <pupa/env.h>.
44617 (pupa_set_root_dev): Use the environment variable `prefix' instead of
44618 using pupa_dl_get_prefix to get the prefix.
44619 * kern/misc.c: Include <pupa/env.h>.
44620 (pupa_isdigit): New function.
44621 (pupa_isgraph): Likewise.
44622 (pupa_ftoa): Likewise.
44623 (pupa_vsprintf): Added support for printing values of the type
44624 `double'. Make it possible to format variable output when using
44625 formatting like `%1.2%f'.
44626 (pupa_split_cmdline): New function.
44627 * kern/rescue.c: Include <pupa/env.h>.
44628 (next_word): Removed function.
44629 (pupa_rescue_cmd_prefix): Likewise.
44630 (pupa_rescue_cmd_set): New function.
44631 (pupa_rescue_cmd_unset): New function.
44632 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44633 split the command line instead of splitting it here. Added
44634 support for setting variables using the syntax `foo=bar'. Don't
44635 initialize the prefix command anymore. Initialized the set and
44636 unset commands.
44637 * normal/cmdline.c: Include <pupa/env.h>.
44638 (pupa_tab_complete): Added prototypes for print_simple_completion,
44639 print_partition_completion, add_completion, iterate_commands,
44640 iterate_dev, iterate_part and iterate_dir. Moved code to print
44641 partition information from here to kern/disk.c.
fe6b695a 44642 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44643 * normal/main.c: Include <pupa/env.h>.
44644 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44645 instead of using pupa_dl_get_prefix to get the prefix.
44646 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44647 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44648 warning.
44649 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44650 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44651 ((unused))' to silence a gcc warning.
44652 (pupa_vga_setcolor): Likewise.
44653 (debug_command): Changed to match argument parsing
44654 interface changes.
44655 * util/pupa-emu.c: Include <pupa/env.h>.
44656 (options): Added 0's for unused fields to silence a gcc warning.
44657 (argp): Likewise.
44658 (main): Use the environment variable `prefix' instead of using
44659 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44660 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44661 and terminal.
44662
44663 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44664 * util/misc.c: Include <malloc.h>.
44665 (pupa_malloc): Rewritten so errors are correctly reported.
44666 (pupa_realloc): Likewise.
44667 (pupa_memalign): Likewise.
44668 (pupa_mm_init_region): Declare unused variables with
44669 `__attribute__ ((unused))' to silence a gcc warning.
44670 * normal/i386/setjmp.S: Remove tab at the end of the file to
44671 silence a gcc warning.
44672 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44673 variables with `__attribute__ ((unused))' to silence a gcc
44674 warning.
44675 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44676 local variable i unsigned to silence a gcc warning.
44677
44678 * kern/term.c: Include <pupa/misc.h>.
44679 (pupa_more_lines): New variable.
44680 (pupa_more): Likewise.
44681 (pupa_putcode): When the pager is active pause at the end of every
44682 screen.
44683 (pupa_set_more): New function.
44684 * include/pupa/term.h (pupa_set_more): New prototype.
44685
44686
3b1139cb 446872004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44688
44689 Now this project is GRUB 2 rather than PUPA. The location of
44690 the CVS repository was moved to GRUB's.
f19dbdb7 44691
3b1139cb 44692 * configure.ac: Use bug-grub as the reporting address.
44693 Use GRUB instead of PUPA.
44694 Change the version number to 1.90.
44695
8367695c 446962004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44697
44698 * genkernsyms.sh: Updated copyright information.
44699 * genmk.rb: Likewise.
44700 * genmodsrc.sh: Likewise.
44701 * gensymlist.sh: Likewise.
44702 * boot/i386/pc/boot.S: Likewise.
44703 * boot/i386/pc/diskboot.S: Likewise.
44704 * disk/i386/pc/biosdisk.c: Likewise.
44705 * disk/i386/pc/partition.c: Likewise.
44706 * font/manager.c: Likewise.
44707 * fs/ext2.c: Likewise.
44708 * fs/fat.c: Likewise.
44709 * include/pupa/boot.h: Likewise.
44710 * include/pupa/device.h: Likewise.
44711 * include/pupa/disk.h: Likewise.
44712 * include/pupa/dl.h: Likewise.
44713 * include/pupa/elf.h: Likewise.
44714 * include/pupa/err.h: Likewise.
44715 * include/pupa/file.h: Likewise.
44716 * include/pupa/font.h: Likewise.
44717 * include/pupa/fs.h: Likewise.
44718 * include/pupa/kernel.h: Likewise.
44719 * include/pupa/loader.h: Likewise.
44720 * include/pupa/misc.h: Likewise.
44721 * include/pupa/mm.h: Likewise.
44722 * include/pupa/net.h: Likewise.
44723 * include/pupa/normal.h: Likewise.
44724 * include/pupa/rescue.h: Likewise.
44725 * include/pupa/setjmp.h: Likewise.
44726 * include/pupa/symbol.h: Likewise.
44727 * include/pupa/term.h: Likewise.
44728 * include/pupa/types.h: Likewise.
44729 * include/pupa/i386/setjmp.h: Likewise.
44730 * include/pupa/i386/types.h: Likewise.
44731 * include/pupa/i386/pc/biosdisk.h: Likewise.
44732 * include/pupa/i386/pc/boot.h: Likewise.
44733 * include/pupa/i386/pc/console.h: Likewise.
44734 * include/pupa/i386/pc/init.h: Likewise.
44735 * include/pupa/i386/pc/kernel.h: Likewise.
44736 * include/pupa/i386/pc/linux.h: Likewise.
44737 * include/pupa/i386/pc/loader.h: Likewise.
44738 * include/pupa/i386/pc/memory.h: Likewise.
44739 * include/pupa/i386/pc/multiboot.h: Likewise.
44740 * include/pupa/i386/pc/partition.h: Likewise.
44741 * include/pupa/i386/pc/time.h: Likewise.
44742 * include/pupa/i386/pc/vga.h: Likewise.
44743 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44744 * include/pupa/util/getroot.h: Likewise.
44745 * include/pupa/util/misc.h: Likewise.
44746 * include/pupa/util/resolve.h: Likewise.
44747 * kern/device.c: Likewise.
44748 * kern/disk.c: Likewise.
44749 * kern/dl.c: Likewise.
44750 * kern/err.c: Likewise.
44751 * kern/file.c: Likewise.
44752 * kern/fs.c: Likewise.
44753 * kern/loader.c: Likewise.
44754 * kern/main.c: Likewise.
44755 * kern/misc.c: Likewise.
44756 * kern/mm.c: Likewise.
44757 * kern/rescue.c: Likewise.
44758 * kern/term.c: Likewise.
44759 * kern/i386/dl.c: Likewise.
44760 * kern/i386/pc/init.c: Likewise.
44761 * kern/i386/pc/lzo1x.S: Likewise.
44762 * kern/i386/pc/startup.S: Likewise.
44763 * loader/i386/pc/chainloader.c: Likewise.
44764 * loader/i386/pc/linux.c: Likewise.
44765 * loader/i386/pc/multiboot.c: Likewise.
44766 * normal/cmdline.c: Likewise.
44767 * normal/command.c: Likewise.
44768 * normal/main.c: Likewise.
44769 * normal/menu.c: Likewise.
44770 * normal/i386/setjmp.S: Likewise.
44771 * term/i386/pc/console.c: Likewise.
44772 * term/i386/pc/vga.c: Likewise.
44773 * util/console.c: Likewise.
44774 * util/genmoddep.c: Likewise.
44775 * util/misc.c: Likewise.
44776 * util/pupa-emu.c: Likewise.
44777 * util/resolve.c: Likewise.
44778 * util/unifont2pff.rb: Likewise.
44779 * util/i386/pc/biosdisk.c: Likewise.
44780 * util/i386/pc/getroot.c: Likewise.
44781 * util/i386/pc/pupa-mkimage.c: Likewise.
44782 * util/i386/pc/pupa-setup.c: Likewise.
44783
e6eced71 447842004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44785
44786 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44787 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44788 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44789 reading and reset it after reading.
44790 (pupa_ext2_close): Return PUPA_ERR_NONE.
44791
44792 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44793 Correct value.
44794 (struct linux_kernel_header): Add kernel_version and
44795 initrd_addr_max.
44796 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44797 pupa_file_read succeeds.
44798 (pupa_rescue_cmd_initrd): Implement.
44799
5aded270 448002003-12-03 Marco Gerards <metgerards@student.han.nl>
44801
44802 * fs/ext2.c (pupa_ext2_label): New function.
44803 (pupa_ext2_fs): Added label.
44804 * fs/fat.c (pupa_fat_label): New function.
44805 (pupa_fat_fs): Added label.
44806 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44807
44808 * kern/misc.c (pupa_strndup): New function.
44809 * include/pupa/misc.h (pupa_strndup): New prototype.
44810
44811 * include/pupa/normal.h: Include <pupa/err.h>.
44812 (pupa_set_history): New prototype.
44813 (pupa_iterate_commands): New prototype.
44814 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44815 <pupa/disk.h>, <pupa/file.h>.
44816 (hist_size): New variable.
44817 (hist_lines): Likewise.
44818 (hist_end): Likewise.
44819 (hist_used): Likewise.
44820 (pupa_set_history): New function.
44821 (pupa_history_get): Likewise.
44822 (pupa_history_add): Likewise.
44823 (pupa_history_replace): Likewise.
44824 (pupa_tab_complete): Likewise.
44825 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44826 completion shows partitionnames while completing partitions, this
44827 feature was suggested by Jeff Bailey.
44828 * normal/command.c (pupa_iterate_commands): New function.
44829 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44830 (pupa_normal_init): Initialize history buffer.
44831 (PUPA_MOD_INIT): Likewise.
44832 (pupa_normal_fini): Free the history buffer.
44833 (PUPA_MOD_FINI): Likewise.
44834
44835 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44836 key.
44837
44838 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44839 * configure.ac [i386]: Check for regparam bug.
44840 (NESTED_FUNC_ATTR) [! i386]: Defined.
44841
1f7315a3 448422003-11-17 Marco Gerards <metgerards@student.han.nl>
44843
44844 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44845 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44846 (pupa_emu_SOURCES): New variable.
44847 (pupa_emu_LDFLAGS): Likewise.
44848 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44849 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44850 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44851 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44852 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44853 (pupa_jmp_buf): New typedef.
44854 (pupa_setjmp) [PUPA_UTIL]: New macro.
44855 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44856 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44857 (pupa_refresh): New prototype.
44858 * include/pupa/util/getroot.h: New file.
44859 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44860 it.
44861 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44862 (pupa_rescue_cmd_cat): Likewise.
44863 (pupa_rescue_cmd_ls): Likewise.
44864 (pupa_rescue_cmd_testload): Likewise.
44865 (pupa_rescue_cmd_lsmod): Likewise.
44866 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44867 * normal/menu.c (run_menu): Likewise.
44868 * kern/term.c (pupa_cls): Likewise.
44869 (pupa_refresh): New function.
44870 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44871 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44872 * util/console.c: New file.
f19dbdb7 44873
1f7315a3 44874 * util/i386/pc/getroot.c: New file.
44875 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44876 (pupa_putchar): New function.
44877 (pupa_refresh): Likewise.
44878 (xgetcwd): Function moved to ...
44879 (strip_extra_slashes): Likewise.
44880 (get_prefix): Likewise.
f19dbdb7 44881 * util/i386/pc/getroot.c: ... here.
1f7315a3 44882 (find_root_device): Function moved and renamed to...
44883 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44884 Changed all callers.
44885 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44886 and renamed to...
44887 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44888 Changed all callers.
44889 * util/misc.c (pupa_memalign): New function.
44890 (pupa_mm_init_region): Likewise.
44891 (pupa_register_exported_symbols): Likewise.
44892 (pupa_putchar): Function removed.
44893 * util/pupa-emu.c: New file.
44894
9a5c1ade 448952003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44896
44897 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44898 (_multiboot_mod_SOURCES): New variable.
44899 (_multiboot_mod_CFLAGS): Likewise.
44900 * loader/i386/pc/multiboot.c: New file.
44901 * include/pupa/i386/pc/multiboot.h: Likewise.
44902 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44903 (pupa_multiboot_real_boot): New function.
44904 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44905 (pupa_multiboot_real_boot): New prototype.
44906 (pupa_rescue_cmd_multiboot): Likewise
44907 (pupa_rescue_cmd_module): Likewise.
44908
44909 * kern/loader.c (pupa_loader_set): Continue when
44910 pupa_loader_unload_func() fails.
44911 (pupa_loader_unset): New function.
44912 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44913
44914 * kern/misc.c (pupa_stpcpy): New function.
44915 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44916
8e72a9c0 449172003-11-12 Marco Gerards <metgerards@student.han.nl>
44918
44919 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44920 for available extensions.
44921
44922 * include/pupa/i386/pc/time.h: New file.
44923 * kern/disk.c: Include <pupa/machine/time.h>.
44924 (PUPA_CACHE_TIMEOUT): New macro.
44925 (pupa_last_time): New variable.
44926 (pupa_disk_open): Flush the cache when there was a timeout.
44927 (pupa_disk_close): Reset the timer.
44928 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44929 pupa_currticks.
44930 * util/misc.c: Include <sys/times.h>
44931 (pupa_get_rtc): New function.
44932
c4adbd32 449332003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44934
44935 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44936 as blocks.
44937 (pupa_ext2_get_file_block): Use blocks member.
44938
44939 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44940 first block. Return -1 instead of pupa_errno on error.
44941
bfd30f06 449422003-10-27 Marco Gerards <metgerards@student.han.nl>
44943
44944 * README: In the pupa-mkimage example use _chain instead of chain
44945 and ext2 instead of fat.
44946 * TODO: Replace ext2fs with jfs as an example. Add an item for
44947 adding journal playback for ext2fs.
44948 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44949 (pkgdata_MODULES): Added ext2.mod.
44950 (ext2_mod_SOURCES): New variable.
44951 (ext2_mod_CFLAGS): Likewise.
44952 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44953 * include/pupa/misc.h (pupa_strncpy): New prototype.
44954 (pupa_strcat): Likewise.
44955 (pupa_strncmp): Likewise.
44956 * kern/misc.c (pupa_strcat): Enable function.
44957 (pupa_strncpy): New function.
44958 (pupa_strncmp): Likewise.
44959 * fs/ext2.c: New file.
f19dbdb7 44960
bfd30f06 44961 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44962 when the read failed before retrying.
44963 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44964 (_FILE_OFFSET_BITS): Likewise.
44965 * configure.ac: Added AC_SYS_LARGEFILE.
44966
98d15063 449672003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44968
44969 * genmk.rb (PModule#rule): Make sure to get only symbol names
44970 from the output of nm.
59cad637 44971 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44972
18d9c7cd 449732003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44974
44975 I forgot to check in these changes for a long time. This adds
44976 incomplete support for VGA console, and this is still very
44977 buggy. Also, a lot of consideration is required for I18N,
44978 UNICODE, and VGA font issues. Therefore, assume that this is
44979 such that "better than nothing".
f19dbdb7 44980
18d9c7cd 44981 * font/manager.c: New file.
44982 * include/pupa/font.h: Likewise.
44983 * include/pupa/i386/pc/vga.h: Likewise.
44984 * term/i386/pc/vga.c: Likewise.
44985 * util/unifont2pff.rb: Likewise.
44986
44987 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44988 (pkgdata_MODULES): Added vga.mod and font.mod.
44989 (vga_mod_SOURCES): New variables.
44990 (vga_mod_CFLAGS): Likewise.
44991 (font_mod_SOURCES): Likewise.
44992 (font_mod_CFLAGS): Likewise.
44993
44994 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44995
44996 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44997 (struct pupa_term): Added init and fini.
18d9c7cd 44998 Changed the argument of putchar to pupa_uint32_t.
44999
45000 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45001 (pupa_console_real_putchar): New prototype.
45002 (pupa_console_putchar): Removed.
45003 (pupa_console_checkkey): Exported.
45004 (pupa_console_getkey): Likewise.
45005
45006 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45007 characters.
45008
45009 * kern/term.c (pupa_term_set_current): Rewritten.
45010 (pupa_putchar): Likewise.
45011 (pupa_putcode): New function.
45012
45013 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45014 (pupa_console_real_putchar): ... this.
45015 (pupa_vga_set_mode): New function.
45016 (pupa_vga_get_font): Likewise.
45017
45018 * normal/command.c: Include pupa/term.h.
45019 (terminal_command): New function.
45020 (pupa_command_init): Register the command "terminal".
45021
45022 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45023 (DISP_UP): Likewise.
45024 (DISP_RIGHT): Likewise.
45025 (DISP_DOWN): Likewise.
45026 (DISP_HLINE): Likewise.
45027 (DISP_VLINE): Likewise.
45028 (DISP_UL): Likewise.
45029 (DISP_UR): Likewise.
45030 (DISP_LL): Likewise.
45031 (DISP_LR): Likewise.
45032
45033 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45034
977329f5 450352003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45036
45037 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45038 FIX. Reverse the path_list.
45039
45040 * include/pupa/normal.h: Export pupa_register_command and
45041 pupa_unregister_command.
45042
45043 * hello/hello.c (pupa_cmd_hello): New module.
45044 * conf/i386-pc.rmk: Added hello.mod.
45045
1f5ab428 450462003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45047
45048 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 45049
1f5ab428 45050 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45051 (compress_kernel): New variable.
45052 (generate_image): Heavily modified to support compressing a
45053 large part of the core image.
45054
45055 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45056 leak.
45057 (pupa_util_load_image): New function.
45058
45059 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45060 (pupa_compressed_size): New variable.
45061 (codestart): Enable Gate A20 here.
45062 Decompress the compressed part of the core image.
45063 Rearrange the code to put functions and variables which are
45064 required for initialization in the non-compressed part.
45065 Include lzo1x.S.
45066
45067 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45068 here.
45069
45070 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45071
f19dbdb7 45072 * include/pupa/i386/pc/kernel.h
1f5ab428 45073 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45074 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45075 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45076 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45077 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45078
45079 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45080
45081 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45082 (Utility#rule): Likewise.
45083
45084 * configure.ac: Check if LZO is available.
45085
ce5bf700 450862003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45087
45088 * include/pupa/normal.h: New file.
45089 * include/pupa/setjmp.h: Likewise.
45090 * include/pupa/i386/setjmp.h: Likewise.
45091 * normal/cmdline.c: Likewise.
45092 * normal/command.c: Likewise.
45093 * normal/main.c: Likewise.
45094 * normal/menu.c: Likewise.
45095 * normal/i386/setjmp.S: Likewise.
f19dbdb7 45096
ce5bf700 45097 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45098 (pupa_rescue_cmd_initrd): Likewise.
45099
45100 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45101 Likewise.
45102
45103 * kern/i386/pc/startup.S (translation_table): New variable.
45104 (translate_keycode): New function.
45105 (pupa_console_getkey): Call translate_keycode.
45106
45107 * kern/rescue.c (attempt_normal_mode): New function.
45108 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45109 it failed, print a message.
45110
45111 * kern/mm.c (pupa_real_malloc): Print more information when a
45112 free magic is broken.
45113 (pupa_free): If the first free header is not free actually, set
45114 it to P.
45115
45116 * kern/main.c (pupa_load_normal_mode): Just load the module
45117 "normal".
45118 (pupa_main): Don't print the message
45119 "Entering into rescue mode..." here.
45120
45121 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45122 Declared.
45123 (pupa_rescue_cmd_initrd): Likewise.
45124 (pupa_rescue_cmd_initrd): Likewise.
45125
45126 * include/pupa/symbol.h (FUNCTION): Specify the type.
45127 (VARIABLE): Likewise.
45128
45129 * include/pupa/err.h (pupa_err_t): Added
45130 PUPA_ERR_UNKNOWN_COMMAND.
45131
45132 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45133 (pupa_dl_get_prefix): Likewise.
45134
45135 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45136 Added _chain.mod and _linux.mod instead of chain.mod and
45137 linux.mod.
45138 (chain_mod_SOURCES): Renamed to ...
45139 (_chain_mod_SOURCES): ... this.
45140 (chain_mod_CFLAGS): Renamed to ...
45141 (_chain_mod_CFLAGS): ... this.
45142 (linux_mod_SOURCES): Renamed to ...
45143 (_linux_mod_SOURCES): ... this.
45144 (linux_mod_CFLAGS): Renamed to ...
45145 (_linux_mod_CFLAGS): ... this.
45146 (normal_mod_SOURCES): New variable.
45147 (normal_mod_CFLAGS): Likewise.
45148 (normal_mod_ASFLAGS): Likewise.
45149
451502003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45151
45152 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45153 possible.
45154
fe6b695a 45155 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 45156 recursively.
45157 (pupa_dl_unref): Unrefer depending modules recursively.
45158 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45159 a module is unloaded before one depending on that module is
45160 unloaded.
45161 (pupa_dl_unload): Unload depending modules explicitly,
45162 if possible.
45163
c04da074 451642003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45165
45166 * include/pupa/i386/pc/linux.h: New file.
45167 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 45168
c04da074 45169 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45170 Removed.
45171 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45172 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45173 of PUPA_CHAINLOADER_BOOT_SECTOR.
45174
45175 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45176 (pupa_linux_prot_size): New variable.
45177 (pupa_linux_tmp_addr): Likewise.
45178 (pupa_linux_real_addr): Likewise.
45179 (pupa_linux_boot_zimage): New function.
45180 (pupa_linux_boot_bzimage): Likewise.
45181
45182 * kern/i386/pc/init.c (struct mem_region): New structure.
45183 (MAX_REGIONS): New macro.
45184 (mem_regions): New variable.
45185 (num_regions): Likewise.
45186 (pupa_os_area_addr): Likewise.
45187 (pupa_os_area_size): Likewise.
45188 (pupa_lower_mem): Likewise.
45189 (pupa_upper_mem): Likewise.
45190 (add_mem_region): New function.
45191 (compact_mem_regions): Likewise.
45192 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45193 the size of the conventional memory and that of so-called upper
45194 memory (before the first memory hole).
45195 Instead of adding each found region to free memory, use
45196 add_mem_region and add them after removing overlaps.
45197 Also, add only 1/4 of the upper memory to free memory. The rest
45198 is used for loading OS images. Maybe this is ad hoc, but this
45199 makes it much easier to relocate OS images when booting.
45200
45201 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45202 (pupa_enter_rescue_mode): Don't register initrd and module.
45203
45204 * kern/mm.c: Include pupa/dl.h.
45205
45206 * kern/main.c: Include pupa/file.h and pupa/device.h.
45207
45208 * kern/loader.c (pupa_loader_load_module_func): Removed.
45209 (pupa_loader_load_module): Likewise.
45210
45211 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45212 ``.o''.
45213
45214 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45215 (pupa_linux_tmp_addr): Likewise.
45216 (pupa_linux_real_addr): Likewise.
45217 (pupa_linux_boot_zimage): Likewise.
45218 (pupa_linux_boot_bzimage): Likewise.
45219
45220 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45221 (pupa_upper_mem): Likewise.
45222 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45223 module is too dangerous.
45224
45225 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45226 (pupa_os_area_size): Likewise.
45227 (pupa_loader_set): Remove the first argument. Loader doesn't
45228 manage modules or initrd any longer.
45229 (pupa_loader_load_module): Removed.
45230
45231 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45232 (linux_mod_SOURCES): New variable.
45233 (linux_mod_CFLAGS): Likewise.
45234
a13f9237 452352003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45236
45237 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45238 the length of a blocklist correctly.
45239
45240 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45241 Use ioctl only if the OS file is a block device.
45242 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45243 not very useful for normal files.
45244
45245 * kern/main.c (pupa_set_root_dev): New function.
45246 (pupa_load_normal_mode): Likewise.
45247 (pupa_main): Call those above.
45248
45249 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45250 pupa_uint16_t.
45251
45252 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45253
a5ffe966 452542003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45255
45256 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
45257 (setup): Configure the installed partition information and the
45258 dl prefix.
45259
45260 * loader/i386/pc/chainloader.c (my_mod): New variable.
45261 (pupa_chainloader_unload): New function.
45262 (pupa_rescue_cmd_chainloader): Refer itself.
45263 (PUPA_MOD_INIT): Save its own module in MY_MOD.
45264
45265 * kern/i386/pc/startup.S (install_partition): Removed.
45266 (version_string): Likewise.
45267 (config_file): Likewise.
45268 (pupa_install_dos_part): New variable.
45269 (pupa_install_bsd_part): Likewise.
45270 (pupa_prefix): Likewise.
45271 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
45272
45273 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
45274 and pupa/misc.h.
45275 (make_install_device): New function.
45276 (pupa_machine_init): Set the dl prefix.
45277
45278 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
45279 (buf): Renamed to ...
45280 (linebuf): ... this.
45281 (pupa_rescue_cmd_prefix): New function.
45282 (pupa_rescue_cmd_insmod): Likewise.
45283 (pupa_rescue_cmd_rmmod): Likewise.
45284 (pupa_rescue_cmd_lsmod): Likewise.
45285 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
45286 rmmod and lsmod.
45287
45288 * kern/mm.c (pupa_memalign): If failed even after invalidating
45289 disk caches, unload unneeded modules and retry.
45290
45291 * kern/misc.c (pupa_memmove): New function.
45292 (pupa_memcpy): Removed.
45293 (pupa_strcpy): New function.
45294 (pupa_itoa): Made static.
45295
45296 * kern/dl.c (pupa_dl_iterate): New function.
45297 (pupa_dl_ref): Likewise.
45298 (pupa_dl_unref): Likewise.
45299 (pupa_dl_unload): Return if succeeded or not.
45300 (pupa_dl_unload_unneeded): New function.
45301 (pupa_dl_unload_all): Likewise.
45302 (pupa_dl_init): Renamed to ...
45303 (pupa_dl_set_prefix): ... this.
45304 (pupa_dl_get_prefix): New function.
45305
45306 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
45307 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
45308 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45309 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45310 (pupa_install_dos_part): Declared.
45311 (pupa_install_bsd_part): Likewise.
45312 (pupa_prefix): Likewise.
45313 (pupa_boot_drive): Likewise.
45314
45315 * include/pupa/types.h: Fix a typo.
45316
45317 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
45318 pupa_memmove.
45319 (pupa_memmove): Declared.
45320 (pupa_strcpy): Likewise.
45321
45322 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
45323 pupa_mod_init takes one argument, its own module.
45324 (pupa_dl_unload_unneeded): Declared.
45325 (pupa_dl_unload_all): Likewise.
45326 (pupa_dl_ref): Likewise.
45327 (pupa_dl_unref): Likewise.
45328 (pupa_dl_iterate): Likewise.
45329 (pupa_dl_init): Renamed to ...
45330 (pupa_dl_set_prefix): ... this.
45331 (pupa_dl_get_prefix): Declared.
45332
45333 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 45334 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 45335 unloaded.
45336 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
45337 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
45338
45339 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
45340 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
45341
012d7999 453422003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45343
45344 * util/i386/pc/pupa-setup.c (setup): Define the internal
45345 function find_first_partition_start at the top level, because GCC
45346 3.0.x cannot compile internal functions in deeper scopes
45347 correctly.
45348 (find_root_device): Use lstat instead of stat.
45349 Don't follow symbolic links.
45350 Fix the path-constructing code.
45351
45352 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
45353 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
45354 by a BLKGETSIZE ioctl first, because block devices don't fill
45355 the member st_mode of the structure stat on Linux.
45356 [__linux__] (linux_find_partition): Use a temporary buffer
45357 REAL_DEV for the working space. Copy it to DEV before returning.
45358 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
45359 buffer cache consistent.
45360 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
45361 strncmp. The previous value was merely wrong.
45362 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
45363
45364 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
45365 FAT size is 12. The previous value was merely wrong.
45366
45367 * kern/main.c (pupa_main): Don't split the starting message from
45368 newlines.
45369
45370 * kern/term.c (pupa_putchar): Put CR after LF instead of before
45371 LF, because BIOS goes crazy about character attributes in this
45372 case.
45373
1cc73a62 453742003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45375
45376 * include/i386/pc/util/biosdisk.h: New file.
45377 * util/i386/pc/biosdisk.c: Likewise.
45378 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 45379
1cc73a62 45380 * Makefile.in (INCLUDE_DISTFILES): Added
45381 include/pupa/i386/pc/util/biosdisk.h.
45382 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
45383 directory util/i386/pc.
45384 (install-local): Added a rule for sbin_UTILITIES.
45385 (uninstall): Likewise.
45386
45387 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
45388
45389 * util/misc.c (xrealloc): New function.
45390 (pupa_malloc): Likewise.
45391 (pupa_free): Likewise.
45392 (pupa_realloc): Likewise.
45393 (pupa_stop): Likewise.
45394 (pupa_putchar): Likewise.
45395
45396 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
45397
45398 * include/pupa/util/misc.h (xrealloc): Declared.
45399
45400 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
45401 macro.
45402 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
45403 (PUPA_BOOT_MACHINE_BPB_END): ... this.
45404
45405 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
45406 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45407
45408 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
45409 way should be implemented.
45410 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45411
45412 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
45413 the size of NAME for safety.
45414 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
45415 0x88.
45416
45417 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
45418 (pupa_setup_SOURCES): Likewise.
45419
45420 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
45421
08b70fe8 454222002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45423
45424 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
45425 bunch of pushl's from pusha, because this destroys the return
45426 value.
45427
62ddcc8f 454282002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45429
45430 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
45431 This means that any missing prototypes could be fatal. Also, you
45432 must take care when writing assembly code. See the comments at
45433 the beginning of startup.S, for more details.
f19dbdb7 45434
62ddcc8f 45435 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
45436 compilation mechanism.
45437 (pupa_chainloader_real_boot): Likewise.
45438 (pupa_biosdisk_rw_int13_extensions): Likewise.
45439 (pupa_biosdisk_rw_standard): Likewise.
45440 (pupa_biosdisk_check_int13_extensions): Likewise.
45441 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
45442 (pupa_biosdisk_get_diskinfo_standard): Likewise.
45443 (pupa_get_memsize): Likewise.
45444 (pupa_get_mmap_entry): Likewise.
45445 (pupa_console_putchar): Likewise.
45446 (pupa_console_setcursor): Likewise.
45447 (pupa_getrtsecs): Use pushl instead of push.
45448
45449 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
45450 memory instead of the stack for a mmap entry, because some
45451 BIOSes may ignore the maximum size and overflow.
45452
45453 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
45454
45455 * genmk.rb (PModule#rule): Compile automatically generated
45456 sources with module-specific CFLAGS as well as other sources.
45457
9962ed99 454582002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45459
45460 * configure.ac: Check ld.
45461 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
45462 respectively, before checking endianness and sizes.
45463
45464 * Makefile.in (LD): New variable.
f19dbdb7 45465
abdfc3c5 454662002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45467
45468 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
45469
6a161fa9 454702002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45471
45472 * Changelog: New file.
45473