]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
[grub2.git] / ChangeLog
CommitLineData
7816a17e
VS
12012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4 infinite recursion using counter.
5 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6 init to skip it if the magic check fails.
7 (dec_stream_header): Init s->crc32.
8
8f9d3a8c
ZB
92012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
102012-01-22 Zachary Bedell <pendorbound@gmail.com>
112012-01-22 Richard Laager <rlaager@wiktel.com>
12
13 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14 All users updated.
15 (find_bestub): Determine correct size.
16 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
17 (scan_disk): Align the size down.
18 Call check pool before find_bestub to have ashift.
19
b055dd32
VS
202012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
23 dprintf in no-malloc zone.
24
d779e9bd
ML
252012-01-22 Mario Limonciello <mario_limonciello@dell.com>
26
27 * configure.ac: Add back in test for limits.h.
28
b508af69
VS
292012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30
31 Support 4K-sector NTFS.
32
33 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
34 (grub_ntfs_data): Remove blocksize.
35 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
36 Remove data argument. All users updated.
37
dad9c8b5
VS
382012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
41 being in .text to avoid dprel references.
42 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
43 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
44 (grub_arch_highmemsize): Likewise.
45 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
46 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
47 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
48
d43a777e
VS
492012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
50
51 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
52
53 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
54 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
55
34e4208f
VS
562012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
59 GRUB_UTIL.
60 (grub_set_datetime_cmos): Likewise.
61
3ec0fc1c
VS
622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Make XZ compression parameters dependent on target and not host CPU.
65
66 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
67 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
68
22489834
VS
692012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
72 set but not used variable.
73
8502fbca
VS
742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
77 created when no uuid support is compiled into mkfs.reiser.
78
76df2068
VS
792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
82 (utf8_to_macroman): Do the opposite.
83 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
84
64e3f8f6
VS
852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * configure.ac: Refise build qemu_mips w/o unifont.
88
9c271078
VS
892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
90
91 Eliminate grub_min/grub_max prone to overflow usage.
92
93 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
94 (poll_nonroot_hub): Likewise.
95 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
96 (grub_affs_label): Likewise.
97 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
98 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
99 (grub_hfs_label): Likewise.
100 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
101 * grub-core/fs/zfs/zfs.c (MIN): Remove.
102 (zap_leaf_array_equal): Use grub_size. Remove MIN.
103 (zap_leaf_array_get): Likewise.
104 (dnode_get_path): Likewise.
105 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
106 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
107 * grub-core/script/execute.c (grub_script_break): Likewise.
108 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
109 grub_max.
110 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
111 * include/grub/misc.h (grub_min): Removed.
112 (grub_max): Likewise.
113
80662dbc
VS
1142012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
115
116 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
117 direct.inode = 0.
118
e6da1467
VS
1192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
122
b1ac4cb1
VS
1232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
126
b4bf7c3b
VS
1272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
130 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
131
8ee1101a
VS
1322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
135 rather than a hack for grub_strncasemap.
136
1372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Support multiple initrds
140 Note: part of this was accidently committed in r3739.
141
142 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
143 initrd.
144 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
145 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
146 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
147 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
148 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
149
4d1e2bc9
VS
1502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
153 disks with unknown size.
154 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
155
75b49ebe
VS
1562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
157
158 Remove defines pertaining to arbitrary limits not affecting GRUB
159 anymore.
160
161 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
162 (EXT2_MAX_SYMLINKCNT): Likewise.
163 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
164 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
165 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
166 (GRUB_PXE_MAX_BLKSIZE): Likewise.
167 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
168 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
169 (DN_MAX_OBJECT_SHIFT): Likewise.
170 (DN_MAX_OFFSET_SHIFT): Likewise.
171 (DN_MAX_OBJECT): Likewise.
172 (DNODES_PER_LEVEL_SHIFT): Likewise.
173 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
174 (SPA_MAXBLOCKSIZE): Likewise.
175 (SPA_BLOCKSIZES): Likewise.
176 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
177 (MZAP_MAX_BLKSZ): Likewise.
178
74a1dce7
VS
1792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
182 handle NULL appropriately.
183 Remove MIN.
184
30c7d3ce
VS
1852012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
186
187 Fix efiemu.
188
189 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
190 cpu/types.h.
191 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
192 * configure.ac: Fix efiemu check.
193
3c76ea0c
VS
1942012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
197 grub_probe.
198 Reported by: adamwill
199
7e532280
SG
2002012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
201
202 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
203
30492374
VS
2042012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
205
206 Fix handling of wide characters in gfxterm.
207
208 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
209 (clear_char): Likewise.
210 (paint_char): Skip code == NULL chars.
211 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
212
e70cb72f
VS
2132012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/normal/charset.c: Move comment to right place.
216
5c827cf9
VS
2172012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
220 (GRUB_AFFS_FLAG_FFS): Put back where it was.
221 (grub_affs_mount): Revert the correct version checking.
222
53603892
VS
2232012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * docs/grub.texi (Unicode): Mention several other unsupported features.
226
ff094b9b
VS
2272011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
230 case statements as compile-time one.
231 (direct_read): Prevent spurious warnings.
232 (grub_squash_read_data): Likewise.
233
c029da8a
VS
2342011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
235
236 Various squash4 fixes and LZO and XZ support.
237
238 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
239 Add xzembed source files.
240 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
241 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
242 (grub_squash_inode): New subtype long_dir.
243 (SQUASH_TYPE_LONG_DIR): New inode type.
244 (COMPRESSION): New enum.
245 (XZBUFSIZ): New const.
246 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
247 (read_chunk): Use data->decompress.
248 (zlib_decompress): New function.
249 (lzo_decompress): Likewise.
250 (xz_decompress): Likewise.
251 (squash_mount): Set new data fields.
252 (grub_squash_iterate_dir): Handle long dir.
253 (squash_unmount): Free xzdec and xzbuf.
254 (grub_squash_open): Check ino type.
255 (direct_read): Stylistic fixes. Use data->decompress.
256 (grub_squash_read_data): Likewise.
257 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
258 (get_byte): Likewise.
259 (grub_zlib_disk_read): Removed.
260 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
261 (GRUB_POSIX_BOOL_DEFINED): New define.
262 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
263 * grub-core/lib/xzembed/xz.h: Addmissing includes.
264 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
265 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
266
7a45a539
VS
2672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Don't override more informative errors.
270
271 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
272 * grub-core/font/font.c (open_section): Likewise.
273 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
274 filename. Don't override errors.
275 (grub_cmd_openbsd_ramdisk): Don't override errors.
276 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
277 (grub_cmd_initrd): Likewise.
278 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
279 (grub_cmd_initrd): Likewise.
280 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
281 (grub_cmd_linux): Likewise.
282 (grub_cmd_initrd): Likewise.
283 (grub_cmd_payload): Likewise.
284 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
285 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
286 (grub_cmd_module): Likewise.
287 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
288 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
289 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
290 (grub_cmd_xnu_mkext): Likewise.
291 (grub_cmd_xnu_ramdisk): Likewise.
292 (grub_xnu_check_os_bundle_required): Likewise.
293 (grub_xnu_load_kext_from_dir): Likewise.
294 (grub_cmd_xnu_kextdir): Likewise.
295 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
296
b2d004db
VS
2972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
300 as 1024 in block size field. Found on one of my test images.
301 Small optimisation while on it.
302
ec000eac
VS
3032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
306 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
307 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
308 performance fixes while on it.
309 (grub_sfs_close): Fix memory leak while on it.
310 (grub_sfs_label): Convert Latin1 to UTF-8.
311
f50e1165
VS
3122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
315 space to avoid overflows.
316 (grub_hfs_label): Convert from macroman to UTF-8.
317
2ae254de
VS
3182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
321
0108f491
VS
3222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
325
f45f5f89
VS
3262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * unicode: Import Unicode 6.0 data.
329
4d8c4765
VS
3302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
331
63fa8ef9
VS
332 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
333 outside of range.
334
3352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
338
339 * include/grub/charset.h (grub_getend): New function.
340 * grub-core/script/function.c (grub_script_function_find): Use
341 grub_getend.
342 * grub-core/normal/completion.c (add_completion): Likewise.
343
f3cb4a4e
VS
3442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
347 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
348 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
349 (GRUB_UNICODE_TAG_END): Likewise.
350 (GRUB_UNICODE_LAST_VALID): Likewise.
351
5da8dbc5
VS
3522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
355 len and make it smaller. All users updated.
356 * util/import_unicode.py: Put length and not end character.
357 Check length.
358
8569f13d
VS
3592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
360
361 Make better Unicode-compliant and unify some UTF-8 code pathes.
362
363 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
364 valid character.
365 (grub_is_valid_utf8): Use grub_utf8_process.
366 Check resulting code range.
367 (grub_utf8_to_ucs4): Use grub_utf8_process.
368 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
369 valid character.
370
cc4fddf5
VS
3712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
374
bbc47747
VS
3752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * docs/grub.texi (Filesystems): Mention AFS.
378
f63d6bf4
VS
3792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * docs/grub.texi (Filesystems): Clarify restrictions.
382 (Regexp): Mention non-Unicode regexp behaviour.
383 (Other): Mention non-Unicode matching behaviour.
384
74bbf0db
VS
3852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
386
f63d6bf4 387 Make HFS implementation use MacRoman.
74bbf0db
VS
388
389 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
390 (macroman): New const array.
391 (macroman_to_utf8): New function.
392 (utf8_to_macroman): Likewise.
393 (grub_hfs_find_dir): Use utf8_to_macroman.
394 (grub_hfs_dir): Use macroman_to_utf8.
395 Set case_insensitive.
396
4ea0316e
VS
3972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
400
d3c13cbd
VS
4012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Integrate hints into autogeneration scripts.
404
405 * docs/grub.texi (Filesystems): Add a hostdisk example.
406 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
407 (grub-probe): Add ofpath.
408 * gentpl.py: Remove group nosparc64.
409 * grub-core/commands/search.c (cache_entry): New struct.
410 (cache): New var.
411 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
412 * grub-core/commands/search_wrap.c (options): Add platform-specific
413 hint options.
414 (grub_cmd_search): Handle platform-specific hints.
415 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
416 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
417 (grub_util_biosdisk_data): Likewise.
418 (grub_util_biosdisk_open): Set device_map.
419 (read_device_map): Handle "" as indication of no map.
420 Set device_map.
421 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
422 (grub_util_biosdisk_get_compatibility_hint): New function.
423 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
424 * include/grub/emu/hostdisk.h
425 (grub_util_biosdisk_get_compatibility_hint): New proto.
426 * util/grub-install.in: Don't call grub-mkdevicemap.
427 Add platform-specific hint to load.cfg.
428 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
429 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
430 hints. Set root preliminary to compatibility hint, not to OS name.
431 * util/grub-probe.c (PRINT_*): Add hints.
432 (print): Make static.
433 (escape_of_path): New function.
434 (guess_bios_drive): Likewise.
435 (guess_efi_drive): Likewise.
436 (guess_baremetal_drive): Likewise.
437 (print_full_name): Likewise.
438 (probe): Handle hints.
439 (main): Likewise.
440 * util/ieee1275/devicemap.c: Removed.
441 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
442 updated.
443 (grub_util_devname_to_ofpath): Return NULL on failure.
444
445 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
446 resource leak.
447 * util/getroot.c (grub_util_pull_device): Fix memory leak.
448
449 * po/POTFILES.in: Regenerated.
450
451 Allow purely long options
452
453 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
454 (SHORT_ARG_USAGE): Likewise.
455 (grub_arg_show_help): Compare opt with help_options.
456 (parse_option): Receive opt as argument. If makes big simplificatons.
457 All users updated
458
00ce2df3
VS
4592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
462 Restructure to avoid warning.
463
e77e325f
VS
4642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * util/grub-install.in: Account for possible escaped comma in device
467 name.
468
165099ea
VS
4692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
472 channel.
473
ce4a999d
VS
4742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
477 allocation and zero-setting.
478 (grub_ieee1275_get_devname): Check that alias is complete.
479
379586ad
VS
4802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
483 unaligned segments.
484
9197b0ad
VS
4852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
488 prefix.
489 (grub_ofdisk_open): Check and discard ieee1275 prefix.
490 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
491 Add ieee1275 prefix.
492
edddb7f9
VS
4932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * docs/grub.texi (Filesystems): Update.
496
a1a8b1b9
VS
4972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Support odc, newc and bigendian cpio formats.
500
501 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
502 * grub-core/Makefile.core.def (newc): New module.
503 (odc): Likewise.
504 (cpio_be): Likewise.
505 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
506 (MAGIC): Likewise.
507 (MAGIC2): Likewise.
508 (head) [MODE_ODC]: Adapt for the format.
509 (head) [MODE_NEWC]: Likewise.
510 (head) [!MODE_*]: Write fields of interest as arrays.
511 (MAGIC_USTAR): Removed.
512 (read_number) [MODE_NEWC]: Change to hex.
513 (read_number) [!MODE_*]: Parse binary arrays.
514 (grub_cpio_find_file): Factor out the code for better structure and
515 always use read_number.
516 (grub_cpio_mount): Use MAGIC and MAGIC2.
517 (grub_cpio_dir): Exit on first hook non-0 return.
518 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
519 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
520 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
521 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
522 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
523 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
524 * grub-core/fs/newc.c: New file.
525 * grub-core/fs/odc.c: Likewise.
526 * grub-core/fs/cpio_be.c: Likewise.
527
58eba9ee
VS
5282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
529
530 Fix handling of tar numbers occupying the whole field.
531
532 * grub-core/fs/cpio.c (read_number): New function.
533 (grub_cpio_find_file): Use read_number instead of strtoull.
534
a54a0e12
VS
5352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
538 occupying the whole field size.
539
a6120aca
LA
5402011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
541
542 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
543
a93964ce
VS
5442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
547
3ea1ca46
SG
5482011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
549
550 * grub-core/Makefile.core.def (lzma_decompress): Add missing
551 TARGET_IMG_LDFLAGS.
552
b87f7ef2
VS
5532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * util/getroot.c (ESCAPED_PATH_MAX): New define.
556 (mountinfo_entry): Increase the field size to take escaping into
557 account.
558 (find_root_device_from_libzfs): Add one byte to size of strings for
559 security.
560
62092395
VS
5612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
564 an assert.
565 * util/grub-setup.c (setup): Likewise.
566
1f0b1a77
VS
5672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
570 _LzmaDecodeA.
571
8eba9997
VS
5722011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * docs/grub.texi (Internationalisation): New section.
575
dd0c91e9
VS
5762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * docs/grub.texi (Loopback booting): New section.
579
5802011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
581
582 * util/grub-mkstandalone.in: Fix minor typo errors.
583
198e150a
VS
5842011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
585
586 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
587
588 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
589 net/icmp.c and net/icmp6.c.
590 (http): New module.
591 (priority_queue): Likewise.
592 * grub-core/io/bufio.c: Rewritten.
593 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
594 TYPE_WITH_CONFIGFILE_OPTION.
595 (legacy_commands): Add bootp and dhcp.
596 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
597 (grub_legacy_parse): Likewise.
598 * grub-core/lib/priority_queue.c: New file.
599 * grub-core/net/arp.c: Add missing license header.
600 (arp_find_entry): Removed.
601 (arp_find_entry): Likewise.
602 (grub_net_arp_resolve): Rename to ...
603 (grub_net_arp_send_request): ...this.
604 (grub_net_arp_receive): New card argument.
605 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
606 Set router and DNS server.
607 (grub_net_configure_by_dhcp_ack): Handle routing information.
608 (grub_cmd_bootp): Set checksum.
609 (grub_bootp_init): Remove net_dhcp.
610 * grub-core/net/dns.c: New file.
611 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
612 completion.
613 (get_card_packet): Handle allocation.
614 (grub_efinet_findcards): Set mtu.
615 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
616 (get_card_packet): Handle allocation.
617 (emucard): Set mtu.
618 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
619 (GRUB_MOD_INIT): Set mtu.
620 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
621 mtu.
622 (get_card_packet): Handle allocation.
623 (grub_ofnet_findcards): Set mtu.
624 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
625 assert.
626 (grub_net_recv_ethernet_packet): Handle IPv6.
627 * grub-core/net/http.c: New file.
628 * grub-core/net/icmp.c: Likewise.
629 * grub-core/net/icmp6.c: Likewise.
630 * grub-core/net/ip.c (ip6addr): New type.
631 (ip6hdr): Likewise.
632 (reassemble): Likewise.
633 (cmp): New function.
634 (reassembles): New variable.
635 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
636 (id): New variable.
637 (send_fragmented): New function.
638 (grub_net_send_ip_packet): Rename to ...
639 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
640 Handle non-UDP.
641 (grub_net_recv_ip_packets): Rename to ...
642 (handle_dgram): ... this. Check checksum. Handle non-UDP.
643 (free_rsm): New function.
644 (free_old_fragments): Likewise.
645 (grub_net_recv_ip4_packets): New function.
646 (grub_net_send_ip6_packet): Likewise.
647 (grub_net_send_ip_packet): Likewise.
648 (grub_net_recv_ip6_packets): Likewise.
649 (grub_net_recv_ip_packets): Likewise.
650 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
651 (LINK_LAYER_CACHE_SIZE): New const.
652 (link_layer_find_entry): New function.
653 (grub_net_link_layer_add_address): Likewise.
654 (grub_net_link_layer_resolve_check): Likewise.
655 (grub_net_link_layer_resolve): Likewise.
656 (grub_net_ipv6_get_slaac): Likewise.
657 (grub_net_ipv6_get_link_local): Likewise.
658 (grub_cmd_ipv6_autoconf): Likewise.
659 (parse_ip): Handle one number representation.
660 (parse_ip6): New functoion.
661 (match_net): Handle IPv6.
662 (grub_net_resolve_address): Handle IPv6 and DNS.
663 (grub_net_resolve_net_address): Handle IPv6.
664 (route_cmp): New function.
665 (grub_net_route_address): Find best route.
666 (grub_net_addr_to_str): Handle IPv6.
667 (grub_net_addr_cmp): New function.
668 (grub_net_add_addr): Register local route.
669 (print_net_address): Handle net address.
670 (grub_net_poll_cards): Retransmit TCP.
671 (grub_net_poll_cards_idle_real): Likewise.
672 (have_ahead): New function.
673 (grub_net_seek_real): Use underlying seek.
674 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
675 * grub-core/net/tcp.c: New file.
676 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
677 (cmp): New function.
678 (ack): Likewise.
679 (tftp_receive): Handle unordered input.
680 (destroy_pq): New function.
681 (tftp_close): Close pq.
682 * grub-core/net/udp.c: Put missing license header.
683 (grub_net_udp_socket): New function.
684 (udp_socket_register): Likewise.
685 (grub_net_udp_close): Likewise.
686 (grub_net_recv_udp_packet): Check checksum.
687 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
688 * include/grub/misc.h (grub_memchr): New function.
689 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
690 (grub_net_card_driver): Return buf in recv.
691 (grub_net_slaac_mac_list): New struct.
692 (grub_network_level_protocol_id): Add ipv6.
693 (grub_net_network_level_addr): Likewise.
694 (grub_net_network_level_net_addr): Likewise.
695 (grub_net_app_protocol): Add seek.
696 (grub_net_socket): Removed.
697 (grub_net_sockets): Likewise.
698 (grub_net_socket_register): Likewise.
699 (grub_net_socket_unregister): Likewise.
700 (FOR_NET_SOCKETS): Likewise.
701 (grub_net_add_addr): Add const.
702 (GRUB_NET_BOOTP_*): New enum.
703 (grub_net_addr_cmp): New proto.
704 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
705 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
706 (grub_net_hwaddr_to_str): NEw proto.
707 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
708 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
709 (grub_dns_init): New proto.
710 (grub_dns_fini): Likewise.
711 (grub_net_tcp_retransmit): Likewise.
712 (grub_net_link_layer_add_address): Likewise.
713 (grub_net_link_layer_resolve_check): Likewise.
714 (grub_net_link_layer_resolve): Likewise.
715 (grub_net_dns_lookup): Likewise.
716 (grub_net_add_dns_server): Likewise.
717 (grub_net_remove_dns_server): Likewise.
718 (GRUB_NET_TRIES): New const.
719 (GRUB_NET_INTERVAL): Likewise.
720 * include/grub/net/arp.h: Mostly rewritten.
721 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
722 * include/grub/net/ip.h: Mostly rewritten.
723 * include/grub/net/netbuff.h: Indent.
724 * include/grub/net/tcp.h: New file.
725 * include/grub/net/udp.h: Mostly rewritten.
726 * include/grub/priority_queue.h: New file.
727 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
728 (grub_swap_bytes64_compile_time): Likewise.
729 (grub_cpu_to_be16_compile_time): Likewise.
730 (grub_cpu_to_be32_compile_time): Likewise.
731 (grub_cpu_to_be64_compile_time): Likewise.
732 (grub_be_to_cpu64_compile_time): Likewise.
733
215c1800
VS
7342011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
737 UINT_TO_PTR with cast.
738
c17e546c
VS
7392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
742 don't use them.
743
ff6b18b6
VS
7442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
747 already there.
748
70ffcc93
VS
7492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
752 confusing ipxe.
753
e5f4d260
VS
7542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
757 Add missing const attribute.
758 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
759 Likewise.
760 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
761 Likewise.
762
8e54b4b7
VS
7632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
766 misaligned access.
767 (serpent_setkey): Likewise.
768 (serpent_encrypt_internal): Likewise.
769 (serpent_decrypt_internal): Likewise.
770 (serpent_encrypt): Don't put an alignment-increasing cast.
771 (serpent_decrypt): Likewise.
772 (serpent_test): Likewise.
773
813c0a2b
VS
7742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
777
f2b60fbd
VS
7782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
779
780 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
781
782 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
783 grub_addr_t casts.
784 (PTR_TO_UINT64): Likewise.
785 (PTR_TO_UINT32): Likewise.
786
5ef5c511
VS
7872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * util/grub-mkimage.c (generate_image): Decrease the higher limit
790 because of stack.
791 * util/grub-setup.c (setup): Don't add redundancy past the higher load
792 limit.
793
c476e6df
VS
7942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
797 text_width > available width a bit more gracefully.
798
384ad7cc
VS
7992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
802 current address calculation.
803
96f8caf8
VS
8042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
807 stack.
808 (encode_block): Likewise.
809
276b7a8b
VS
8102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
813 certainety.
814
e3fd394a
VS
8152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
818 non-RS part to avoid RS messing with GDT.
819 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
820 Increase to suit in realmode routines.
821
8222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/kern/i386/realmode.S: Increase alignment.
825 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
826
ee9c2e7a
VS
8272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
830 be deterministic.
831 (syndroms): Compute 0 syndrom.
832 (rs_recover): Use 0 syndrom.
833
7a7f7cc9
VS
8342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
837
a14b16d1
VS
8382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
841 brackets.
842
9f59e9fc
VS
8432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
844
ca1b552c
VS
845 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
846 account.
847 (get_top_pad): Likewise.
848 (get_right_pad): Likewise.
849 (get_bottom_pad): Likewise.
850
8512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 854
e739d698
VS
8552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
858 attribute as the structure isn't guaranteed to be properly aligned.
859 (grub_efi_pci_device_path): Likewise.
860 (grub_efi_pccard_device_path): Likewise.
861 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
862 specify the size of `memory_type'.
863 (grub_efi_vendor_device_path): Likewise.
864 (grub_efi_controller_device_path): Likewise.
865 (grub_efi_acpi_device_path): Likewise.
866 (grub_efi_expanded_acpi_device_path): Likewise.
867 (grub_efi_atapi_device_path): Likewise.
868 (grub_efi_scsi_device_path): Likewise.
869 (grub_efi_fibre_channel_device_path): Likewise.
870 (grub_efi_1394_device_path): Likewise.
871 (grub_efi_usb_device_path): Likewise.
872 (grub_efi_usb_class_device_path): Likewise.
873 (grub_efi_i2o_device_path): Likewise.
874 (grub_efi_mac_address_device_path): Likewise.
875 (grub_efi_ipv4_device_path): Likewise.
876 (grub_efi_ipv6_device_path): Likewise.
877 (grub_efi_infiniband_device_path): Likewise.
878 (grub_efi_uart_device_path): Likewise.
879 (grub_efi_vendor_messaging_device_path): Likewise.
880 (grub_efi_hard_drive_device_path): Likewise.
881 (grub_efi_cdrom_device_path): Likewise.
882 (grub_efi_vendor_media_device_path): Likewise.
883 (grub_efi_file_path_device_path): Likewise.
884 (grub_efi_protocol_device_path): Likewise.
885 (grub_efi_piwg_device_path): Likewise.
886 (grub_efi_bios_device_path): Likewise.
887
cb8f88ea
VS
8882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
891 (grub_ucs4_to_utf8_alloc): Likewise.
892 (grub_ucs4_to_utf8): Likewise.
893 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
894 (grub_ucs4_to_utf8_alloc): Likewise.
895
309e5352
VS
8962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
897
898 AFFS never uses unicode.
899
900 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
901 (grub_latin1_to_utf8): New inline function.
902 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
903
e7987e1b
VS
9042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
907 overflow.
908
efc2616e
VS
9092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
912 (grub_squash_dirent_header): Likewise.
913 (read_chunk): Don't double swap.
914 (grub_squash_iterate_dir): Fix swap sizes.
915
3c349f5a
VS
9162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
919
b453412d
VS
9202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
923 (grub_hfs_iterate_dir): Likewise.
924
12e9d4d1
VS
9252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
926
927 Fix video on platforms where unaligned access is forbidden.
928 Make several optimisations while on it.
929
930 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
931 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
932 (grub_video_fbblit_replace_32bit_1bit): Likewise.
933 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
934 Disable.
935 (grub_video_fbblit_replace_16bit_1bit):
936 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
937 (grub_video_fbblit_replace_8bit_1bit): Likewise.
938 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
939 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
940 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
941 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
942 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
943 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
944 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
945 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
946 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
947 (grub_video_fbblit_replace_index_RGB888): Likewise.
948 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
949 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
950 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
951 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
952 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
953 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
954 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
955 Disable.
956 (grub_video_fbblit_blend_XXX565_1bit):
957 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
958 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
959 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
960 void *.
961 * grub-core/video/fb/video_fb.c (common_blitter)
962 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
963 (grub_video_fb_create_render_target_from_pointer)
964 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
965 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
966 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
967 definition.
968 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
969
ace96609
VS
9702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
973 HH22 and HM10 relocations.
974
fd261d73
VS
9752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
978
e59b7857
VS
9792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
982 allocation succeeded.
983
9b4baaa4
VS
9842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
987 argument a u8 pointer. All users updated.
988 Handle unaligned buffers.
989
dc713193
VS
9902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
993 add_part to workaround compiler bug.
994
30dd48c2
VS
9952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
998
0c6087a8
VS
9992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1002 Reserve alignment invariants.
1003 (grub_multiboot_load): Likewise.
1004 (retrieve_video_parameters): Likewise.
1005 (grub_multiboot_make_mbi): Likewise.
1006
c2e77777
VS
10072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1010 incorrect pointer.
1011
b70b6d11
VS
10122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1015 (grub_pata_pio_write): Likewise.
1016
02a2bf83
VS
10172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 Add noreturn attributes and remove unreachable code.
1020
1021 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1022 code.
1023 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1024 code. Mark as noreturn.
1025 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1026 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1027 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1028 unreachable code.
1029 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1030 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1031 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1032 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1033 * include/grub/kernel.h (grub_main): Mark as noreturn.
1034 * include/grub/reader.h (grub_rescue_run): Likewise.
1035
2019d09e
VS
10362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1039 redundant declaration.
1040
d1c501ee
VS
10412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1044 redundant declaration.
1045 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1046
61664420
VS
10472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1050 to ensure alignment.
1051 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1052 alignment. Ensure tmp alignment.
1053 (grub_cmd_hdparm): Ensure buf alignment.
1054 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1055 to ensure alignment.
1056 (grub_ata_dumpinfo): Ensure text alignment.
1057 (grub_atapi_identify): Preserve alignment invariant.
1058 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1059
0d51ee20
VS
10602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1063 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1064 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1065 * include/grub/misc.h (grub_reboot)
1066 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1067 (grub_halt) [__mips__]: Likewise.
1068
753ef8c1
VS
10692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1072 Remove redundant declaration.
1073 (grub_mmap_get_post64): Likewise.
1074 (grub_mmap_get_upper): Likewise.
1075 (grub_mmap_get_lower): Likewise.
1076
85c85365
VS
10772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1080 uint32_t * to ensure alignment.
1081 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1082
a23f2cc4
VS
10832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1084
93018f64
VS
1085 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1086 uint16_t * to ensure alignment.
1087 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1088 alignment.
1089
10902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
1093 to ensure alignment.
1094 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1095
58acccd6
VS
10962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1099 Handle unaligned pointers.
1100 (u32at): Likewise.
1101 (u64at): Likewise.
1102 (fixup): Use byte access instead of v16at.
1103 (find_attr): Fix imporper usage of v32at.
1104 (read_data): Likewise.
1105 (list_file): Handle byte-swapping and unaligned strings.
1106 (grub_ntfs_label): Likewise.
1107
9b05cad7
VS
11082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1111 as it's not necessarily aligned.
1112
b3950b84
VS
11132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1116 redundant declaration.
1117 (grub_serial_init): Likewise.
1118 (grub_terminfo_init): Likewise.
1119
fcd232b7
VS
11202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1123 function.
1124 (ZAP_HASH_IDX): Likewise.
1125 (ZAP_LEAF_HASH_SHIFT): Likewise.
1126 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1127 (LEAF_HASH): Likewise.
1128 (ZAP_LEAF_NUMCHUNKS): Likewise.
1129 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1130 alignment invariants. Return pointer. All users updated.
1131 (ZAP_LEAF_ENTRY): Make into inline function.
1132 (NBBY): Removed.
1133 (xor): LIkewise.
1134 (xor_out): Use grub_crypto_xor.
1135 (dnode_get_path): Use grub_get_unaligned.
1136 (nvlist_find_value): Likewise.
1137 (grub_zfs_nvlist_lookup_uint64): Likewise.
1138 (grub_zfs_nvlist_lookup_string): Likewise.
1139 (get_nvlist_size): Likewise.
1140 (grub_zfs_open): Likewise.
1141 (fill_fs_info): Likewise.
1142 (grub_zfs_dir): Likewise.
1143 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1144 alignment invariants.
1145 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1146 necessarily aligned.
1147
f138623a
VS
11482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1151
564840dc
VS
11522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1155 arithmetic to conserve alignment invariants.
1156
9b40df20
VS
11572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1160 redundant declaration.
1161 (grub_efiemu_mm_obtain_request): Likewise.
1162 (grub_efiemu_prepare): Likewise.
1163
d1c930f9
VS
11642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1167 to match types.
1168
4c5f3056
VS
11692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1172 case of aunaligned recptr.
1173 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1174 alignment.
1175 (grub_hfsplus_btree_search): Handle unaligned index.
1176
728cba91
VS
11772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1180 to get freetag and skip.
1181
eb561f31
VS
11822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1185 array.
1186 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1187 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1188
20993fbb
VS
11892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1192 name for checksum and fix allocation algorithm.
1193
1f313b94
VS
11942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * include/grub/types.h (grub_properly_aligned_t): New type.
1197 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1198 (grub_get_unaligned16): Add explicit casts.
1199 (grub_get_unaligned32): Likewise.
1200 (grub_get_unaligned64): Likewise.
1201 (grub_set_unaligned16): New function.
1202 (grub_set_unaligned32): Likewise.
1203
47ae27ec
VS
12042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1207
78c2cd1c
VS
12082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1211 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1212 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1213
53072f9b
VS
12142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1217 conditionals.
1218
055dc239
VS
12192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1222 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1223
496bd074
VS
12242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 Unify and improve RAID and crypto xor.
1227
1228 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1229 changed to grub_crypto_xor
1230 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1231 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1232 Use bigger types when possible.
1233
ef6e4335
VS
12342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/disk/raid.c (scan_devices): Fix condition.
1237
5d048bf2
VS
12382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1241 Make name a const ptr.
1242
ee533335
VS
12432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1246 first argument a const pointer.
1247 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1248 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1249 proto.
1250 (grub_children_iterate): Likewise.
1251 (grub_machine_mmap_iterate): Remove redundant declaration.
1252
cc8f3668
VS
12532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1256 (grub_cmd_acpi) [!x86]: Disable EBDA.
1257
c5fc563a
VS
12582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 Enable UTF8 in gnulib regexp.
1261
1262 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1263 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1264 (isupper): Use grub_isupper.
1265 (isascii): New inline function.
1266 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1267 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1268 * grub-core/normal/charset.c (grub_utf8_process): New function.
1269 (grub_utf8_to_utf16): Use grub_utf8_process.
1270 (grub_encode_utf8_character): New function.
1271 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1272 * include/grub/charset.h (grub_utf8_process): New declaration.
1273 (grub_encode_utf8_character): Likewise.
1274 * include/grub/misc.h (grub_islower): New inline function.
1275 (grub_isupper): Likewise.
1276 (grub_strchrsub): Moved down to fix the definitions.
1277
0af2346f
VS
12782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1281 specification.
1282
74dbd244
VS
12832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * include/grub/loader.h (grub_loader_register_preboot_hook):
1286 Use struct preboot * and not void * for handle. All users updated.
1287 (grub_loader_unregister_preboot_hook): Likewise.
1288
1bc8f60d
VS
12892011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1292 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1293 UTF-16-BE. All users updated.
1294 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1295 (grub_hfsplus_iterate_dir): Likewise.
1296 (grub_hfsplus_label): Likewise.
1297
48d6e456
VS
12982011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1301
bf3a3857
VS
13022011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Add missing const qualifiers.
1305
1306 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1307 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1308 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1309 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1310 (grub_lvm_check_flag): Likewise.
1311 * grub-core/efiemu/i386/coredetect.c
1312 (grub_efiemu_get_default_core_name): Likewise
1313 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1314 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1315 * grub-core/fs/ntfs.c (fixup): Likewise.
1316 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1317 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1318 (fzap_lookup): Likewise.
1319 (zap_lookup): Likewise.
1320 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1321 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1322 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1323 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1324 (grub_freebsd_add_meta_module): Likewise.
1325 (grub_cmd_freebsd_module): Likewise.
1326 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1327 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1328 (grub_xnu_writetree_get_size): Likewise.
1329 (grub_xnu_writetree_toheap_real): Likewise.
1330 (grub_xnu_find_key): Likewise.
1331 (grub_xnu_create_key): Likewise.
1332 (grub_xnu_create_value): Likewise.
1333 (grub_xnu_register_memory): Likewise.
1334 (grub_xnu_check_os_bundle_required): Likewise.
1335 (grub_xnu_scan_dir_for_kexts): Likewise.
1336 (grub_xnu_load_kext_from_dir): Likewise.
1337 * grub-core/normal/color.c (color_list): Likewise.
1338 * grub-core/normal/completion.c (current_word): Likewise.
1339 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1340 * grub-core/term/serial.c (grub_serial_find): Likewise.
1341 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1342 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1343 Likewise.
1344 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1345 (grub_freebsd_add_meta_module): Likewise.
1346 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1347 * include/grub/net.h (grub_net_card_driver): Likewise.
1348 (grub_net_card): Likewise.
1349 (grub_net_app_protocol): Likewise.
1350 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1351 * include/grub/serial.h (grub_serial_find): Likewise.
1352 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1353 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1354 (grub_xnu_create_value): Likewise.
1355 (grub_xnu_find_key): Likewise.
1356 (grub_xnu_scan_dir_for_kexts): Likewise.
1357 (grub_xnu_load_kext_from_dir): Likewise.
1358
1359 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1360 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1361 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1362 Moved from here ...
1363 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1364
112b4837
CW
13652011-11-28 Colin Watson <cjwatson@ubuntu.com>
1366
1367 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1368
49e891ac
VS
13692011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1372 (read_device): Fix size calculation.
1373
fd258e5c
RM
13742011-11-25 Robert Millan <rmh@gnu.org>
1375
1376 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1377 (find_root_device_from_libzfs): Add zpool output parser to be used
1378 as fallback when libzfs isn't available.
1379
78845dc2
SG
13802011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1381
1382 * po/Makefile.in.in: Add missing escape-continuation.
1383
adac5211
VS
13842011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1387
10b64f1c
VS
13882011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1391
bb416954
VS
13922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1395
bdfe9eeb
VS
13962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1399
581ffa8a
VS
14002011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/lib/adler32.c: Add missing license specification.
1403 * grub-core/lib/crc64.c: Likewise.
1404 * grub-core/loader/i386/pc/plan9.c: Likewise.
1405 * grub-core/partmap/plan.c: Likewise.
1406
2536cf64
LK
14072011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1408
1409 Add facility to debug GRUB with gdb under qemu.
1410
1411 * grub-core/gdb_grub.in: New file.
1412 * grub-core/gmodule.pl.in: Likewise.
1413 * grub-core/Makefile.core.def (gmodule.pl): New script.
1414 (gdb_grub): Likewise.
1415
bc108a4a
VS
14162011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * util/grub-mount.c (argp_parser): Accept relative pathes.
1419 * util/grub-fstest.c (argp_parser): Likewise.
1420
111c1778
VS
14212011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 Plan9 support.
1424
1425 * Makefile.util.def (libgrubmods): Add
1426 grub-core/partmap/plan.c.
1427 * docs/grub.texi: Notice Plan9 support.
1428 * grub-core/Makefile.core.def (plan9): New module.
1429 (part_plan): Likewise.
1430 * grub-core/loader/i386/pc/plan9.c: New file.
1431 * grub-core/partmap/plan.c: Likewise.
1432 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1433 define.
1434 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1435 * include/grub/mm.h (grub_extend_alloc): New inline function.
1436
c30be3b6
VS
14372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Make Reed-Solomon faster by using power of generator representation of
1440 GF(256)*.
1441
1442 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1443 (gf_double_t): Likewise.
1444 (gf_invert): Removed.
1445 (gf_powx): New array.
1446 (gf_powx_inv): Likewise.
1447 (scratch): Move higher.
1448 (gf_reduce): Removed.
1449 (gf_mul): Use powx.
1450 (gf_invert): Likewise.
1451 (init_inverts): Replaced with ...
1452 (init_powx): ...this. All users updated.
1453 (pol_evaluate): Replace multiplications with additions.
1454 (rs_encode): Likewise.
1455 (gauss_eliminate): Call gf_invert.
1456 (grub_reed_solomon_add_redundancy): Call init_powx.
1457 (grub_reed_solomon_recover): Call init_powx unconditionally.
1458
fa5aeffc
VS
14592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1462
a346b81c
VS
14632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1466 disk->partiton for safety.
1467
d89ee414
VS
14682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1471 Fix a memory leak.
1472 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1473
91ee7b6d
VS
14742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1477
91e5a33d
VS
14782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1481
9edd7be2
VS
14822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 Fix spaces handling in proc/self/mountinfo.
1485
1486 * util/getroot.c (unescape): New function.
1487 (grub_find_root_device_from_mountinfo): Use unescape.
1488
ba102053
VS
14892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 Support ZFS embedding.
1492
1493 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1494 (grub_zfs_fs): Register grub_zfs_embed.
1495
aa94b870
VS
14962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 Fix MIPS compilation.
1499
1500 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1501 * include/grub/offsets.h: Rename decompressor fields from
1502 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1503 * util/grub-mkimage.c (image_targets): Use new names.
1504
5fbdac14
VS
15052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 Defer multiboot device parsing until we're in compressed part.
1508
1509 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1510 bsd_part. setdevice has fallen into disuse.
1511 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1512 (bsd_part): Likewise.
1513 (boot_dev): New variable.
1514 (multiboot_trampoline): Don't parse multiboot device.
1515 Pass multiboot device in %edx.
1516 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1517 grub_boot_device.
1518 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1519 Likewise.
1520 * grub-core/kern/i386/pc/startup.S: Save edx.
1521 (grub_boot_drive): Removed.
1522 (grub_install_dos_part): Likewise.
1523 (grub_install_bsd_part): Likewise.
1524 (grub_boot_device): New variable.
1525 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1526 (grub_install_bsd_part): Likewise.
1527 (grub_boot_drive): Likewise.
1528 (grub_boot_device): New variable.
1529 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1530 Removed.
1531 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1532 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1533 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1534 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1535 * util/grub-install.in: Remove redundant condition.
1536
691cbb58
VS
15372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 Fix bug introduced by previous commit.
1540
1541 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1542
60240b8b
VS
15432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 Use decompressors framework on i386-pc. It increases core size
1546 by 46 bytes but improves compatibility and maintainability.
1547
1548 * grub-core/Makefile.core.def (lzma_decompress): New image.
1549 (kernel): Add i386_pc_ldflags.
1550 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1551 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1552 to real_to_prot, prot_to_real and device info.
1553 * include/grub/offsets.h: Renamed decompressor offsets.
1554 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1555 (image_target_desc): Remove raw_size and rename decompressor fields.
1556 (compress_kernel): Handle lzma.
1557 (generate_image): Handle decompressors on i386-pc.
1558
e9d3421c
VS
15592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * configure.ac: Add -fno-asynchronous-unwind-tables.
1562
2b23074a
VS
15632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 Move assembly code to C by using intwrap. It increases core size
1566 by 88 bytes but improves compatibility and maintainability.
1567
1568 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1569 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1570 ... here. Translated to C.
1571 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1572 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1573 ... here. Translated to C.
1574 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1575 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1576 ... here. Translated to C.
1577 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1578 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1579 ... here. Translated to C.
1580 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1581 * grub-core/term/i386/pc/console.c (grub_console_cls):
1582 ... here. Translated to C.
1583 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1584 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1585 ... here. Translated to C.
1586 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1587 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1588 Translated to C.
1589 * grub-core/term/i386/pc/console.c (int10_9): New function.
1590 (grub_console_putchar): Likewise.
1591 * include/grub/i386/pc/console.h: Removed the not anymore shared
1592 functions.
1593
678f4b67
VS
15942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Move grub_chainloader_real_boot out of the kernel.
1597
1598 * grub-core/Makefile.am: Remove machine/loader.h.
1599 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1600 Removed.
1601 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1602 variable.
1603 (grub_relocator16_keep_a20_enabled): Likewise.
1604 (grub_relocator16_boot): Fill new variables.
1605 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1606 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1607 relocator.
1608 (grub_chainloader_unload): Likewise.
1609 (grub_chainloader_cmd): Likewise.
1610 * include/grub/i386/pc/loader.h: Removed.
1611 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1612 and esi. All initialisers updated.
1613
4626edf6
VS
16142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16152011-11-12 Colin Watson <cjwatson@ubuntu.com>
1616
1617 * Makefile.util.def (grub-mount): New util.
1618 * .bzrignore: Add grub-mount.
1619 * configure.ac: Check for fuse and enable grub-mount if available.
1620 * docs/man/grub-mount.h2m: New file.
1621 * util/grub-mount.c: Likewise.
1622
10f0117b
VS
16232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/commands/efi/fixvideo.c: Gettextize.
1626 * grub-core/commands/hashsum.c: Likewise.
1627 * grub-core/commands/i386/cmostest.c: Likewise.
1628 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1629 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1630 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1631 * grub-core/commands/lsmmap.c: Likewise.
1632 * grub-core/commands/menuentry.c: Likewise.
1633 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1634 * grub-core/commands/setpci.c: Likewise.
1635 * grub-core/loader/i386/bsd.c: Likewise.
1636 * grub-core/loader/i386/linux.c: Likewise.
1637 * util/getroot.c: Likewise.
1638 * util/grub-editenv.c: Likewise.
1639 * util/grub-fstest.c: Likewise.
1640 * util/grub-mkfont.c: Likewise.
1641 * util/grub-mkimage.c: Likewise.
1642 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1643 * util/grub-pe2elf.c: Likewise.
1644 * util/grub-probe.c: Likewise.
1645 * util/grub-setup.c: Likewise.
1646 * util/ieee1275/ofpath.c: Likewise.
1647 * util/misc.c: Likewise.
1648 * util/raid.c: Likewise.
1649
566f779b
RM
16502011-11-11 Robert Millan <rmh@gnu.org>
1651
1652 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1653 __attribute__((unused)) from `os_dev', which *is* being used.
1654
b50787de
VS
16552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1658 forgotten define.
1659 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1660 GRUB_IA64_DL_GOT_ALIGN.
1661 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1662 GRUB_IA64_DL_TRAMP_ALIGN.
1663
119d11c8
VS
16642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 Replace grub_fatal with normal errors in i386 linux loader.
1667
1668 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1669 (allocate_pages): Check find_efi_mmap_size return value.
1670 (grub_e820_add_region): Return error.
1671 (grub_linux_boot): Check mmap return value.
1672
6e0632e2
VS
16732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/commands/acpihalt.c: Gettextized.
1676 * grub-core/commands/cacheinfo.c: Likewise.
1677 * grub-core/commands/cmp.c: Likewise.
1678 * grub-core/commands/efi/loadbios.c: Likewise.
1679 * grub-core/commands/gptsync.c: Likewise.
1680 * grub-core/commands/ieee1275/suspend.c: Likewise.
1681 * grub-core/commands/legacycfg.c: Likewise.
1682 * grub-core/commands/memrw.c: Likewise.
1683 * grub-core/commands/minicmd.c: Likewise.
1684 * grub-core/commands/parttool.c: Likewise.
1685 * grub-core/commands/time.c: Likewise.
1686 * grub-core/commands/videoinfo.c: Likewise.
1687 * grub-core/disk/geli.c: Likewise.
1688 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1689 * grub-core/disk/luks.c: Likewise.
1690 * grub-core/disk/lvm.c: Likewise.
1691 * grub-core/font/font_cmd.c: Likewise.
1692 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1693 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1694 * grub-core/gfxmenu/view.c: Likewise.
1695 * grub-core/kern/emu/hostdisk.c: Likewise.
1696 * grub-core/kern/emu/main.c: Likewise.
1697 * grub-core/kern/emu/misc.c: Likewise.
1698 * grub-core/kern/emu/mm.c: Likewise.
1699 * grub-core/kern/mips/arc/init.c: Likewise.
1700 * grub-core/kern/mips/loongson/init.c: Likewise.
1701 * grub-core/kern/partition.c: Likewise.
1702 * grub-core/lib/i386/halt.c: Likewise.
1703 * grub-core/lib/mips/arc/reboot.c: Likewise.
1704 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1705 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1706 * grub-core/loader/i386/xnu.c: Likewise.
1707 * grub-core/loader/multiboot.c: Likewise.
1708 * grub-core/net/bootp.c: Likewise.
1709 * grub-core/net/net.c: Likewise.
1710 * grub-core/normal/term.c: Likewise.
1711 * grub-core/partmap/bsdlabel.c: Likewise.
1712 * grub-core/parttool/msdospart.c: Likewise.
1713 * grub-core/term/gfxterm.c: Likewise.
1714 * grub-core/term/terminfo.c: Likewise.
1715 * grub-core/video/i386/pc/vbe.c: Likewise.
1716 * util/grub-menulst2cfg.c: Likewise.
1717 * util/grub-mkdevicemap.c: Likewise.
1718 * util/grub-mklayout.c: Likewise.
1719 * util/grub-mkrelpath.c: Likewise.
1720 * util/grub-script-check.c: Likewise.
1721 * util/ieee1275/grub-ofpathname.c: Likewise.
1722 * util/resolve.c: Likewise.
1723
073aa7a9
VS
17242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 Support %1$d syntax.
1727
1728 * tests/printf_unit_test.c: New file.
1729 * Makefile.util.def (printf_test): New test.
1730 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1731
c76b5417
VS
17322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1735 fix.
1736
df067ad1
VS
17372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1740 dprintf.
1741 * grub-core/font/font.c (grub_font_load): Likewise.
1742
5b289bc5
VS
17432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * util/grub-macho2img.c: Add comment concerning gettext.
1746 * grub-core/lib/legacy_parse.c: Likewise.
1747
c1860f87
VS
17482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1751 (grub_xvasprintf): Likewise.
1752
d35d0d37
VS
17532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 Add const keyword to grub_env_get and gettextize week days.
1756
1757 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1758 (grub_read_hook_datetime): Return const char *.
1759 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1760 updated.
1761 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1762 Mark for gettext.
1763 (grub_get_weekday_name): Return const char *. Call gettext.
1764 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1765 char * and len as the argument. All users updated.
1766 (grub_script_argv_split_append): Receive const char *.
1767 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1768 * include/grub/env.h (grub_env_get): Likewise.
1769 (grub_env_read_hook_t): Return const char *.
1770 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1771 (grub_script_argv_split_append): Likewise.
1772
9aed8a71
VS
17732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1776
067fdf00
VS
17772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1780 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1781
a8bd9d39
VS
17822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1785 Fix prototype.
1786
f7ce5baf
VS
17872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 Fix mips compilation.
1790
1791 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1792 normal decoder.
1793 (hashes): Use in embed decoder as well (for sizes).
1794 (dec_stream_header): Fix embed decompressor logic.
1795 (dec_stream_footer): Likewise.
1796
9bb182f3
VS
17972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1800 an error and not a fatal on unrecognised relocation types.
1801
63a9e6f6
VS
18022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1805 Issue error rather than printf on unknown arguments.
1806
4c458569
VS
18072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1810 Make buf a const.
1811
e2d22baf
VS
18122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1815 Fix module name.
1816
53dc8590
VS
18172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1820 leftover debug printf.
1821
6c189294
VS
18222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1825
f7688369
VS
18262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1829 A stylistic fix.
1830
11a775a3
VS
18312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1834
33f784e8
SL
18352011-11-10 Shea Levy <slevy@tieronedesign.com>
1836
1837 Allow all modules to perform serial IO
1838
1839 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1840 * include/grub/serial.h (grub_serial_port_configure): New inline
1841 function.
1842 (grub_serial_port_fetch): Likewise.
1843 (grub_serial_port_put): Likewise.
1844 (grub_serial_port_fini): Likewise.
1845 (grub_serial_find): New proto.
1846
f6276525
VS
18472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Put symlink at the end of the node and fix a potential
1850 memory corruption.
1851
1852 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1853 Make symlink into an array.
1854 (set_rockridge): Set have_symlink and alloc_dirents.
1855 (grub_iso9660_read_symlink): Use new layout.
1856 (grub_iso9660_iterate_dir): Fix memory corruption.
1857 Use new layout.
1858 (grub_iso9660_dir): Set have_symlink.
1859 (grub_iso9660_open): Likewise.
1860
c3591189
VS
18612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 Remove local keyword.
1864
1865 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1866 (version_test_gt): Likewise.
1867 (version_find_latest): Likewise.
1868 (gettext_printf): Likewise.
1869 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1870
cb544caa
VS
18712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1874
45bd824d
VS
18752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Fix ZFS memory and resource leaks.
1878
1879 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1880 All users updated.
1881 Free type on exit.
1882 (fill_vdev_info): New parameter inserted. All users updated.
1883 (check_pool_label): Likewise.
1884 (scan_disk): Likewise.
1885 (scan_devices): Close non-inserted disks.
1886 (fzap_iterate): Free l.
1887 (unmount_device): Free children descripto memory.
1888
ad9a2f44
VS
18892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1892 argument (access out of bounds).
1893
6b68db81
VS
18942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1897 >= 6 drives.
1898
28840fda
VS
18992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1902 Fix declaration.
1903
8a5a3a5b
VS
19042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Fix several memory leaks.
1907
1908 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1909 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1910 (grub_cpio_dir): Likewise.
1911 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1912 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1913 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1914 (grub_romfs_label): Likewise.
1915 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1916 (squash_unmount): New function.
1917 (grub_squash_dir): Fix memory leak.
1918 (grub_squash_open): Likewise.
1919 (grub_squash_read): Likewise.
1920 (grub_squash_mtime): Likewise.
1921 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1922 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1923 * util/grub-fstest.c (fstest): Likewise.
1924
57b01250
VS
19252011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1928 avoid accessing beyond the array.
1929
19e81ba7
VS
19302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1933
52b656c0
VS
19342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 Several AFFS fixes.
1937
1938 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1939 (GRUB_AFFS_FLAG_FFS): Removed.
1940 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1941 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1942 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1943 (grub_fshelp_node): Make block 32-bit.
1944 Add block_cache and last_block_cache.
1945 (grub_affs_read_block): Fill and use block cache.
1946 (grub_affs_read_file): Removed.
1947 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1948 boot block.
1949 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1950 safety.
1951 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1952 space.
1953 (grub_affs_close): Free block cache.
1954 (grub_affs_read): Use grub_fshelp_read_file directly.
1955
438a746a
VS
19562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1959 with no error set.
1960
49a45021
VS
19612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1964 used variable.
1965 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1966 Likewise.
1967
3ae17eb8
VS
19682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1971
1972 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1973 byteswap when needed.
1974
27610c38
VS
19752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 Fix FreeBSD compilation.
1978
1979 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1980 to avoid circular dependency.
1981 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1982 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1983 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1984
4a19b601
VS
19852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Fix ZFS crypto error types.
1988
1989 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1990 (grub_gcm_decrypt): Likewise.
1991 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1992 from PBKDF2.
1993
958ee221
VS
19942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Illumos support.
1997
1998 * Makefile.util.def (10_illumos): New script.
1999 * configure.ac: Set COND_HOST_ILLUMOS.
2000 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2001 Support Illumos calls.
2002 (find_partition_start) [__sun__]: Likewise.
2003 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2004 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2005 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2006 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2007 device.
2008 * util/grub-probe.c (probe) [__sun__]: Do character check.
2009 * util/grub.d/10_illumos.in: New file.
2010
cac14fb6
VS
20112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 Support escaped commas in hostdisk.
2014
2015 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2016 (find_grub_drive): Use unescape_cmp.
2017 (make_device_name): Escape commas.
2018
78e08dc3
VS
20192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2022
9f421dd1
VS
20232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2026 variable.
2027
ed64e9e2
VS
20282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 Support trampoline jumps on powerpc.
2031
2032 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2033 __ia64__ path.
2034 (grub_dl_load_segments): Set mod->sz.
2035 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2036 segments.
2037 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2038 (jump): Likewise.
2039 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2040 function.
2041 (trampoline): New struct.
2042 (trampoline_template): New const.
2043 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2044 * include/grub/dl.h (grub_dl): Add sz element.
2045 [__powerpc__]: Follow __ia64__.
2046 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2047 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2048 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2049 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2050
3084ede4
VS
20512011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 ZFS crypto support.
2054
2055 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2056 * grub-core/Makefile.core.def (zfscrypt): New module.
2057 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2058 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2059 it. All users updated.
2060 (grub_zfs_decrypt): New var.
2061 (grub_zfs_load_key): Likewise.
2062 (zio_checksum_functions): Add SHA256+MAC.
2063 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2064 (zio_read): Handle encrypted blocks.
2065 (zap_verify): Remove incorrect check.
2066 (fzap_iterate): Handle non-standard fzap.
2067 (zap_iterate): Likewise.
2068 (zap_iterate_u64): New function.
2069 (dnode_get_fullpath): Load keys.
2070 * grub-core/fs/zfs/zfscrypt.c: New file.
2071 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2072 (grub_crypto_ecb_encrypt): Make input const.
2073 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2074 (grub_crypto_ecb_encrypt): Make input const.
2075 (GRUB_CIPHER_AES): New macro.
2076 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2077 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2078 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2079 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2080 prefix. All users updated.
2081 (grub_zfs_add_key): New proto.
2082 (grub_zfs_decrypt): Likewise.
2083 (grub_zfs_load_key): Likewise.
2084 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2085 * util/grub-fstest.c (options): Add -K option.
2086 (argp_parser): Likewise.
2087
b632b404
VS
20882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 Support zle compression on ZFS.
2091
2092 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2093 (decomp_table): Add zle.
2094 * include/grub/zfs/zio.h (zio_compress): Add zle.
2095
c7ba4f69
VS
20962011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 Support BtrFS embedding.
2099
2100 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2101 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2102 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2103 * util/grub-setup.c (setup): Use fs embedding if available.
2104 Add additional sanity check.
2105
455377d9
VS
21062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * util/grub-install.in: Fix condition for config_opt.
2109
c2fd16ca
VS
21102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 Support third redundancy strip on raidz3.
2113
2114 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2115 Return error on singularity. All users updated.
2116 (read_device): Don't stop on 3rd failure on raidz3.
2117
8622923b
VS
21182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 Support case-insensitive ZFS subvolumes.
2121
2122 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2123 All users updated.
2124 (zap_hash): Likewise.
2125 (name_cmp): New function.
2126 (zap_leaf_array_equal): New parameter case_insensitive.
2127 All users updated.
2128 (zap_leaf_lookup): Likewise.
2129 (fzap_lookup): Likewise.
2130 (zap_lookup): Likewise.
2131 (dnode_get_path): New parameter case_insensitive. Retrieve case
2132 sensitiviness of a volume. All users updated.
2133 (dnode_get_fullpath): New parameter case_insensitive.
2134 All users updated.
2135 (grub_zfs_dir): Set info.case_insensitiveness.
2136
95f2e860
VS
21372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Support second redundancy strip on raidz(2,3).
2140
2141 * grub-core/fs/zfs/zfs.c (powx): New array.
2142 (powx_inv): Likewise.
2143 (poly): New const.
2144 (xor_out): New function.
2145 (gf_mul): Likewise.
2146 (recovery): Likewise.
2147 (read_device): Use second redundancy strip.
2148
11ee4389
VS
21492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Use a power of generator representation of GF(256) multiplication group
2152 to save space time and complexity.
2153
2154 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2155 (raid6_table2): Likewise.
2156 (powx): New array.
2157 (powx_inv): Likewise.
2158 (poly): New const.
2159 (grub_raid_block_mul): Replace with ...
2160 (grub_raid_block_mulx): ...this.
2161 (grub_raid6_init_table): Rewritten.
2162 (grub_raid6_recover): Use power of generator representation.
2163
09e2763f
VS
21642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2167 for the right device.
2168
8bec9a28
VS
21692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2172 expected by grub-mkimage and it's more clear since there is no implicit
2173 padding.
2174
dbd3a32e
VS
21752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2178 disk.
2179 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2180
182c872a
PMH
21812011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2182
2183 * util/grub-mkrescue.in: Fix handling xorriso option.
2184
1e51cabd
VS
21852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2188 NULL.
2189
9cc3581d 21902011-11-03 crocket <crockabiscuit@gmail.com>
2191
2192 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2193
158dc1ea
VS
21942011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 XZ CRC64 and SHA256 support.
2197
2198 * Makefile.util.def (libgrubmods): Add crc64.c.
2199 * grub-core/Makefile.core.def (crc64): New module.
2200 * grub-core/lib/crc64.c: New file.
2201 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2202 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2203 Fix the type.
2204 (MAX_HASH_SIZE): New define.
2205 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2206 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2207 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2208 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2209 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2210 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2211 Handle non-crc32 hashes.
2212 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2213 (dec_stream_header): Handle non-crc32 hashes.
2214 (dec_stream_footer): Likewise.
2215 (dec_block_header): Likewise.
2216 (dec_main): Likewise.
2217 (xz_dec_init): Likewise.
2218 (xz_dec_reset): Likewise.
2219 (xz_dec_end): Likewise.
2220 * util/import_gcry.py: Add CRC64 line.
2221
9d9b3d2f
VS
22222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2225 as well.
2226
7d0ac931
VS
22272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Make reiserfs label retrieval similar to other *_label functions.
2230
2231 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2232 (REISERFS_MAX_LABEL_LENGTH): Removed.
2233 (REISERFS_LABEL_OFFSET): Likewise.
2234 (grub_reiserfs_label): Rewritten.
2235
22362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2239 field.
2240
cf5ba824
VS
22412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2244
17744004
VS
22452011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2248 drive failure on both raidz and raidz2.
2249
aca5aefc
VS
22502011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 Fix RAIDZ(2) for >= 5 devices.
2253
2254 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2255 asize argument. All users updated.
2256
ce8ca56e
VS
22572011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 Fix RAIDZ(2).
2260
2261 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2262 (fill_vdev_info_real): Set ashift.
2263 (read_device): Rewrite RAIDZ part based on reverse engineering.
2264
7c01e783
VS
22652011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2268 don't report potentially unavialiable fields in debug output.
2269 (find_path): Fix double-free and memory leak.
2270
ce109e84
VS
22712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 Read label on UFS1.
2274
2275 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2276 (grub_ufs_fs): Always set .label.
2277
87661123
VS
22782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 Use shifts in UFS.
2281
2282 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2283 (grub_ufs_data): New field log2_blksz.
2284 (grub_ufs_read_file): Use shifts.
2285 (grub_ufs_mount): Check block size and logarithm it.
2286
46bc1dc2
VS
22872011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2290 long symlinks.
2291
19ee2987
VS
22922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Handle symlinks and long names on tar and cpio.
2295
2296 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2297 (ATTR_FILE): Likewise.
2298 (ATTR_DIR): Likewise.
2299 (ATTR_LNK): Likewise.
2300 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2301 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2302 L and K entries.
2303 (grub_cpio_mount): Zero-fill data.
2304 (handle_symlink): New function.
46bc1dc2
VS
2305 (grub_cpio_dir): Handle symlinks.
2306 (grub_cpio_open): Likewise.
2307 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 2308
c83a08d8
VS
23092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Fix iso9660 filename limitations and fix memory leaks.
2312
2313 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2314 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2315
45cdd3ea
VS
23162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 Fix JFS file name length limitations.
2319
2320 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2321 (grub_jfs_diropen): Fix maximum filename length.
2322 (grub_jfs_getent): Fix filename length.
2323 (grub_jfs_lookup_symlink): Fix size checks.
2324
94ef05c2
VS
23252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2328 string.
2329
785ab8c7
VS
23302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2331
eb0b6b45
VS
2332 Leverage BFS implementation to read AFS.
2333
2334 * Makefile.util.def (libgrubmods): Add afs.c.
2335 * grub-core/Makefile.core.def (afs): New module
2336 * grub-core/fs/afs.c: New file.
2337 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2338
23392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 2342
c4a1628f
VS
23432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/fs/bfs.c: Run indent.
2346
5825b379
VS
23472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 BFS implementation based on the specification.
2350
2351 * grub-core/fs/bfs.c: New file.
2352 * Makefile.util.def (libgrubmods): Add bfs.c.
2353 * grub-core/Makefile.core.def (bfs): New module.
2354
42b2a706
VS
23552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * util/grub-fstest.c (cmd_cp): Clarify error message.
2358 (cmd_cmp): Likewise.
2359
61b99bfc
YB
23602011-10-30 Yves Blusseau <blusseau@zetam.org>
2361
2362 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2363 and befs_be.
2364
faba3d16
VS
23652011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 Remove afs and befs because of copyright problem.
2368
2369 * grub-core/fs/afs.c: Removed.
2370 * grub-core/fs/afs_be.c: Removed.
2371 * grub-core/fs/befs.c: Removed.
2372 * grub-core/fs/befs_be.c: Removed.
2373 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2374 * grub-core/Makefile.core.def (afs): Removed.
2375 (afs_be): Likewise.
2376 (befs): Likewise.
2377 (befs_be): Likewise.
2378
c39224b0
VS
23792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Prefer rockridge over Joliet.
2382
2383 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2384 to ...
2385 (set_rockridge): ... here.
2386 (grub_iso9660_mount): Check rockridge on the primary label when
2387 discovering. Ignore Joliet if Rockridge is present.
2388
e551115a
VS
23892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Use shifts in nilfs2.
2392
2393 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2394 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2395 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2396 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2397 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2398 (grub_nilfs2_entries_per_block): Replaced with ...
2399 (grub_nilfs2_log_entries_per_block_log): ... this.
2400 (grub_nilfs2_blocks_per_group): Replaced with ...
2401 (grub_nilfs2_blocks_per_group_log): ... this.
2402 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2403 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2404 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2405 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2406 (grub_nilfs2_palloc_entry_offset): Replaced ...
2407 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2408 (grub_nilfs2_dat_translate): Use shifts.
2409 (grub_nilfs2_read_inode): Likewise.
2410 (GRUB_MOD_INIT): Ensure that logs are correct.
2411
564dd58c
VS
24122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 Use shifts in minix filesystem.
2415
2416 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2417 (GRUB_MINIX_ZONE2SECT): Likewise.
2418 (grub_minix_data): Replace block_size with log_block_size.
2419 (grub_minix_read_file): Use shifts.
2420 (grub_minix_mount): Check block size and take a logarithm.
2421
ed9ba06d
VS
24222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 Use shifts in squash4.
2425
2426 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2427 (squash_mount): Check block size and take logarithm.
2428 (direct_read): Use shifts.
2429
ad03fe76
VS
24302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 Correct befs block counting logic.
2433
2434 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2435 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2436 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2437 (grub_afs_read_inode): Use block_shift.
2438 (RANGE_SHIFT): New definition.
2439 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2440 unexpected conditions, use shifts and appropriate types.
2441 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2442
6563f63d
VS
24432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/disk/raid.c (scan_devices): Check partition.
2446 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2447
5b1ae25f
VS
24482011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 Support BFS (befs) UUID.
2451
2452 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2453 (grub_afs_small_data_element_header): New struct.
2454 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2455 (grub_afs_read_attribute) [MODE_BFS]: New function.
2456 (grub_afs_iterate_dir): Allocate for complete inode.
2457 (grub_afs_mount): Likewise.
2458 (grub_afs_uuid) [MODE_BFS]: New function.
2459 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2460
f8d82408
VS
24612011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2464 (zfs_unmount): Fix memory leak.
2465
5773fb64
VS
24662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Support NTFS reparse points.
2469
2470 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2471 (symlink_descriptor): New struct.
2472 (grub_ntfs_read_symlink): New function.
2473 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2474 (grub_ntfs_open): Likewise.
2475
91c3fdde
VS
24762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2479
3be82e10
VS
24802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 fstest xnu_uuid subcommand.
2483
2484 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2485 grub-core/commands/xnu_uuid.c.
2486 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2487 (fstest): Handle xnu_uuid.
2488 (options): Document xnu_uuid.
2489 (argp_parser): Parse xnu_uuid.
2490
8e32442e
VS
24912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2494 -l argument. Add newline at the end if printing.
2495 (GRUB_MOD_INIT): Document -l.
2496
52a05075
VS
24972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2500
1869edb5
VS
25012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 ZFS multi-device and version 33 support.
2504
2505 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2506 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2507 (grub_zfs_data): Add multidev-ice-related fields.
2508 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2509 (dva_get_offset): Make dva const.
2510 (zfs_fetch_nvlist): New function.
2511 (fill_vdev_info_real): Likewise.
2512 (fill_vdev_info): Likewise.
2513 (check_pool_label): Likewise.
2514 (scan_disk): Likewise.
2515 (scan_devices): Likewise.
2516 (read_device): Likewise.
2517 (read_dva): Likewise.
2518 (zio_read_gang): Use read_dva.
2519 (zio_read_data): Likewise.
2520 (zap_leaf_lookup): Add missing endian conversion.
2521 (zap_verify): Add missing endian conversion. All users updated.
2522 (fzap_lookup): Likewise.
2523 (fzap_iterate): Likewise.
2524 (dnode_get_path): Handle SA bonus.
2525 (nvlist_find_value): Make input const. All users updated.
2526 (unmount_device): New function.
2527 (zfs_unmount): Use unmount_device.
2528 (zfs_mount): Use scan_disk.
2529 (zfs_mtime): New function.
2530 (grub_zfs_open): Handle system attributes.
2531 (fill_fs_info): Likewise.
2532 (grub_zfs_dir): Likewise.
2533 (grub_zfs_fs): Add mtime.
2534 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2535 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2536 (SA_MTIME_OFFSET): Likewise.
2537 (SA_SYMLINK_OFFSET): Likewise.
2538 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2539 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2540 (fstest): Support zfsinfo.
2541 (argp_parser): Likewise.
2542
186b4028
VS
25432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2546 error.
2547
25482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
2549
2550 ZFS fixes.
2551
2552 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2553 sharing the same block. Iterate over correct number of indices.
2554 (dnode_get_path): Handle symlinks correctly.
2555
c0584900
VS
25562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2559
67e2bd71
VS
25602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 Read label on HFS+.
2563
2564 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2565 (grub_hfsplus_btree_search): Fix types.
2566 (grub_hfsplus_label): Implement.
2567
e9cc6b7b
VS
25682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2571
19832ddb
VS
25722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2575
66b40850
VS
25762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 Fix symlink handling on iso9660.
2579
2580 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2581 All users updated.
2582 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2583 (grub_iso9660_read_symlink): Moved most of code ...
2584 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2585
db821363
VS
25862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2589 Use union to avoid breaking strict-aliasing rules.
2590
e1211949
VS
25912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Support multi-extent iso files.
2594
2595 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2596 Add node.
2597 (grub_fshelp_node): Revamp. All users updated.
2598 (FLAG_*): New enum.
2599 (read_node): New function.
2600 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2601 All users updated.
2602 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2603 (get_node_size): New function.
2604 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2605 entries.
2606 Fix memory leak on . and ..
2607 (grub_iso9660_read): Use read_node.
2608 (grub_iso9660_close): Free node.
2609
d4888031
VS
26102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 Fix tar 4G limit and handle paths containing dot.
2613
2614 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2615 (canonicalize): New function.
2616 (grub_cpio_find_file): Use canonicalize. Store offs in
2617 grub_disk_addr_t.
2618 (grub_cpio_dir): Use grub_disk_addr_t.
2619 (grub_cpio_open): Likewise.
2620
9f12e664
VS
26212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2624
2625 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2626 unused flags.
2627 (grub_squash_inode): Add long_file and block_size.
2628 (grub_squash_cache_inode): New struct.
2629 (grub_squash_dirent): Make types into enum.
2630 (SQUASH_TYPE_LONG_REGULAR): New type.
2631 (grub_squash_frag_desc): Add field size.
2632 (SQUASH_BLOCK_FLAGS): New enum.
2633 (grub_squash_data): Use grub_squash_cache_inode.
2634 (grub_fshelp_node): Make ino_chunk 64-bit.
2635 (read_chunk): Minor argument change. All users updated.
2636 (squash_mount): Use correct le_to_cpu.
2637 (grub_squash_open): Handle LONG_REGULAR.
2638 (direct_read): New function.
2639 (grub_squash_read_data): Handle blocks correctly.
2640
9f326fba
VS
26412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2644
f4d9b64b
VS
26452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2648
5bbd28b8
VS
26492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 Fix 2G limit on ZFS.
2652
2653 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2654 types.
2655 (uberblock_verify): Likewise.
2656 (dmu_read): Likewise.
2657 (grub_zfs_read): Likewise. Remove invalid cast.
2658
68c72069
VS
26592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2662 (grub_jfs_blkno): Fix incorrect shift.
2663 (grub_jfs_read_file): Use more appropriate types.
2664
6e536dc8
VS
26652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 Support triple indirect on minix2 and minix3.
2668
2669 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2670 Declare triple_indir_zone.
2671 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2672 indirect.
2673
e0864e7a
VS
26742011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 Minix FS fixes.
2677
2678 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2679 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2680 Rename ctime to mtime. All users updated.
2681 (grub_minix_get_file_block): Fix types and double indirect computations.
2682
89481cab
VS
26832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2686 if no label is found.
2687 (grub_fat_iterate_dir): Fix file size type.
2688 (grub_fat_iterate_dir): Likewise.
2689
f646e143
VS
26902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2693 save some space.
2694 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2695 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2696
534d769e
VS
26972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2700
e084ba18
VS
27012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * util/import_gcry.py: Accept space between # and include.
2704
3471ecdf
VS
27052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2708
124df5f6
VS
27092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2712
2713 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2714 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2715 yylex_strncpy.
2716 * grub-core/script/yylex.l: Add fine-grained #pragma.
2717
4defb8d5
VS
27182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2721 New inline function.
2722 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2723 Likewise.
2724 (memset) [GRUB_UTIL]: Likewise.
2725 (memcmp) [GRUB_UTIL]: Likewise.
2726
4e94ae65
VS
27272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2730 inline function rather than a define.
2731
18c575e5
VS
27322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * util/grub-setup.c: Add missing include.
2735
f8bc22a8
VS
27362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * util/ieee1275/grub-ofpathname.c: Add missing include.
2739
3ce69fc9
VS
27402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2743 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2744 Likewise.
2745
d1e293bb
VS
27462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2749 grub_memcmp usage.
2750
7a5c54a4
VS
27512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * util/grub-install.in: Add datarootdir as per automake manual
2754 suggestion.
2755 * util/grub-mknetdir.in: Likewise.
2756
27572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
2758
2759 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2760 suggestion.
2761 * util/grub.d/10_kfreebsd.in: Likewise.
2762 * util/grub.d/10_linux.in: Likewise.
2763 * util/grub.d/10_netbsd.in: Likewise.
2764 * util/grub.d/10_windows.in: Likewise.
2765 * util/grub.d/20_linux_xen.in: Likewise.
2766
766f7d08
VS
27672011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Remove redundant grub_kernel_image_size.
2770
2771 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2772 _edata and _start.
2773 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2774 the small code. It moves it only by few bytes but simplifies the code.
2775 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2776 _start.
2777 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2778 (grub_kernel_image_size): Removed.
2779 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2780 (grub_kernel_image_size): Removed.
2781 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2782 compiled with Apple toolchain.
2783 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2784 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2785 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2786 (grub_total_module_size): Likewise.
2787 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2788 Removed.
2789 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2790 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2791 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2792 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2793 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2794 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2795 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2796 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2797 Removed.
2798 (grub_total_module_size): Removed.
2799 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2800 (image_targets): Likewise.
2801 Set .compressed_size to no field on sparc.
2802 (generate_image): Remove kernel_image_size handling.
2803
fcf1d672
SJ
28042011-10-19 Szymon Janc <szymon@janc.net.pl>
2805
2806 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2807 NULL pointer dereference.
2808
de9c615e
VS
28092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2812 done with a dedicated section.
2813
2814 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2815 Ensure the correct position of boot_path.
2816 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2817 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2818 other fields.
2819 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2820 * include/grub/boot.h: Removed. All references removed.
2821 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2822 Removed.
2823 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2824
e55599dc
VS
28252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2828 name.
2829
36dd20ad
VS
28302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2833
f8f72eb8
VS
28342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2837 Don't add the bogus brackets.
2838
a374751b
VS
28392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 ExFAT support.
2842
2843 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2844 * grub-core/Makefile.core.def (exfat): New module.
2845 * grub-core/fs/exfat.c: New file.
2846 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2847 (GRUB_FAT_ATTR_*): Make into an enum.
2848 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2849 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2850 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2851 (GRUB_FAT_MAXFILE): Removed.
2852 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2853 (grub_current_fat_bpb_t): New type.
2854 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2855 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2856 (grub_fat_dir_node_t): New type.
2857 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2858 (fat_log2) [MODE_EXFAT]: Removed.
2859 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2860 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2861 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2862 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2863 (grub_fat_label) [MODE_EXFAT]: New function.
2864 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2865 reserved_first_sector to 0.
2866
544c2487
VS
28672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 Move grub_reboot out of the kernel.
2870
2871 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2872 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2873 * grub-core/lib/efi/reboot.c: ... here.
2874 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2875 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2876 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2877 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2878 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2879 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2880 * grub-core/lib/ieee1275/reboot.c: ... here.
2881 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2882 * grub-core/lib/mips/arc/reboot.c: ... here.
2883 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2884 * grub-core/lib/mips/loongson/reboot.c: ...here.
2885 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2886 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2887 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2888 * include/grub/i386/reboot.h: New file.
2889 * include/grub/mips/loongson/ec.h: Fix includes.
2890 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2891 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2892 * grub-core/lib/i386/reboot.c: New file.
2893
a97501d2
VS
28942011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Make grub_prefix into module to fix the arbitrary limit and save
2897 some space.
2898
2899 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2900 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2901 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2902 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2903 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2904 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2905 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2906 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2907 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2908 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2909 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2910 * include/grub/ia64/efi/kernel.h: Removed.
2911 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2912 (grub_prefix): Removed.
2913 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2914 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2915 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2916 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2917 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2918 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2919 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2920 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2921 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2922 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2923 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2924 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2925 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2926 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2927 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2928 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2929 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2930 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2931 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2932 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2933 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2934 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2935 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2936 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2937 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2938 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2939 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2940 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2941 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2942 from module.
2943 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2944 prefix_end.
2945 (image_targets): Likewise.
2946 (generate_image): Put prefix as a module.
2947
39705fad
VS
29482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 Replace grub_module_iterate with FOR_MODULES.
2951
2952 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2953 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2954 (grub_efi_modules_addr): ...this.
2955 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2956 (grub_efi_init): Set grub_modbase.
2957 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2958 (grub_modbase): New variable.
2959 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2960 (grub_modbase): New variable.
2961 (grub_machine_init): Set grub_modbase.
2962 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2963 (grub_modbase): New variable.
2964 (grub_machine_init): Set grub_modbase.
2965 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2966 (grub_modbase): New variable.
2967 (grub_machine_init): Set grub_modbase.
2968 * grub-core/kern/main.c (grub_module_iterate): Remove.
2969 (grub_modules_get_end): Use grub_modbase.
2970 (grub_load_modules): Use FOR_MODULES.
2971 (grub_load_config): Likewise.
2972 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2973 (grub_modbase): New variable.
2974 (grub_machine_init): Set grub_modbase.
2975 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2976 (grub_modbase): New variable.
2977 (grub_machine_init): Set grub_modbase.
2978 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2979 Removed.
2980 (grub_modbase): New variable.
2981 (grub_machine_init): Set grub_modbase.
2982 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2983 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2984 (grub_module_iterate): Likewise.
2985 (grub_modbase): New variable declaration.
2986 (FOR_MODULES): New macro.
2987
2afb7f6c
VS
29882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2991 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2992
366e34fa
VS
29932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 Fix few obvious type discrepancies.
2996
2997 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2998 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2999 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3000 variable.
3001 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3002 and connected types.
3003 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3004 offset.
3005 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3006 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3007 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3008 and connected types.
3009
177b960e
VS
30102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Fix python 3.x incompatibilities.
3013
3014 * gentpl.py: Put brackets around print strings.
3015 * util/import_gcry.py: Open explicitly as utf-8.
3016 Use in instead of has_key.
3017
3b619ae1
VS
30182011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3021 (GRUB_XFS_INO_AGBITS): Make into inline function.
3022 (GRUB_XFS_INO_INOINAG): Likewise.
3023 (GRUB_XFS_INO_AG): Likewise.
3024 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3025 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3026 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3027 (GRUB_XFS_EXTENT_SIZE): Likewise.
3028 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3029 (GRUB_XFS_NEXT_DIRENT): Likewise.
3030 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3031 (grub_xfs_read_file): Fix offset type.
3032
8bcebcb8
RM
30332011-10-15 Robert Millan <rmh@gnu.org>
3034
3035 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3036
0017e5ef
RM
30372011-10-15 Robert Millan <rmh@gnu.org>
3038
3039 Fix build problem on FreeBSD and GNU/kFreeBSD.
3040
3041 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3042
d8919552
VS
30432011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3046
3047 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3048 types.
3049 (grub_hfsplus_btree_recoffset): Likewise.
3050 (grub_hfsplus_btree_recptr): Likewise.
3051 (grub_hfsplus_find_block): Likewise.
3052 (grub_hfsplus_btree_search): Likewise.
3053 (grub_hfsplus_read_block): Likewise.
3054 (grub_hfsplus_read_file): Likewise.
3055 (grub_hfsplus_mount): Likewise.
3056 (grub_hfsplus_btree_iterate_node): Likewise.
3057 (grub_hfsplus_btree_search): Likewise.
3058 (grub_hfsplus_iterate_dir): Likewise.
3059 (grub_hfsplus_read): A small code simplification.
3060
c81296b6
VS
30612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/kern/emu/hostdisk.c
3064 (convert_system_partition_to_system_disk): Don't assume that children
3065 of mapper nodes are mapper nodes.
3066
0eb8ffb1
VS
30672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3070 * include/grub/misc.h (grub_isxdigit): New function.
3071 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3072 switched to grub_isxdigit.
3073 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3074 number starting with a letter.
3075
a98f4a08
RM
30762011-10-09 Robert Millan <rmh@gnu.org>
3077
3078 LVM support for FreeBSD and GNU/kFreeBSD.
3079
3080 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3081 GNU/kFreeBSD.
3082 (LVM_DEV_MAPPER_STRING): Move from here ...
3083 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3084 * util/getroot.c: Include `<grub/util/lvm.h>'.
3085 (grub_util_get_dev_abstraction): Enable
3086 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3087 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3088 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3089 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3090 support it.
3091 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3092 GNU/kFreeBSD.
3093 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3094 when LVM abstraction is required for ${GRUB_DEVICE}.
3095
050e8e90
SJ
30962011-10-06 Szymon Janc <szymon@janc.net.pl>
3097
3098 Add support for LZO compression in GRUB:
3099 - import of minilzo library,
3100 - LZO decompression for btrfs,
3101 - lzop files decompression.
3102
3103 * grub-core/io/lzopio.c: New file.
3104 * grub-core/lib/adler32.c: Likewise.
3105 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3106 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3107 * grub-core/lib/minilzo/minilzo.c: Likewise.
3108 * grub-core/lib/minilzo/minilzo.h: Likewise.
3109 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3110 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3111 grub-core/lib/minilzo/minilzo.c to common.
3112 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3113 cflags in cppflags.
3114 * grub-core/Makefile.core.def (btrfs): Likewise.
3115 * grub-core/Makefile.core.def (lzopio): New module.
3116 (adler32): Likewise.
3117 * grub-core/fs/btrfs.c: Include minilzo.h.
3118 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3119 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3120 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3121 (grub_btrfs_lzo_decompress): New function.
3122 (grub_btrfs_extent_read): Add support for LZO compression type.
3123 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3124 (GRUB_USHRT_MAX): Likewise.
3125 (GRUB_UINT_MAX): Likewise.
3126 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3127 (UINT_MAX): Likewise.
3128 (CHAR_BIT): Likewise.
3129 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3130 grub-core/lib/posix_wrap/limits.h
3131 (UCHAR_MAX): Likewise.
3132 * include/grub/file.h (grub_file_filter_id): New compression filter
3133 GRUB_FILE_FILTER_LZOPIO.
3134 * include/grub/file.h (grub_file_filter_id): Set
3135 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3136 * include/grub/types.h (grub_get_unaligned16): New function.
3137 (grub_get_unaligned32): Likewise.
3138 (grub_get_unaligned64): Likewise.
3139 * util/import_gcry.py (cryptolist): Add adler32.
3140
0eb8ffb1
VS
31412011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3144 in perspective decreases the complexity of build system and fixes
3145 compilation right now.
3146
ce79cc99 31472011-10-01 Ales Nesrsta <starous@volny.cz>
3148
3149 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3150 (fixed problem related to using UHCI with coreboot).
3151
8667a314
BC
31522011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3153
3154 * gentpl.py: Use Autogen macros so that the output template file
3155 (Makefile.tpl) size is reduced.
3156
fc5efcc0
MK
31572011-09-29 Mads Kiilerich <mads@kiilerich.com>
3158
3159 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3160 extra_dist.
3161
d1ab689d
ML
31622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3163
3164 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3165 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3166
c05de032
ML
31672011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3168
3169 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3170 _fullpath.
3171
cca7ccd8
ML
31722011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3173
3174 Remove extra declaration of sleep for mingw32.
3175
3176 * util/misc.c (sleep) [__MINGW32__]: Removed.
3177 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3178
e0b0dc83
GS
31792011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3180
3181 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3182 type and packname.
3183 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3184 Resurrected.
3185 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3186 (grub_netbsd_btinfo_bootwedge): New struct.
3187 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3188 New function.
3189 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3190
91a1a164
TH
31912011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3192
3193 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3194 loader.
3195
2ded951e
AB
31962011-09-28 Andreas Born <futur.andy@googlemail.com>
3197
3198 Fix incorrect identifiers in bash-completion.
3199
3200 * util/bash-completion.d/grub-completion.bash.in
3201 (_grub_mkpasswd-pbkdf2): Rename to ...
3202 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3203 (_grub_script-check): Rename to ...
3204 (_grub_script_check): ... this. All users updated.
3205
69915030
VS
32062011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3209 Return 0 if disk isn't biosdisk.
3210
20fd15f9
GS
32112011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3212
3213 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3214 on NetBSD.
3215 * Makefile.util.def (grub-fstest): Likewise.
3216
1a7d7db9
GS
32172011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3218
3219 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3220 Get sector size from disk label.
3221
2221ab6c
CW
32222011-09-05 Colin Watson <cjwatson@ubuntu.com>
3223
3224 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3225 */README* as well as README*.
3226 Reported by: Axel Beckert.
3227
ca51c4a0
VS
32282011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3231 case of less than 256 MiB of RAM.
3232
ab80f326
VS
32332011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/commands/wildcard.c (make_regex): Handle @.
3236
4155e697
VS
32372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3240
ab178c08
SJ
32412011-08-21 Szymon Janc <szymon@janc.net.pl>
3242
3243 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3244 AC_LANG_CONFTEST macros.
3245
7dc3c686
SJ
32462011-08-20 Szymon Janc <szymon@janc.net.pl>
3247
3248 Add grub-fstest option to uncompress data for commands.
3249
3250 * util/grub-fstest.c (uncompress): New var.
3251 (options): New option -u.
3252
fe8d4a7b
SJ
32532011-08-20 Szymon Janc <szymon@janc.net.pl>
3254
3255 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3256 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3257
a5219af1
SJ
32582011-08-20 Szymon Janc <szymon@janc.net.pl>
3259
3260 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3261 file type was not recognized correctly (not gzip or corrupted).
3262
f87abff5
VS
32632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3266 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3267
d94497ea
VS
32682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3271 loongson.
3272 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3273 video_radeon_fuloong2e.
3274 * grub-core/video/radeon_fuloong2e.c: New file.
3275 * include/grub/video.h (grub_video_id_t): Add new ID
3276 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3277
0d1fd011
VS
32782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3281 define.
3282 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3283 that PRID matches the detected subplatform and reset the subplatform
3284 if it doesn't.
3285
84beb0ee
VS
32862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3289
1227c133
VS
32902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 Fix PCI iterating on functions >= 4.
3293
3294 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3295 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3296 Removed.
3297 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3298 (grub_pci_read): Fix bitmask.
3299 (grub_pci_read_word): Likewise.
3300 (grub_pci_read_byte): Likewise.
3301 (grub_pci_write): Likewise.
3302 (grub_pci_write_word): Likewise.
3303 (grub_pci_write_byte): Likewise.
3304
9594c689
VS
33052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3308 can still be specified in TARGET_CFLAGS)
3309
14a2562c
VS
33102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3313
3314 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3315 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3316 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3317 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3318 (FULOONG): Rename to ...
3319 (FULOONG2F): ... this. All users updated.
3320 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3321 (machtype_fuloong2f_str): ... this.
3322 (machtype_fuloong2e_str): New string.
3323 Check for machtype_fuloong2e_str.
3324 * grub-core/loader/mips/linux.c (loongson_machtypes)
3325 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3326 * grub-core/term/serial.c (loongson_defserial)
3327 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3328 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3329 loongson_defserial.
3330 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3331 Rename to ...
3332 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3333 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3334 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3335 to IMAGE_FULOONG2F_FLASH. All users updated.
3336 (image_targets): Rename images.
3337 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3338
b526cbb6
SJ
33392011-08-19 Szymon Janc <szymon@janc.net.pl>
3340
3341 Make enable of disk cache statistics code configurable.
3342
3343 * configure.ac: --enable-cache-stats added.
3344 * config.h.in (DISK_CACHE_STATS): New define.
3345 * grub-core/Makefile.core.def (cacheinfo): New command.
3346 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3347 * grub-core/commands/cacheinfo.c: New file.
3348 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3349 moved to cacheinfo.c.
3350 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3351 debug code.
3352 * include/grub/disk.h: Likewise.
3353
fb739ccd
SJ
33542011-08-19 Szymon Janc <szymon@janc.net.pl>
3355
3356 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3357 * grub-core/Makefile.am: Likewise.
3358
2bba8cfd
VS
33592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3362 non-zero pull.
3363
43526629
VS
33642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3367 All users updated.
3368 (grub_jfs_lookup_symlink): Use correct starting inode.
3369
5c144cc8
VS
33702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * util/grub-setup.c (main): Add missing gcry initialisation.
3373
b1257f65
VS
33742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Don't accept text modes on EFI when booting Linux.
3377
3378 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3379 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3380
828bc390
ML
33812011-08-15 Mario Limonciello <mario_limonciello@dell.com>
33822011-08-15 Colin Watson <cjwatson@ubuntu.com>
3383
3384 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3385 use of "/path/.." as in grub-install for EFI as well as handling
3386 symlinks correctly.
3387 Fixes Debian bug #637768.
3388
5f60ccac
CW
33892011-08-15 Colin Watson <cjwatson@ubuntu.com>
3390
3391 * util/grub-probe.c: Remove duplicate #include.
3392
6dc212f9
RM
33932011-08-10 Robert Millan <rmh@gnu.org>
3394
3395 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3396
3397 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3398 function.
3399 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3400 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3401
66816d85
RM
34022011-08-03 Robert Millan <rmh@gnu.org>
3403
3404 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3405 la_array as packed.
3406 Reported by: Zachary Bedell
3407
20168fca
CW
34082011-07-26 Colin Watson <cjwatson@ubuntu.com>
3409
3410 * configure.ac: The Loongson port requires grub-mkfont due to its
3411 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3412 be built.
3413
303b6246
CW
34142011-07-26 Colin Watson <cjwatson@ubuntu.com>
3415
3416 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3417 processing arguments (otherwise help2man fails when GRUB has not yet
3418 been installed).
3419
6795300e
VS
34202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3421
41aa28ea
VS
3422 New script grub-mkstandalone.
3423
3424 * Makefile.util.def (grub-mkstandalone): New script.
3425 * docs/man/grub-mkstandalone.h2m: New file.
3426 * util/grub-mkstandalone.in: Likewise.
3427
34282011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 Support ATA disks with 4K sectors.
6795300e
VS
3431
3432 * include/grub/ata.h (grub_ata): New member log_sector_size.
3433 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3434 (grub_ata_identify): Read sector size.
3435 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3436
92227597
VS
34372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * util/grub-install.in: Don't use uhci outside of x86.
3440
c77069f5
VS
34412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * util/grub-mkrescue.in: Add missing quotes.
3444
34452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3446
3447 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3448 dereference.
3449
583168a2
VS
34502011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3453
6be1c01f
VS
34542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * include/grub/video.h: add missing EXPORT_FUND on
3457 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3458
a1167439
VS
34592011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * include/grub/mips/kernel.h: Fix define conflict.
3462
bf66054f
VS
34632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3466 all four ways.
3467
8fc4fa45
CW
34682011-07-21 Colin Watson <cjwatson@ubuntu.com>
3469
3470 Preferred resolution detection for VBE.
3471
3472 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3473 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3474 the Flat Panel extension, in line with the X.org VESA driver.
3475 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3476 New function.
3477 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3478 (grub_vbe_bios_read_edid): Likewise.
3479 (grub_vbe_get_preferred_mode): Likewise.
3480 (grub_video_vbe_setup): When the mode is "auto", try to get the
3481 preferred mode from VBE, and use the largest mode that is no larger
3482 than the preferred mode (some BIOSes expose a preferred mode that is
3483 not in their mode list!). If this fails, fall back to 640x480 as a
3484 safe conservative choice.
3485 (grub_video_vbe_get_edid): New function.
3486 (grub_video_vbe_adapter): Add get_edid.
3487 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3488 (struct grub_video_adapter): Add get_edid.
3489 (grub_video_edid_checksum): Add prototype.
3490 (grub_video_edid_preferred_mode): Likewise.
3491 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3492 structure.
3493
3494 * grub-core/commands/videoinfo.c (print_edid): New function.
3495 (grub_cmd_videoinfo): Print EDID if available.
3496
3497 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3498 is more appropriate on a wider range of platforms than 640x480.
3499 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3500 documentation.
3501
ca5572a9
VS
35022011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3505
e4bcf625
VS
35062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * po/POTFILES.in: Regenerate.
3509
c4edd548
VS
35102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3513 incorrect memory usage.
3514
16a2bab0
VS
35152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * util/grub-install.in: Source grub-mkconfig_lib.
3518
2e418de6
VS
35192011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 Remove getroot.c from core on emu platform.
3522
3523 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3524 kern/emu/raid.c.
3525 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3526 useless.
3527 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3528 * util/getroot.c (get_win32_path): ... here.
3529 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3530 * util/getroot.c (fini_libzfs): ... here.
3531 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3532 * util/getroot.c (grub_get_libzfs_handle): ... here.
3533 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3534 Moved from here...
3535 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3536 * grub-core/kern/emu/misc.c
3537 (grub_make_system_path_relative_to_its_root): Moved from here...
3538 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3539 * grub-core/kern/emu/getroot.c: Moved from here ...
3540 * util/getroot.c: ... here. All users updated.
3541 * grub-core/kern/emu/raid.c: Moved from here ...
3542 * util/raid.c: ... here. All users updated.
3543
def9832a
VS
35442011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * po/POTFILES.in: Regenerate.
3547
cd8fe79a
VS
35482011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 Fix compilation on GNU/Linux.
3551
3552 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3553 Disable geli.
3554 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3555 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3556 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3557
a251b719
VS
35582011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
35592011-07-07 Michael Gorven <michael@gorven.za.net>
35602011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3561
3562 LUKS and GELI support.
3563
3564 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3565 grub-core/disk/luks.c, grub-core/disk/geli.c,
3566 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3567 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3568 grub-core/lib/arg.c.
3569 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3570 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3571 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3572 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3573 (grub-bin2h): Add libgcry.a.
3574 (grub-mkimage): Likewise.
3575 (grub-mkrelpath): Likewise.
3576 (grub-script-check): Likewise.
3577 (grub-editenv): Likewise.
3578 (grub-mkpasswd-pbkdf2): Likewise.
3579 (grub-pe2elf): Likewise.
3580 (grub-fstest): Likewise.
3581 (grub-mkfont): Likewise.
3582 (grub-mkdevicemap): Likewise.
3583 (grub-probe): Likewise.
3584 (grub-ofpath): Likewise.
3585 (grub-mklayout): Likewise.
3586 (example_unit_test): Likewise.
3587 (grub-menulst2cfg): Likewise.
3588 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3589 * grub-core/Makefile.core.def (cryptodisk): New module.
3590 (luks): Likewise.
3591 (geli): Likewise.
3592 * grub-core/disk/AFSplitter.c: New file.
3593 * grub-core/disk/cryptodisk.c: Likewise.
3594 * grub-core/disk/geli.c: Likewise.
3595 * grub-core/disk/luks.c: Likewise.
3596 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3597 grub_util_is_lvm.
3598 (grub_util_get_dm_abstraction): New function.
3599 (grub_util_follow_gpart_up): Likewise.
3600 (grub_util_get_geom_abstraction): Likewise.
3601 (grub_util_get_dev_abstraction): Use new functions.
3602 (grub_util_pull_device): Pull GELI and LUKS.
3603 (grub_util_get_grub_dev): Handle LUKS and GELI.
3604 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3605 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3606 (follow_geom_up): Removed.
3607 (grub_util_fd_seek): New function.
3608 (open_device): Use grub_util_fd_seek.
3609 (nread): Rename to ..
3610 (grub_util_fd_read): ... this. All users updated.
3611 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3612 (grub_crypto_cbc_decrypt): Likewise.
3613 (grub_crypto_hmac_write): Likewise.
3614 (grub_crypto_hmac_buffer): Likewise.
3615 (grub_password_get): Extend to util.
3616 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3617 New member modname.
3618 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3619 * include/grub/cryptodisk.h: New file.
3620 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3621 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3622 LUKS and GELI.
3623 (grub_util_follow_gpart_up): New proto.
3624 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3625 (grub_util_fd_read): Likewise.
3626 (grub_cryptodisk_cheat_mount): Likewise.
3627 (grub_util_cryptodisk_print_uuid): Likewise.
3628 (grub_util_get_fd_sectors): Likewise.
3629 * util/grub-fstest.c (mount_crypt): New var.
3630 (fstest): Mount crypto if requested.
3631 (options): New option -C.
3632 (argp_parser): Parse -C.
3633 (main): Init and fini gcry.
3634 * util/grub-install.in: Support cryptodisk install.
3635 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3636 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3637 cryptodisk.
3638 (prepare_grub_to_access_device): Likewise.
3639 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3640 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3641 (probe_cryptodisk_uuid): New function.
3642 (probe_abstraction): Likewise.
3643 (probe): Use new functions.
3644 * util/import_gcry.py: Create Makefile.utilgcry.def.
3645 Add modname member.
3646
9bfdcbbc
VS
36472011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 Lazy device scanning.
3650
3651 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3652 (grub-setup): Remove util/raid.c.
3653 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3654 * grub-core/disk/lvm.c (scan_depth): New variable.
3655 (grub_lvm_iterate): Rescan if necessary.
3656 (find_lv): New function based on grub_lvm_open.
3657 (grub_lvm_open): Use find_lv. Rescan on error.
3658 (is_node_readable): New function.
3659 (is_lv_readable): Likewise.
3660 (grub_lvm_scan_device): Skip already found disks.
3661 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3662 Stop if searched device is found and readable.
3663 * grub-core/disk/raid.c (inscnt): New variable.
3664 (scan_depth): Likewise.
3665 (scan_devices): New function based on grub_raid_register. Abort if
3666 looked for device is found.
3667 (grub_raid_iterate): Rescan if needed.
3668 (find_array): NEw function based on -grub_raid_open.
3669 (grub_raid_open): Use find_array and rescan.
3670 (insert_array): Set became_readable_at.
3671 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3672 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3673 New function.
3674 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3675 (grub_util_pull_device): New function.
3676 (grub_util_get_grub_dev): Call grub_util_pull_device.
3677 * util/raid.c: Moved to ..
3678 * grub-core/kern/emu/raid.c: ... here.
3679 (grub_util_raid_getmembers): New parameter "bootable".
3680 All users updated. Support 1.x.
3681 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3682 All users updated.
3683 * include/grub/disk.h (grub_disk_pull_t): New enum.
3684 (grub_disk_dev): Change iterate prototype.
3685 All users updated.
3686 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3687 New proto.
3688 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3689 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3690 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3691 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3692 All users updated.
3693 * include/grub/util/raid.h: Removed.
3694
1c358e59
VS
36952011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * po/POTFILES.in: Regenerate.
3698
abee94ed
VS
36992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Unify sparc init with other ieee1275.
3702
3703 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3704 instead of kern/sparc64/ieee1275/init.c.
3705 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3706 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3707 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3708 grub/machine/kernel.h.
3709 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3710 (grub_claim_heap) [__sparc__]: Use sparc version.
3711 (grub_machine_init): Moved args parsing to
3712 (grub_parse_cmdline): ...this.
3713 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3714 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3715 New definition.
3716 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3717
3718 Move BOOTP to separate file.
3719
3720 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3721 * grub-core/net/net.c: Move all BOOTP functions to
3722 * grub-core/net/bootp.c: ... here.
3723
3724 Use frame interface on PXE.
3725
3726 * grub-core/Makefile.core.def (pxecmd): Removed.
3727 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3728 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3729 * grub-core/i386/pc/pxe.c: Moved from here ...
3730 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3731 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3732 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3733
3734 EFI network support.
3735
3736 * grub-core/Makefile.core.def (efinet): New module.
3737 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3738 here...
3739 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3740 All users updated.
3741 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3742 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3743 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3744 * grub-core/net/drivers/efi/efinet.c: New file.
3745 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3746 (grub_efi_net_config): New extern var.
3747
3748 Various cleanups and bugfixes.
3749
3750 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3751 error.
3752 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3753 disk declared as partition.
3754 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3755 leak on failure.
3756 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3757 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3758 (grub_debug_zalloc): Likewise.
3759 (grub_debug_realloc): Likewise.
3760 (grub_debug_memalign): Likewise.
3761 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3762 Check that target is IPv4.
3763 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3764 local-mac-address as fallback.
3765 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3766 memory leak.
3767 * grub-core/net/ip.c (ipchksum): Rename to ...
3768 (grub_net_ip_chksum): ... this. All users updated.
3769 (grub_net_recv_ip_packets): Special handling for DHCP.
3770 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3771
3772 Unify prefix handling
3773
3774 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3775 (grub_machine_get_bootlocation): ... this.
3776 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3777 (grub_machine_get_bootlocation): ... this.
3778 (grub_prefix): New variable.
3779 (prefix): Removed.
3780 (root_dev): New variable.
3781 (dir): Likewise.
3782 (main): Use new variables.
3783 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3784 Revamped into ...
3785 (grub_machine_get_bootlocation): ... this.
3786 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3787 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3788 (grub_machine_get_bootlocation): ... this.
3789 (grub_machine_set_prefix): Removed.
3790 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3791 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3792 Revamped into ...
3793 (grub_machine_get_bootlocation): ... this.
3794 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3795 (grub_set_prefix_and_root): ... this. All users updated.
3796 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3797 Revamped into ...
3798 (grub_machine_get_bootlocation): ... this.
3799 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3800 (grub_machine_get_bootlocation): New proto.
3801 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3802
3803 Less intrusive and more reliable seek on network implementation.
3804
3805 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3806 (grub_file_seek): Don't call grub_file_net_seek.
3807 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3808 (grub_net_fs_read_real): .. this.
3809 (grub_net_seek_real): Use net->offset.
3810 (grub_net_fs_read): Seek if necessary.
3811
3812 Unify IEEE1275 netwotk config with the other platforms.
3813
3814 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3815 New variable.
3816 (grub_machine_get_bootlocation): Support network.
3817 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3818 Support type and device parsing.
3819 (grub_ieee1275_get_device_type): New function.
3820 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3821 into ...
3822 (grub_ieee1275_net_config_real): ... this.
3823 (grub_ofnet_probecards): Removed.
3824 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3825 * include/grub/ieee1275/ofnet.h: Removed.
3826 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3827 extern var.
3828 (grub_ieee1275_get_device_type): New function.
3829
3830 Unify network device closing across platforms and make more robust.
3831
3832 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3833 grub_grubnet_fini.
3834 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3835 already.
3836 * grub-core/net/net.c (grub_net_network_level_interface_register):
3837 Update num_ifaces.
3838 (grub_net_card_unregister): Close all interfaces.
3839 (receive_packets): Don't poll if no iterfaces are registered.
3840 Open if necessary.
3841 (grub_net_fini_hw): New function.
3842 (grub_net_restore_hw): Likewise.
3843 (fini_hnd): New variable.
3844 (GRUB_MOD_INIT): Register preboot hook.
3845 (GRUB_MOD_FINI): Run and unregister preboot hook.
3846
3847 Poll network cards when idle.
3848
3849 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3850 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3851 * grub-core/net/net.c (receive_packets): Save last poll time.
3852 (grub_net_poll_cards_idle_real): New function.
3853 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3854 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3855 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3856
3857 Rename ofnet interfaces.
3858
3859 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3860 (grub_ofnet_findcards): Use ofnet_%s names.
3861
3862 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3863
3864 Cleanup socket opening.
3865
3866 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3867 (grub_net_fs_close): Likewise.
3868 (grub_net_fs_read_real): Use eof member.
3869 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3870 (+grub_net_udp_close): New inline function.
3871
3872 * include/grub/net/tftp.h: Moved to the top of ...
3873 * grub-core/net/tftp.c: ... here.
3874 * include/grub/net/ip.h: Moved mostly to the top of ...
3875 * grub-core/net/ip.c: ... here.
3876 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3877 * grub-core/net/ethernet.c: ... here.
3878
3879 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3880
3881 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3882 FS name.
3883
3884 * include/grub/net/ip.h (ipv4_ini): Removed.
3885 (ipv4_fini): Likewise.
3886
3887 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3888 (grub_net_send_ip_packets): Likewise.
3889
cf1337aa
VS
38902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3893 grub_read_cmos prototype.
3894
93c06ff9
VS
38952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 VGA text support in qemu-mips
3898
3899 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3900 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3901 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3902 text.
3903 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3904 * grub-core/kern/vga_init.c: ... this.
3905 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3906 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3907 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3908 Adjust.
3909 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3910 GRUB_MACHINE_PCI_IO_BASE.
3911
748ccabe
VS
39122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 MIPS qemu flash support.
3915
3916 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3917 magic.
3918 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3919 (grub_machine_init): Probe memory if its size isn't known.
3920 * util/grub-mkimage.c (image_targets): Add flash targets.
3921 (generate_image): Handle flash targets.
3922
d7345994
VS
39232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 MIPS qemu at_keyboard support.
3926
3927 * gentpl.py (videoinkernel): Add qemu-mips.
3928 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3929 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3930 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3931 modules.
3932 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3933 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3934 * grub-core/term/serial.c (grub_serial_register)
3935 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3936
a07a81b3
VS
39372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 CMOS support on sparc.
3940
3941 * gentpl.py (cmos): Add powerpc and sparc.
3942 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3943 powerpc and sparc.
3944 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3945 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3946 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3947 grub_set_datetime_cmos.
3948 * grub-core/lib/ieee1275/cmos.c: New file.
3949 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3950 (find_rtc): Set no_ieee1275_rtc on error.
3951 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3952 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3953 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3954 fail. Move value to argument. All users updated
3955 (grub_cmos_write): Likewise.
3956 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3957 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3958 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3959 grub_get_datetime_cmos and grub_set_datetime_cmos.
3960
77546584
GS
39612011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3962
3963 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3964 sourcing grub-mkconfig_lib.
3965 * util/update-grub_lib.in: Likewise.
3966 * util/grub.d/00_header.in: Likewise.
3967 * util/grub.d/10_hurd.in: Likewise.
3968 * util/grub.d/10_kfreebsd.in: Likewise.
3969 * util/grub.d/10_linux.in: Likewise.
3970 * util/grub.d/10_netbsd.in: Likewise.
3971 * util/grub.d/10_windows.in: Likewise.
3972 * util/grub.d/20_linux_xen.in: Likewise.
3973 * util/grub.d/30_os-prober.in: Likewise.
3974
54894791
CW
39752011-06-28 Colin Watson <cjwatson@ubuntu.com>
3976
3977 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3978 default_bg_color rather than black.
3979 (grub_gfxterm_fullscreen): Likewise.
3980 (grub_gfxterm_background_color_cmd): Save new background color in
3981 default_bg_color.
3982
8d5d8444
VS
39832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3986
5afeb5bd
VS
39872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3990 mismerge.
3991
ba7df45e
VS
39922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 Chainloading on coreboot support.
3995
3996 * grub-core/Makefile.core.def (chain): Add coreboot.
3997 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3998
d0b526b2
VS
39992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4002 if it happens.
4003
5ff1d945
VS
40042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 Implement time command.
4007
4008 * grub-core/Makefile.core.def (time): New module.
4009 * grub-core/commands/time.c: New file.
4010 * grub-core/script/parser.y: Remove "time" keyword.
4011 * grub-core/script/yylex.l: Likewise.
4012
5ebaad7e
VS
40132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4016
bdea3798
VS
40172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4020 when handling leftovers.
4021
b28c5655
VS
40222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4025 so that help2man doesn't fail.
4026
b6f945dc
VS
40272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4030 type in pointers on sparc64.
4031 (get_card_packet): Likewise.
4032
f9b75e8a
CW
40332011-06-27 Colin Watson <cjwatson@ubuntu.com>
4034
4035 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4036 with `*'.
4037 (grub_cmd_videoinfo): Fetch current video mode.
4038
1e3d9b86
VS
40392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4042 because of underlying system restrictions.
4043
efff4b1c
VS
40442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4047 necessary.
4048
9fc9ce37
VS
40492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Coreboot video support.
4052
4053 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4054 (vbe): Likewise.
4055 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4056 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4057 here ...
4058 * grub-core/kern/i386/int.S: ... here.
4059 * grub-core/video/i386/pc/vbe.c: Updated includes.
4060 * grub-core/video/i386/pc/vga.c: Likewise.
4061 * include/grub/i386/coreboot/memory.h
4062 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4063 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4064 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4065 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4066 Disable interrupts.
4067 * include/grub/i386/pc/vga.h: Removed. All users updated.
4068
41bec7fe
VS
40692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4072 definitions for dprintf.
4073 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4074
ca80309d
VS
40752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4078 prototype.
4079 (get_card_packet): Likewise.
4080
9e322ce8
YB
40812011-06-26 Yves Blusseau <blusseau@zetam.org>
4082
4083 Display the path of the file when file is not found
4084
4085 * grub-core/fs/fat.c: Display the filename when file is not found.
4086 * grub-core/fs/fshelp.c: Likewise.
4087 * grub-core/fs/hfs.c: Likewise.
4088 * grub-core/fs/jfs.c: Likewise.
4089 * grub-core/fs/minix.c: Likewise.
4090 * grub-core/fs/ufs.c: Likewise.
4091 * grub-core/fs/btrfs.c: Likewise.
4092 * grub-core/commands/i386/pc/play.c: Likewise.
4093
cbf597af
SJ
40942011-06-26 Szymon Janc <szymon@janc.net.pl>
4095
4096 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4097 pointer checks before calling grub_free().
4098 * grub-core/commands/wildcard.c (match_devices): Likewise.
4099 * grub-core/commands/wildcard.c (match_files): Likewise.
4100 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4101 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4102 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4103 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4104 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4105 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4106 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4107 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4108 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4109
6295b32f
P
41102011-06-25 Patrick <p55@mailinator.com>
4111
4112 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4113
77c0840b
VS
41142011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4117 (grub_pxe_send): Likewise.
4118 (GRUB_MOD_INIT): Fix types.
4119
40ea05de
SJ
41202011-06-24 Szymon Janc <szymon@janc.net.pl>
4121
4122 * grub-core/io/xzio.c: Fix code style issues
4123
90162423
MRA
41242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
41252011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4126
4127 Network infrastructure.
4128 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4129
4130 * include/grub/net/arp.h: New file.
90162423
MRA
4131 * include/grub/net/device.h: Likewise.
4132 * include/grub/net/ethernet.h: Likewise.
4133 * include/grub/net/ip.h: Likewise.
4134 * include/grub/net/netbuff.h: Likewise.
4135 * include/grub/net/tftp.h: Likewise.
4136 * include/grub/net/udp.h: Likewise.
4137 * include/grub/ieee1275/ofnet.h: Likewise.
4138 * include/grub/emu/export.h: Likewise.
4139 * include/grub/net.h: Likewise.
4140 * grub-core/net/arp.c: Likewise.
4141 * grub-core/net/ethernet.c: Likewise.
4142 * grub-core/net/ip.c: Likewise.
4143 * grub-core/net/udp.c: Likewise.
4144 * grub-core/net/tftp.c: Likewise.
4145 * grub-core/net/netbuff.c: Likewise.
4146 * grub-core/net/net.c: Likewise.
4147 * grub-core/net/drivers/emu/emunet.c: Likewise.
4148 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4149 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4150 export.h.
4151 * grub-core/Makefile.core.def (net): New module.
4152 (tftp): Likewise.
4153 (ofnet): Likewise.
4154 (emunet): Likewise.
4155 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4156 network protocols.
4157 * grub-core/kern/device.c (grub_net_open) : New variable.
4158 (grub_device_open): Handle network device.
4159 (grub_device_close): Likewise.
4160 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4161 (grub_grubnet_fini): Likewise.
4162 (grub_file_seek): Seek in network device.
4163 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4164 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4165 network root.
4166 (grub_machine_fini): Call grub_grubnet_fini.
4167 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4168 network.
4169 (grub_ieee1275_get_aliasdevname): New function.
4170 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4171 Add unofficial Solaris network info.
4172 (grub_multiboot_make_mbi): Likewise.
4173 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4174 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4175 * include/grub/device.h (grub_fs): Removed.
4176 * include/grub/err.h (grub_err_t): Add network-related values.
4177 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4178 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4179 (grub_ieee1275_get_aliasdevname): New proto.
4180 * include/grub/net.h: Rewritten.
423a1849 4181
031f22a0
VS
41822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4185 names.
4186
4388ca72
VS
41872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4190 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4191 it truncates the output.
4192 Reported by: Ximin Luo.
4193
98e2f506
VS
41942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4197
2a5e94d8
VS
41982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4201 partmap before abstraction.
4202
535c1910
AK
42032011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4204
4205 * util/grub-mkconfig_lib.in: Add missing quotes.
4206
bc09e1a2
VS
42072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4210 old method if mountinfo would return /dev/root and /dev/root doesn't
4211 exist.
4212
290766fb
VS
42132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 ZFS zlib support
4216
4217 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4218 (decomp_table): Add zlib entries.
4219 (zio_read): USe 8 bits for compression function rather than 3.
4220 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4221
42222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * grub-core/disk/ahci.c: Add missing license statements.
4225 * grub-core/fs/romfs.c: Likewise.
4226 * grub-core/lib/ia64/setjmp.S: Likewise.
4227 * grub-core/loader/i386/pc/freedos.c: Likewise.
4228 * grub-core/loader/ia64/efi/linux.c: Likewise.
4229 * grub-core/video/colors.c: Likewise.
4230 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4231
5ab3f48a
VS
42322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 AHCI support.
4235
4236 * grub-core/Makefile.core.def (ata_pthru): Removed.
4237 (ahci): New module.
4238 (pata): Likewise.
4239 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4240 on unload.
4241 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4242 readwrite.
4243 (grub_hdparm_do_check_powermode_cmd): Likewise.
4244 (grub_hdparm_do_smart_cmd): Likewise.
4245 (grub_hdparm_set_val_cmd): Likewise.
4246 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4247 * grub-core/disk/ahci.c: New file.
4248 * grub-core/disk/ata.c: Factor out the low-level part into ...
4249 * grub-core/disk/pata.c: ... here.
4250 * grub-core/disk/ata_pthru.c: Contents moved to ...
4251 * grub-core/disk/pata.c: ... here.
4252 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4253 (grub_scsi_iterate): Use grub_scsi_names.
4254 (grub_scsi_open): Likewise.
4255 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4256 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4257 (grub_ata_regs_t): New struct.
4258 (grub_disk_ata_pass_through_parms): Likewise.
4259 (grub_ata_device): Renamed to ...
4260 (grub_ata): ... this.
4261 (grub_ata_dev): New struct.
4262 Removed all low-level inline functions.
4263 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4264 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4265 iterate hooks and open. All users updated.
4266 * util/grub-install.in: Handle AHCI disk module.
4267
c31dc5f5
SJ
42682011-06-23 Szymon Janc <szymon@janc.net.pl>
4269
4270 Add support for DRI and RSTn markers in JPEG files.
4271
4272 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4273 (JPEG_MARKER_RST0): Likewise.
4274 (JPEG_MARKER_RST1): Likewise.
4275 (JPEG_MARKER_RST2): Likewise.
4276 (JPEG_MARKER_RST3): Likewise.
4277 (JPEG_MARKER_RST4): Likewise.
4278 (JPEG_MARKER_RST5): Likewise.
4279 (JPEG_MARKER_RST6): Likewise.
4280 (JPEG_MARKER_RST7): Likewise.
4281 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4282 (grub_jpeg_decode_dri): New function.
4283 (grub_jpeg_decode_sos): Move image data related part into
4284 grub_jpeg_decode_data function.
4285 (grub_jpeg_decode_data): New function.
4286 (grub_jpeg_reset): New function.
4287 (grub_jpeg_decode_jpeg): Handle new markers.
4288
fe12fd5b
VS
42892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * util/ieee1275/ofpath.c (check_sas): Close fd.
4292 (main): Free of_path.
4293 Reported by: David Volgyes <dvolgyes>.
4294
03147f46
VS
42952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4298 Reported by: David Volgyes <dvolgyes>.
4299
cad3237f
VS
43002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4303 file after stat.
4304 Reported by: David Volgyes <dvolgyes>.
4305
13548d26
VS
43062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4309
4310 Reported by: David Volgyes <dvolgyes>.
4311
e061a1b5
VS
43122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4315 Prevent memory leak.
4316
1abe47dc
VS
43172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4320 (main): Close file.
e061a1b5 4321 Reported by: David Volgyes <dvolgyes>.
1abe47dc 4322
fbc62666
VS
43232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4326 to continue if allocation is failed.
4327
4328 Reported by: David Volgyes <dvolgyes>.
4329
e98c83e9
DV
43302011-06-23 David Volgyes <dvolgyes>
4331
4332 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4333 dereference.
4334
a199a8cd
VS
43352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 Fix spurious warning.
4338
4339 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4340 (acorn_partition_map_find): Use .bin member.
4341
e2d1dba0
VS
43422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4345 /dev/root as a valid device.
4346
8a5d6919
JM
43472011-06-23 Jim Meyering <meyering@redhat.com>
4348
e2d1dba0
VS
4349 Avoid NULL deref in grub_device_open.
4350
8a5d6919
JM
4351 * grub-core/kern/device.c (grub_device_open): Don't dereference
4352 a NULL pointer upon failed grub_env_get.
4353
f7db6f4a
VS
43542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 Support non-512B sectors and agglomerate reads.
4357
4358 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4359 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4360 (disk_io_guid): Removed.
4361 (make_devices): Locate solely by BlockIO.
4362 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4363 (grub_efidisk_read): Use read_blocks.
4364 (grub_efidisk_write): Use write_blocks.
4365 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4366 log_sector_size.
4367 (get_safe_sectors): Handle non-512B sectors.
4368 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4369 sectors.
4370 (grub_biosdisk_write): Handle non-512B sectors.
4371 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4372 (grub_scsi_read): Remove special non-512B block handling (now handled
4373 one level up).
4374 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4375 and do sanity checks.
4376 (grub_disk_adjust_range): Handle non-512B sectors.
4377 (transform_sector): New function.
4378 (grub_disk_read_small): Likewise.
4379 (grub_disk_read): Rewritten.
4380 (grub_disk_write): Handle non-512B sectors.
4381 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4382 log_sector_size.
4383 (open_device): Use log_sector_size.
4384 (grub_util_biosdisk_read): Likewise.
4385 (grub_util_biosdisk_write): Likewise.
4386 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4387 non-512B sectors.
4388 (pc_partition_map_embed): Likewise.
4389 * include/grub/disk.h (grub_disk): New field log_sector_size.
4390 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4391 (GRUB_DISK_CACHE_BITS): Increased to 6.
4392 * util/grub-fstest.c (fstest): New command testload.
4393 (argp_parser): Likewise.
4394
881ac815
RM
43952011-06-16 Robert Millan <rmh@gnu.org>
4396
4397 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4398 `ata' driver on kernel of FreeBSD 9.
4399
4400 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4401 (get_ataraid_disk_name): New functions.
4402 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4403 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4404 get_ataraid_disk_name() and get_ada_disk_name().
4405
1e9aef7d
CW
44062011-06-13 Colin Watson <cjwatson@ubuntu.com>
4407
4408 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4409 input format.
4410
351c7c8a
CW
44112011-05-29 Colin Watson <cjwatson@ubuntu.com>
4412
4413 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4414 `ftp.gnu.org' for `alpha.gnu.org'.
4415
6b4e6430
CW
44162011-05-27 Colin Watson <cjwatson@ubuntu.com>
4417
4418 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4419 partitions under /dev/disk/by-id/.
4420
c64db050
CW
44212011-05-27 Colin Watson <cjwatson@ubuntu.com>
4422
4423 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4424 after ten consecutive open failures. Scanning all the way up to
4425 10000 is excessive and can cause serious performance problems in
4426 some configurations.
4427 Fixes Ubuntu bug #787461.
4428
245f4aba
VS
44292011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4432 opening new one.
4433
f767c929
VS
44342011-05-21 Colin Watson <cjwatson@ubuntu.com>
44352011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Don't stat devices unless we have to.
4438
4439 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4440 dir == /dev/mapper.
4441 (grub_guess_root_device): Use already known os_dev if possible.
4442 * grub-core/kern/emu/hostdisk.c
4443 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4444 if device is known to be a dm one.
4445
f35fa3a6
CW
44462011-05-20 Colin Watson <cjwatson@ubuntu.com>
4447
4448 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4449 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4450 Reported by: Pawel Tecza.
4451
9a79fcf2
VS
44522011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4455 (lsefisystab): Likewise.
4456 (lssal): Likewise.
4457 (lsefimmap): Likewise.
4458 (hdparm): Enable on qemu-mips.
4459 (setjmp): Add ia64 nodist.
4460 (serial): Simplify tags.
4461
63e3eea9
CW
44622011-05-18 Colin Watson <cjwatson@ubuntu.com>
4463
4464 * Makefile.util.def (grub-ofpathname): Install manual page.
4465
09728256
CW
44662011-05-18 Colin Watson <cjwatson@ubuntu.com>
4467
4468 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4469
8b63a142
CW
44702011-05-18 Colin Watson <cjwatson@ubuntu.com>
4471
4472 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4473
e775d8ed
VS
44742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4477 into dprintf.
4478
bf947d36
VS
44792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 Use full 64-bit division.
4482
4483 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4484 (grub_divmod64): ... this.
4485 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4486 version.
4487
b84f26c5
CW
44882011-05-18 Colin Watson <cjwatson@ubuntu.com>
4489
4490 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4491 `source'.
4492
5626056f
CW
44932011-05-18 Colin Watson <cjwatson@ubuntu.com>
4494
4495 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4496 to avoid accidents when debugging with 'sh -x'.
4497 * grub-core/gensyminfo.sh.in: Likewise.
4498 * tests/example_scripted_test.in: Likewise.
4499 * tests/grub_cmd_regexp.in: Likewise.
4500 * tests/grub_script_blanklines.in: Likewise.
4501 * tests/grub_script_dollar.in: Likewise.
4502 * tests/grub_script_expansion.in: Likewise.
4503 * tests/grub_script_final_semicolon.in: Likewise.
4504 * tests/partmap_test.in: Likewise.
4505 * tests/util/grub-shell-tester.in: Likewise.
4506 * tests/util/grub-shell.in: Likewise.
4507
e2965f4a
CW
45082011-05-18 Colin Watson <cjwatson@ubuntu.com>
4509
4510 Move gfxmenu color handling to video, so that gfxterm can use it
4511 too.
4512
4513 * grub-core/gfxmenu/named_colors.c: Move to ...
4514 * grub-core/video/colors.c: ... here. Rename
4515 grub_gui_get_named_color to grub_video_get_named_color.
4516 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4517 * grub-core/video/colors.c (my_isxdigit): ... here.
4518 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4519 Move to ...
4520 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4521 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4522 to ...
4523 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4524
4525 * include/grub/gui.h (grub_gui_color_t): Move to ...
4526 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4527 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4528 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4529 * include/grub/gui.h (grub_gui_map_color): Move to ...
4530 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4531 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4532 to ...
4533 * include/grub/video.h (grub_video_get_named_color): ... here.
4534 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4535 * include/grub/video.h (grub_video_parse_color): ... here.
4536
4537 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4538 video/colors.c.
4539 (gfxmenu): Remove gfxmenu/named_colors.c.
4540 (video) [videomodules]: Add video/colors.c.
4541
4542 Add a background_color command.
4543
4544 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4545 function.
4546 (GRUB_MOD_INIT): Register background_color command.
4547 (GRUB_MOD_FINI): Unregister background_color command.
4548 (redraw_screen_rect): Allow blend/replace of text layer to be
4549 controlled independently from whether there is a background bitmap.
4550 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4551 changing bitmap.
4552
1e4b4390
VS
45532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4554
26618ff0
VS
4555 Patch BPB in ntldr and chainloader --bpb.
4556
1e4b4390
VS
4557 * grub-core/fs/fat.c: Include grub/fat.h.
4558 (grub_fat_bpb): Moved to ...
4559 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4560 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4561 grub/ntfs.h.
4562 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4563 Moved from here...
4564 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4565 here.
4566 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4567 New function.
4568 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4569 (GRUB_MOD_INIT): Show --bpb.
4570 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4571 * grub-core/normal/main.c (features): New variable.
4572 (GRUB_MOD_INIT): Set feature_* variables.
4573 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4574 proto.
4575 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4576
cf02731e
VS
45772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4580 for cleanness.
4581
e3a1073f
VS
45822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 FreeDOS direct loading support.
4585
4586 * docs/grub.texi (Supported OS): Add FreeDOS.
4587 * grub-core/Makefile.core.def (freedos): New module.
4588 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4589 variable.
4590 (grub_relocator16_boot): Handle %ebx.
4591 * grub-core/lib/i386/relocator16.S: Likewise.
4592 * grub-core/loader/i386/pc/freedos.c: New file.
4593
05caa461
VS
45942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 Long Linux command line support.
4597
4598 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4599 (maximal_cmdline_size): New variable.
4600 (allocate_pages): Use maximal_cmdline_size.
4601 (grub_cmd_linux): Set and use maximal_cmdline_size.
4602 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4603 (allocate_pages): Use maximal_cmdline_size.
4604 (grub_cmd_linux): Set and use maximal_cmdline_size.
4605 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4606 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4607 and cmdline_size.
4608
a2491e23
VS
46092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
46102011-05-18 Colin Watson <cjwatson@ubuntu.com>
4611
4612 Improve devmapper support
4613
4614 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4615 (grub_util_is_lvm): New function.
4616 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4617 than lvm if not dmraid.
4618 Handle mapped md nodes.
4619 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4620 (grub_util_device_is_mapped): ... this. Make always available. All users
4621 updated.
4622 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4623 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4624 dmraid nodes.
4625 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4626
6ad6223e
VS
46272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4630
4631 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4632 * grub-core/modinfo.sh.in: New file.
4633 * grub-core/Makefile.core.def (modinfo.sh): New script.
4634 * util/grub-mknetdir.in: Use modinfo.sh.
4635 * util/grub-mkrescue.in: Likewise.
4636
543a8f6e
VS
46372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4640 Fix potential usage of Elf32 instead of Elf64 when compiling on
4641 32-bit architecture. Add endianness macros while on it.
4642
4959e111
VS
46432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Use mipsel- rather than mips- in directories involving mipsel ports to
4646 allow both endiannesses coexist.
4647
4648 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4649 mips. All conditions adjusted.
4650 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4651 variable.
4652 * util/grub-install.in: Adjust conditions to take renaming into account.
4653 * util/grub-mkimage.c (image_targets): Likewise. New target
4654 mips-qemu_mips-elf for bigendian mips.
4655
35341bbc
VS
46562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Avoid unnecessary copying on MIPS.
4659
4660 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4661 early if src == dest.
4662 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4663 compression is none.
4664
b772baed
VS
46652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 Reduce memory footprint on SGI by putting modules before the kernel
4668 as opposed to after.
4669
4670 * grub-core/Makefile.core.def (kernel): Increase linking address.
4671 (none_decompress): Likewise.
4672 (xz_decompress): Likewise.
4673 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4674 address.
4675 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4676 layout change.
4677 (grub_arch_modules_addr): New function.
4678 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4679 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4680 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4681 here.
4682 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4683 (grub_total_modules_size): ... this. Make global.
4684 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4685 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4686 New definition.
4687 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4688 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4689 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4690 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4691 * util/grub-mkimage.c (image_target_desc): New flag
4692 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4693 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4694 (generate_image): Handle images with modules before kernel.
4695
566a1917
VS
46962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 Prevent potential loss of memory map by overwrite on qemu-mips.
4699
4700 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4701 Save ram size in $s4.
4702 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4703 All users changed to grub_arch_memsize.
4704 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4705 Loongson.
4706 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4707 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4708 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4709 external variable.
4710
5d420cd9
CW
47112011-05-17 Colin Watson <cjwatson@ubuntu.com>
4712
4713 * .bzrignore: Remove grub-dumpbios.
4714
d064b830
CW
47152011-05-17 Colin Watson <cjwatson@ubuntu.com>
4716
4717 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4718 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4719 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4720 existing options which append).
4721 * docs/grub.texi (Simple configuration): Document new options.
4722 Reported by: Ian Jackson. Fixes Debian bug #617538.
4723
3ca2b466
CW
47242011-05-17 Colin Watson <cjwatson@ubuntu.com>
4725
4726 * util/grub-fstest.c (cmd_cat): New function.
4727 (fstest): Handle CMD_CAT.
4728 (options): Add cat.
4729 (argp_parser): Handle cat.
4730
24c9143a
CW
47312011-05-17 Colin Watson <cjwatson@ubuntu.com>
4732
4733 * Makefile.util.def (grub-bin2h): Don't install.
4734 * docs/man/grub-bin2h.h2m: Remove.
4735
90f7ac19
VS
47362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4739 place.
4740
8d4a5178
VS
47412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Reenable qemu-mips port.
4744
4745 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4746 Fix small arc bug while on it.
4747 * gentpl.py: Handle qemu_mips.
4748 * grub-core/Makefile.am: Likewise.
4749 * grub-core/Makefile.core.def: Likewise.
4750 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4751 inappropriate includes.
4752 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4753 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4754 * grub-core/kern/main.c (grub_modules_get_end)
4755 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4756 * grub-core/kern/mips/qemu-mips: Moved to ..
4757 * grub-core/kern/mips/qemu_mips: ... this.
4758 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4759 (grub_machine_init): Call terminfo_init and serial_init.
4760 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4761 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4762 New variable.
4763 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4764 parameter passing.
4765 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4766 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4767 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4768 * include/grub/mips/qemu_mips/cmos.h: New file.
4769 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4770 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4771 Removed.
4772 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4773 Use correct mips-style address.
4774 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4775 (GRUB_TICKS_PER_SECOND): Removed.
4776 (grub_get_rtc): Likewise.
4777 (grub_cpu_idle): Likewise.
4778 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4779 New definition.
4780 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4781 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4782 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4783 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4784 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4785 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4786 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4787 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4788
400b9371
VS
47892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 SGI ARCS port.
4792
4793 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4794 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4795 platforms.
4796 * configure.ac: New target mips-arc.
4797 * gentpl.py: Likewise.
4798 * grub-core/Makefile.am: Likewise.
4799 * grub-core/Makefile.core.def: Likewise.
4800 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4801 (none_decompress): Likewise.
4802 (lsdev): New module.
4803 (datetime): Use lib/arc/datetime.c on ARC.
4804 (part_dvh): New module.
4805 * grub-core/commands/arc/lsdev.c: New file.
4806 * grub-core/disk/arc/arcdisk.c: Likewise.
4807 * grub-core/kern/mips/arc/init.c: Likewise.
4808 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4809 aligned addresses.
4810 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4811 support.
4812 (grub_arch_dl_relocate_symbols): Likewise.
4813 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4814 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4815 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4816 platforms.
4817 * grub-core/lib/arc/datetime.c: New file.
4818 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4819 pci.h on non-loongson.
4820 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4821 (grub_linux_boot): Set unused registers to 0.
4822 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4823 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4824 * grub-core/mmap/mips/uppermem.c: ...here.
4825 * grub-core/partmap/dvh.c: New file.
4826 * grub-core/term/arc/console.c: Likewise.
4827 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4828 (grub_terminfo_set_current): Add terminal "arc".
4829 (grub_terminfo_readkey): Support ARC sequences.
4830 * include/grub/arc/arc.h: New file.
4831 * include/grub/arc/console.h: Likewise.
4832 * include/grub/disk.h (grub_disk_dev_id): Add
4833 GRUB_DISK_DEVICE_ARCDISK_ID.
4834 * include/grub/mips/arc/kernel.h: New file.
4835 * include/grub/mips/arc/memory.h: Likewise.
4836 * include/grub/mips/arc/time.h: Likewise.
4837 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4838 * include/grub/mips/kernel.h (grub_halt): ... here.
4839 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4840 here...
4841 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4842 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4843 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4844 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4845 proto.
4846 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4847 from here ...
4848 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4849 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4850 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4851 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4852 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4853 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4854 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4855 (grub_phys_addr_t): Moved from here ...
4856 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4857 (grub_vtop): Moved from here ...
4858 * include/grub/mips/memory.h (grub_vtop): ... here.
4859 (grub_map_memory): Moved from here ...
4860 * include/grub/mips/memory.h (grub_map_memory): ... here.
4861 (grub_unmap_memory): Moved from here ...
4862 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4863 (grub_machine_mmap_iterate): Moved from here ...
4864 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4865 (grub_mmap_get_lower): Moved from here ...
4866 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4867 (grub_mmap_get_upper): Moved from here ...
4868 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4869 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4870 here ...
4871 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4872 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4873 here ...
4874 * include/grub/mips/time.h (grub_get_rtc): ... here.
4875 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4876 here ...
4877 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4878 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4879 here ...
4880 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4881 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4882 definition.
4883 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4884 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4885 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4886 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4887 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4888 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4889 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4890 (GRUB_MACHINE_LINK_ADDR): Likewise.
4891 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4892 to 6.
4893 * util/grub-install.in: Run dvhtool on ARC.
4894 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 4895 (generate_image): Handle ECOFF output for mips-arc.
400b9371 4896
c8ecc840
VS
48972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4900 blocks.
4901
153a4b55
VS
49022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4905 after enabling port.
4906
ff44d107
VS
49072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 Skip incorrect USB devices.
4910
4911 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4912 configcnt == 0.
4913 * include/grub/usb.h (grub_usb_err_t): New enum value
4914 GRUB_USB_ERR_BADDEVICE.
4915
638dbe4f
VS
49162011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Fuloong video init support.
4919
4920 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4921 well.
4922 (grub_vga_read_arx): New function.
4923 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4924 definition.
4925 (framebuffer): New members io, mmioptr and mmiobase.
4926 (read_sis_cmd): New function.
4927 (write_sis_cmd): Likewise.
4928 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4929 rather than 640x400.
4930 * grub-core/video/sis315_init.c: New file.
4931
c3fc520c
VS
49322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4935 non-loongson.
4936 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4937 to grub_dl_register_symbol.
4938
67b1e5c9
VS
49392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 Fix compilation errors.
4942
4943 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4944 potentially unused.
4945 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4946 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4947 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4948 to loongson machines.
4949
b756f75f
VS
49502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 Several FS mtime support.
4953
4954 * grub-core/fs/affs.c (grub_affs_time): New struct.
4955 (grub_affs_file): New field mtime.
4956 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4957 type. Removed 'size'. New field 'di'. All users updated.
4958 (grub_affs_mount): Simplify checsum checking.
4959 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4960 (grub_affs_dir): Handle mtime.
4961 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4962 (grub_cpio_dir): Likewise.
4963 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4964 (grub_hfs_filerec): New field mtime.
4965 (grub_hfs_dir): Handle mtime.
4966 (grub_hfs_mtime): New function.
4967 (grub_hfs_fs): Register grub_hfs_mtime.
4968 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4969 (grub_iso9660_dir): New field mtime.
4970 (grub_fshelp_node): New field dirent.
4971 (iso9660_to_unixtime): New function.
4972 (iso9660_to_unixtime2): Likewise.
4973 (grub_iso9660_read_symlink): Use node->dirent.
4974 (grub_iso9660_iterate_dir): Likewise.
4975 (grub_iso9660_dir): Set mtime.
4976 (grub_iso9660_mtime): New function.
4977 (grub_iso9660_fs): Register grub_iso9660_mtime.
4978 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4979 (grub_jfs_inode): New fields atime, ctime and mtime.
4980 (grub_jfs_dir): Set mtime.
4981 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4982 * grub-core/fs/ntfs.c (list_file): Set mtime.
4983 (grub_ntfs_dir): Likewise.
4984 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4985 (grub_reiserfs_iterate_dir): Set mtime.
4986 (grub_reiserfs_dir): Likewise.
4987 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4988 (grub_fshelp_node): Likewise.
4989 (grub_sfs_iterate_dir): Set mtime.
4990 (grub_sfs_dir): Likewise.
4991 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4992 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4993 (grub_xfs_inode): New fields atime, mtime, ctime.
4994 (grub_xfs_dir): Set mtime.
4995 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4996 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4997 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4998
4999 Support UDF symlinks.
5000
5001 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5002 (grub_ufs_read_symlink): New function. All users updated.
5003
5004 Check amiga partmap checksum.
5005
5006 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5007 (grub_amiga_partition): Likewise.
5008 (amiga_partition_map_checksum): New function.
5009 (amiga_partition_map_iterate): Check checksum.
5010
5470225d
VS
50112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 ROMFS support.
5014
5015 * Makefile.util.def (libgrubmods.a): Add romfs.
5016 * grub-core/Makefile.core.def (romfs): New module.
5017 * grub-core/fs/romfs.c: New file.
5018
d4680a35
VS
50192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 Squashfs v4 support.
5022
5023 * Makefile.util.def (libgrubmods.a): Add squash4.
5024 * grub-core/Makefile.core.def (squash4): New module.
5025 * grub-core/fs/squash4.c: New file.
5026 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5027 disk_input_start, disk_input.
5028 (get_byte): Handle disk_input.
5029 (grub_zlib_disk_read): New function.
5030 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5031
bcb18e74
FZ
50322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
50332011-05-15 Feiran Zheng <famcool@gmail.com>
5034
5035 * Makefile.util.def (libgrubmods.a): Add minix3.
5036 * grub-core/Makefile.core.def (minix3): New module.
5037 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5038 (GRUB_MINIX_BSIZE): Removed.
5039 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5040 (grub_minix_ino_t): New type.
5041 (grub_minix_le_to_cpu_ino): New macro.
5042 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5043 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5044 (grub_minix_data): New field block_size.
5045 (grub_minix_read_file): Handle 64-bit correctly.
5046 * grub-core/fs/minix3.c: New file.
5047
32297d5f
TG
50482011-05-15 Tristan Gingold <gingold@free.fr>
50492011-05-15 Robert Millan <rmh.grub@aybabtu.com>
50502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 IA64 support.
5053
5054 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5055 * configure.ac: Add ia64-efi target.
5056 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5057 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5058 * gentpl.py: Add ia64_efi platform.
5059 Rename x86_efi to efi and Add ia64-efi. All users updated.
5060 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5061 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5062 Remove kern/generic/rtc_get_time_ms.c on EFI.
5063 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5064 kern/ia64/dl_helper.c on ia64-efi.
5065 Add kern/emu/cache.c on emu.
5066 (linux): Use on loader/ia64/efi/linux.c on ia64.
5067 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5068 whether symbol is a function.
5069 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5070 (grub_symbol): New field 'isfunc'.
5071 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5072 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5073 (grub_dl_load_segments): Place all sections into the same region.
5074 [__ia64__]: Create trampolines and got.
5075 [GRUB_MACHINE_EMU]: Call mprotect.
5076 (grub_dl_resolve_symbols): Resolve symbol type as well.
5077 [__ia64__]: Create function descriptors.
5078 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5079 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5080 (grub_get_rtc): New function.
5081 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5082 * grub-core/kern/emu/cache.S: Renamed to ...
5083 * grub-core/kern/emu/cache_s.S: ... this.
5084 [__ia64__]: Add a nop.
5085 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5086 [__ia64__]: New function.
5087 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5088 * grub-core/kern/ia64/dl.c: New file.
5089 * grub-core/kern/ia64/dl_helper.c: Likewise.
5090 * grub-core/kern/ia64/efi/init.c: New file.
5091 * grub-core/kern/ia64/efi/startup.S: Likewise.
5092 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5093 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5094 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5095 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5096 * grub-core/loader/ia64/efi/linux.c: New file.
5097 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5098 (GRUB_MOD_DEP): Likewise.
5099 (grub_dl) [__ia64__]: New fields got and tramp.
5100 (grub_dl): New field 'base'.
5101 (grub_dl_register_symbol): New argument isfunc. All users updated.
5102 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5103 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5104 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5105 (grub_ia64_dl_get_tramp_got_size): New proto.
5106 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5107 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5108 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5109 * include/grub/efi/api.h: Skip call wrappers on ia64.
5110 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5111 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5112 * include/grub/elf.h (ELF_ST_INFO): New definition.
5113 * include/grub/ia64/efi/kernel.h: New file.
5114 * include/grub/ia64/efi/memory.h: Likewise.
5115 * include/grub/ia64/efi/time.h: Likewise.
5116 * include/grub/ia64/kernel.h: Likewise.
5117 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5118 * include/grub/ia64/time.h: New file.
5119 * include/grub/ia64/types.h: Likewise.
5120 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5121 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5122 New protos.
5123 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5124 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5125 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5126 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5127 All users updated.
5128 (EFI64_HEADER_SIZE): New definition. All users updated.
5129 (image_targets): Add ia64-efi.
5130 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5131 jumpers_addr. All users updated.
5132 Create function descriptors.
5133 (count_funcs): New function.
5134 (unaligned_uint32): New struct.
5135 (MASK20): New definition.
5136 (MASK19): Likewise.
5137 (MASKF21): Likewise.
5138 (add_value_to_slot_20b): New function.
5139 (add_value_to_slot_21_real): Likewise.
5140 (add_value_to_slot_21): Likewise.
5141 (ia64_kernel_trampoline): New struct.
5142 (nopm): New variable.
5143 (jump): Likewise.
5144 (make_trampoline): New function.
5145 (relocate_addresses): Handle ia64.
5146 (make_reloc_section): Likewise.
5147 (load_image): Likewise.
5148
983b414d
VS
51492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5152 warning. Move variables before code while on it.
5153
5d063cdc
VS
51542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 Fuloong support.
5157
5158 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5159 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5160 * grub-core/boot/mips/loongson/fuloong.S: New file.
5161 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5162 Explicitly init CS5536.
5163 [FULOONG]: Don't use serial until CS5536 is available.
5164 Set GPIO based on dumps.
5165 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5166 [FULOONG]: Handle GPIO and memory controller differences.
5167 Parse machine type in $a2.
5168 * grub-core/boot/mips/startup_raw.S: Determine and save the
5169 architecture.
5170 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5171 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5172 init on architecture type.
5173 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5174 SIS315E. Don't init at_keyboard on fuloong.
5175 (grub_halt): Support Fuloong.
5176 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5177 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5178 (loongson_machtypes): New array.
5179 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5180 type.
5181 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5182 config. All users updated. Handle CS5536 serial.
5183 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5184 default port on machine type. Register serial as inactive.
5185 * grub-core/video/sis315pro.c: New file.
5186 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5187 definition.
5188 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5189 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5190 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5191 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5192 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5193 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5194 to ...
5195 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5196 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5197 definition.
5198 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5199 (grub_arch_machine): New extern var.
5200 * include/grub/mips/loongson/serial.h
5201 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5202 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5203 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5204 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5205 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5206 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5207 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5208 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5209 * include/grub/term.h (grub_term_register_input_inactive): New inline
5210 function.
5211 (grub_term_register_output_inactive): Likewise.
5212 * include/grub/video.h (grub_video_driver_id): New value
5213 GRUB_VIDEO_DRIVER_SIS315PRO.
5214 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5215 New field "names". All users updated.
5216 New field value IMAGE_FULOONG_FLASH.
5217 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5218
6ada82d1
JU
52192011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5220
5221 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5222 and add some clarification.
5223
90c571a4
VS
52242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5227 platforms if kernel is compressed.
5228
de04eecf
VS
52292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5232 unused modules since currently referrence counter isn't reliable and
5233 there isn't much memory to recover there anyway.
5234
57688121
VS
52352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5238 rather than resetting it to allow modules to reference themselves
5239 in init.
5240
3d2c7e35
VS
52412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5244 counter on dependencies since grub_dl_unref already handles this.
5245
b25db218
VS
52462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5249 on error if not already done.
5250
25a45338
VS
52512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 Fix few potential memory misusage.
5254
5255 * grub-core/font/font.c (load_font_index): Don't free char_index to
5256 avoid double free.
b25db218
VS
5257 (grub_font_load): Zero-fill font at alloc for safety.
5258 Close file on error.
5259 (free_font): Free bmp_idx.
25a45338 5260
0cac83df
VS
52612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * docs/grub.texi (Installation): Fix several outdated claims.
5264
2217a143
VS
52652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 Handle module_license on windows.
5268
5269 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5270 sections shifted.
5271 (insert_string): Make argument const char * instead of char *.
5272 (write_section_data): Handle long section names.
5273 Handle module_license.
5274
d4de6b01
VS
52752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5278 handle class-free menuentries.
5279 (grub_normal_add_menu_entry): Add a check to be sure.
5280
4c2a3b43
VS
52812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5284 PgUp and PgDown.
5285
85c6210f
VS
52862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * configure.ac: Bump version to 1.99.
5289
36084912
VS
52902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 Give ATA device a bit more time on first try in order to allow disks
5293 to spin up.
5294
5295 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5296 if dev->present is 1. Reset dev->present on failure.
5297 (grub_ata_device_initialize): Set dev->present to 1.
5298 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5299 (grub_ata_device): New member 'present'.
5300
bda0e219
VS
53012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * util/grub-mkimage.c (generate_image): Update hash.
5304
19e1c41b
VS
53052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Flush caches on DMA memory.
5308
5309 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5310 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5311 (grub_dma_free): Likewise.
5312 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5313
91bbcc0c
VS
53142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5317 to avoid asm treating ld and sd as macros.
5318
60ddfad3
VS
53192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5322 decompressor.
5323
a298aa04
VS
53242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5327 grub_decompress_core since later would fail if grub_decompress_core
5328 is too far.
5329
9b44feca
VS
53302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5333 R_MIPS_JALR since it's used by newer compiler.
5334
56dbe7b4
VS
53352011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5338
52856af2
VS
53392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5342 file_path to 0 for surety.
5343 (grub_chainloader_boot): Set exit_data to NULL.
5344 Unset the loader once done.
5345 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5346
9c9bfc6d
VS
53472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5350 unknown key into a dprintf.
5351
dd94a3df
VS
53522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5355 on first non-existant partition.
5356
fa68d99c
VS
53572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5360 openning fails.
5361 Reported by: Mark Korenberg.
5362
157effb7
VS
53632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5366 overflow.
5367
ea75312f
VS
53682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5371 before closing to ensure that it will be readable by grub-setup.
5372
072b5d31
VS
53732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5376 (devpath_1): Use MAKE_PIWG_PATH.
5377 (devpath_2): Likewise.
5378 (devpath_3): Likewise.
5379 (devpath_4): Likewise.
5380 (devpath_5): Likewise.
5381 (devpath_6): Likewise.
5382
5383 The appleldr.mod was checked that to be binary identical to previous
5384 version.
5385
7fae0051
Z
53862011-05-05 Zach <mikezackles>
5387
5388 Support 2010 Macbooks.
5389
5390 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5391 (devs): Add devpath_6.
5392
7c515bee
VS
53932011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5396 /dev/random. /dev/urandom is good enough for our purposes (salting).
5397
ed660bd8
VS
53982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5401
ee5614b7
VS
54022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5405 hexadecimal.
5406
664889a6
VS
54072011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5410 and not 0 on failure.
5411
bd405bbc
CW
54122011-05-03 Colin Watson <cjwatson@ubuntu.com>
5413
5414 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5415 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5416 disk; otherwise grub_fs_probe will not fall back to the next
5417 filesystem.
5418 (grub_pxefs_open): Likewise, for consistency.
5419 Reported and tested by: Ezekiel Grave.
5420
4ebff753
CW
54212011-05-03 Colin Watson <cjwatson@ubuntu.com>
5422
5423 * tests/partmap_test.in: Don't hardcode path to parted.
5424 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5425
8f942553
CW
54262011-05-01 Colin Watson <cjwatson@ubuntu.com>
5427
5428 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5429 of `ls' to find out which devices are available.
5430
3c62402d
VS
54312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5434 than source address for efi mmap buffer.
5435
723f63f2
VS
54362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5439 wrong action on non-detecting the magic.
5440
68797f92
VS
54412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5444 already supplied by another part of the module (fixes compilation on
5445 FreeBSD).
5446
6be8715d
VS
54472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5450 match the one used by mdadm.
5451
e91dba5b
CW
54522011-04-21 Colin Watson <cjwatson@ubuntu.com>
5453
5454 * po/README: Add instructions for creating po/LINGUAS.
5455
c85140b3
CW
54562011-04-21 Colin Watson <cjwatson@ubuntu.com>
5457
5458 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5459 #551428.
5460
5461 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5462 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5463 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5464 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5465 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5466 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5467 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5468 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5469 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5470 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5471 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5472 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5473 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5474 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5475 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5476 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5477 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5478 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5479 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5480 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5481 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5482 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5483
92051871
CW
54842011-04-21 Colin Watson <cjwatson@ubuntu.com>
5485
5486 * grub-core/kern/emu/getroot.c
5487 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5488 test that was incorrectly reintroduced in r3214.
5489 Reported by: Ian Dall. Fixes Savannah bug #33133.
5490
b13f79a4
CW
54912011-04-21 Colin Watson <cjwatson@ubuntu.com>
5492
5493 Fix stack pointer handling in 16-bit relocator.
5494
5495 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5496 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5497 Fixes Ubuntu bug #683904.
5498
9b710a88
VS
54992011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * configure.ac: Bump version to 1.99~rc2.
5502
d97e7b59
VS
55032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5506 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5507 * grub-core/lib/x86_64/setjmp.S: Likewise.
5508 * grub-core/lib/mips/setjmp.S: Likewise.
5509 * grub-core/lib/powerpc/setjmp.S: Likewise.
5510 * grub-core/lib/sparc64/setjmp.S: Likewise.
5511
0624551c
VS
55122011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5515 * grub-core/lib/efi/datetime.c: Likewise.
5516
e8f28d4c
VS
55172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5520 New function.
5521 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5522 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5523 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5524
bba79a15
VS
55252011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5528 bitmap.
5529 (grub_gfxterm_term_init): Likewise.
5530
abc474ef
VS
55312011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 Take into account the decorations the computing menu entry width.
5534
5535 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5536 (grub_gfxmenu_create_box): Register get_border_width.
5537 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5538 if available.
5539 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5540 get_border_width.
5541
e74b3947
EP
55422011-04-18 Endres Puschner <code@e7p.de>
5543
5544 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5545 Don't skip first class.
5546
34faa595
VS
55472011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5550 chunks.
5551 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5552
93a777e3
VS
55532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Complete 64-bit division support.
5556
5557 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5558 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5559 * include/grub/misc.h (grub_divmod64): Rename to ...
5560 (grub_divmod64_full): ... this.
5561 (grub_divmod64): New inline function.
5562
a5102d94
VS
55632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5566
f3fb7b36
VS
55672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5570 performing the necessary test.
5571
9ac718b0
VS
55722011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5575 (kfreebsd.elf): Likewise.
5576 (pc-chainloader.elf): Likewise.
5577 (ntldr.elf): Likewise.
5578
50d2cc5a
VS
55792011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 Identify RAID by its UUID rather than (guessed) name.
5582
5583 * grub-core/disk/raid.c (ascii2hex): New function.
5584 (grub_raid_open): Accept mduuid/%s specification.
5585 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5586 (get_mdadm_uuid): ... this.
5587 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5588
e03f7bea
VS
55892011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5592 to negative size.
5593
e74c3112
CW
55942011-04-13 Colin Watson <cjwatson@ubuntu.com>
5595
5596 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5597 btrfs subvolume.
5598 * util/grub.d/20_linux_xen.in: Likewise.
5599
78fa584f
CW
56002011-04-13 Colin Watson <cjwatson@ubuntu.com>
5601
5602 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5603 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5604
5605 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5606 Build a list of relevant visible mounts using the mnt_id and
5607 parent_mnt_id fields, and then scan that list at the end.
5608
9d5f8162
CW
56092011-04-12 Colin Watson <cjwatson@ubuntu.com>
5610
5611 * docs/grub.texi (normal): New section.
5612 (normal_exit): New section.
5613 (Embedded configuration): Add reference to normal.
5614 (GRUB only offers a rescue shell): Likewise.
5615 * docs/grub-dev.texi (Error Handling): Fix typo.
5616
09a9d66f
CW
56172011-04-12 Colin Watson <cjwatson@ubuntu.com>
5618
5619 * NEWS: Drop obsolete entry about probe-only btrfs support.
5620
0c676933
CW
56212011-04-12 Colin Watson <cjwatson@ubuntu.com>
5622
5623 * util/import_gcry.py: Fix typo.
5624
ec9f5e0d
VS
56252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * NEWS: Add btrfs support.
5628
fe6b2cba
VS
56292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
56302011-04-11 Colin Watson <cjwatson@ubuntu.com>
5631
5632 BtrFS support. Written by me (Vladimir) with important bugfixes and
5633 even more important testing by Colin.
5634
5635 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5636 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5637 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5638 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5639 mem_input_off and mem_input. All users updated to accept in-RAM input.
5640 (gzio_seek): New function.
5641 (test_zlib_header): Likewise.
5642 (grub_gzio_read): Likewise.
5643 (grub_zlib_decompress): Likewise.
5644 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5645 Accept partial and non-virtual mounts.
5646 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5647 avoid receiving /dev/dm-X as device.
5648 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5649 Handle bind and partial mounts.
5650 * grub-core/lib/crc.c: New file.
5651 * include/grub/deflate.h: Likewise.
5652 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5653 proto.
5654 * include/grub/lib/crc.h: New file.
5655
e745cf0c
VS
56562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 Implement automatic module license checking according to new GNU
5659 guidelines.
5660
5661 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5662 (grub_dl_load_core): Use grub_dl_check_license.
5663 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5664 (GRUB_MOD_LICENSE): Likewise.
5665 (GRUB_MOD_DUAL_LICENSE): Likewise.
5666 All modules updated.
5667
2a9bc016
CW
56682011-04-11 Colin Watson <cjwatson@ubuntu.com>
5669
5670 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5671 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5672 loaders.
5673 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5674
8a3bc88e
VS
56752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5678
af869a4a
VS
56792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5682 failed.
5683
9ee8d94f
VS
56842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5687 parenthesis in the middle of the filename.
5688
b01abe3e
VS
56892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5692 rather than trying to put initrd way too high.
5693 Reported by: Ryan Lortie <desrt@desrt.ca>
5694
335bda1e
VS
56952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5698 improperly removed string.
5699
5ca1a64d
VS
57002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5703 is_disk.
5704 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5705 (open_device) Likewise.
5706 (grub_util_biosdisk_close): Likewise.
d8ce9995 5707 Reported by: Mark Korenberg.
5ca1a64d 5708
cbac5b1e
AK
57092011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5710
5711 * util/grub-mkconfig_lib.in: Add missing quotes.
5712
088cdb65
CW
57132011-04-10 Colin Watson <cjwatson@ubuntu.com>
5714
5715 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5716 is NULL.
5717
8b8a81fa
VS
57182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 Dynamically count the number of lines for the lower banner.
5721
5722 * grub-core/normal/menu_entry.c (per_term_screen): New member
5723 num_entries.
5724 (print_down): Use num_entries.
5725 (update_screen): Likewise.
5726 (grub_menu_entry_run): Set num_entries.
5727 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5728 num_entries.
5729 (grub_print_message_indented): Move real part to ...
5730 (grub_print_message_indented_real): ... here. Additional argument
5731 dry_run.
5732 (draw_border): Additional argument num_entries.
5733 (print_message): Additional argument dry_run.
5734 (print_entries): Receive menu viewer data.
5735 (grub_menu_init_page): New argment num_entries.
5736 (menu_text_set_chosen_entry): Use num_entries.
5737 (grub_menu_try_text): Likewise.
5738 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5739 All users updated.
5740 (grub_ucs4_count_lines): New function.
5741 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5742 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5743 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5744 (grub_term_border_height): Likewise.
5745 (grub_term_num_entries): Likewise.
5746
277f955b
VS
57472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5750 Remove now unused string.
5751
536ce85a
CW
57522011-04-09 Colin Watson <cjwatson@ubuntu.com>
5753
5754 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5755 build system.
5756 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5757
5758 (Comment): Fix typo.
5759 (Getting started): General copy-editing.
5760 (Typical Development Experience): Likewise.
5761 (Error Handling): Likewise.
5762 (Video API): Likewise.
5763
2cf09e32
CW
57642011-04-09 Colin Watson <cjwatson@ubuntu.com>
5765
5766 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5767 throughout.
5768
1ec652f4
VS
57692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5772 directory.
5773
2c583728
CW
57742011-04-08 Colin Watson <cjwatson@ubuntu.com>
5775
5776 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5777 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5778 "development".
5779
d7a565e9
VS
57802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5783 grub_strcpy since the lines aren't necessarily 0-terminated.
5784
7c2e4909
VS
57852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5788 root on legacy.
5789
34c09785
VS
57902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5793 (GRUB_MOD_INIT): DEVICE isn't optional.
5794
6a6f8058
VS
57952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5798 word on new line if it's too long anyway. Fixes a hang.
5799
2e335e90
VS
58002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5803 const.
5804 * util/grub-setup.c (main): Reuse md device name if available.
5805 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5806 not GRUB name as argument.
5807 Based on patch by: Florian Wagner <fwagner>.
5808
10a7a867
VS
58092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5812 Place mbi on low memory for better compatibility.
5813
7a3d6cd9
VS
58142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5817
18dd6b47
VS
58182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
58192011-04-08 Colin Watson <cjwatson@ubuntu.com>
5820
5821 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 5822 * conf/Makefile.common: Likewise.
18dd6b47 5823
3c0e3f14
VS
58242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5825
f7148863
VS
5826 * grub-core/normal/menu.c: Add missing include.
5827
58282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 5831
6d1fa41f
MZ
58322011-04-08 Martin Zuther <mzuther@mzuther.de>
5833
5834 * util/grub-mkconfig.in: Ignore emacsen backup.
5835
478182a8
VS
58362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5839 on open.
5840 (grub_util_biosdisk_close): Likewise.
5841
72a89a54
VS
58422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5845 const attribute and use grub_isdigit.
5846
b5ebecfa
A
58472011-04-06 Andrey <dev_null@ukr.net>
5848
5849 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5850 gcc warning.
5851
7755f66e
VS
58522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5855 useful grub_dprintf's.
5856
461121ff
VS
58572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5860
2a961775
VS
58612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5864
adf594cc
VS
58652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 Output errors if theme loading failed.
5868
5869 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5870 grub_gfxterm_fullscreen on error paths to ...
5871 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5872 theme loading error.
5873
665900a3
VS
58742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5877 space for older compilers.
5878 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5879
a562b479
VS
58802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5883 and report them as not RAID members since they are useless for GRUB.
5884 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5885
850e9373
VS
58862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Increase LVM implementation robustness in order not to crash on
5889 configurations like pvmove. Previously code assumed that in some places
5890 only lvs or only pvs are used whereas it seems that they are used
5891 interchangeably.
5892
5893 * grub-core/disk/lvm.c (read_node): New function.
5894 (read_lv): Use read_node.
5895 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5896 Match volumes only at the end when all lvs are found. Take both
5897 pvs (first) and lvs (second) into account.
5898 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5899 mirror_* into node_*. All users updated.
5900 (grub_lvm_stripe): Merge this ...
5901 (grub_lvm_mirror): ... and this ...
5902 (grub_lvm_node): ... into this. All users updated.
5903
6f332153
VS
59042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5907 of function to allow further scanning for LVMs.
5908
829ea451
VS
59092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5912 on failed seek as it breaks open fd reusage.
5913
09ceb9a5
VS
59142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * util/grub-install.in: Add a recommendation to use --recheck before
5917 reporting bugs.
5918
67e11623
VS
59192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5922 are obtained.
5923
caee5efd
VS
59242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 GRUB developper manual based on existing Internals section and
5927 contributions by the various authors with active copyright assignment.
5928
5929 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5930 * docs/font_char_metrics.png: New file.
5931 * docs/font_char_metrics.txt: Likewise.
5932 * docs/grub-dev.texi: Likewise.
5933 * docs/grub.texi (Internals): Move from here ...
5934 * docs/grub-dev.texi: ... here.
5935
2cccc747
CW
59362011-04-01 Colin Watson <cjwatson@ubuntu.com>
5937
5938 Store the loopback device as data on loopback grub_disk structures,
5939 rather than the file it points to. This fixes use of freed memory
5940 if an existing loopback device is replaced.
5941
5942 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5943 disk->data, not dev->file.
5944 (grub_loopback_read): Adjust file assignment to match.
5945 Fixes Ubuntu bug #742967.
5946
186ae367
CW
59472011-04-01 Colin Watson <cjwatson@ubuntu.com>
5948
5949 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5950 when replacing an existing device.
5951
cfed2ad0
VS
59522011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5955 memory corruptions.
5956
5957 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5958 unsigned.
5959 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5960 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5961 (grub_jfs_read_inode): Likewise.
5962 (grub_jfs_opendir): Likewise. Remove now useless casts.
5963 (grub_jfs_getent): Likewise.
5964 Make ino a grub_uint32_t rather than int.
5965 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5966 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5967 division and module with bit operations.
5968 (grub_jfs_find_file): Make ino a grub_uint32_t.
5969 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5970
05d2ed32
CW
59712011-04-01 Colin Watson <cjwatson@ubuntu.com>
5972
5973 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5974 warning. (This was in fact always initialised before use, but GCC
5975 wasn't smart enough to prove that.)
5976 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5977
91dc6073
VS
59782011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5981 stack alignment.
5982 (efi_wrap_1): Likewise.
5983 (efi_wrap_2): Likewise.
5984 (efi_wrap_3): Likewise.
5985 (efi_wrap_4): Likewise.
5986 (efi_wrap_5): Likewise.
5987 (efi_wrap_6): Likewise.
5988 (efi_wrap_10): Likewise.
5989 Based on information by: Red Hat/Peter Jones.
5990
a8afc1d1
CW
59912011-03-31 Colin Watson <cjwatson@ubuntu.com>
5992
5993 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5994 set-but-not-used variable.
5995
a826cc7d
CW
59962011-03-31 Colin Watson <cjwatson@ubuntu.com>
5997
5998 * docs/grub.texi (Simple configuration): Be more explicit about
5999 GRUB_DEFAULT, and add an example.
6000 Reported by: Leslie Rhorer.
6001
875b67ba
CW
60022011-03-30 Colin Watson <cjwatson@ubuntu.com>
6003
6004 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6005 shell".
6006
fd7cd914
AS
60072011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6008
6009 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6010 * util/grub.d/20_linux_xen.in: Likewise.
6011
090b1b6a
VS
60122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * util/grub.d/10_linux.in: Try alternative config filenames where
6015 we parse config file.
6016 * util/grub.d/20_linux_xen.in: Likewise.
6017
baad885c
AS
60182011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6019
6020 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6021 * util/grub.d/20_linux_xen.in: Likewise.
6022
241e41f5
VS
60232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/disk/raid.c (insert_array): Add few potentially
6026 useful grub_util_info.
6027 (grub_raid_register): Likewise.
6028
56445fb2
VS
60292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6032 Preserve partition number in mdadm code path.
6033
c871b1c6
VS
60342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6037 few potentially useful grub_util_info.
6038
5e631b4f
CW
60392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6042
2d5d0333
CW
60432011-03-30 Colin Watson <cjwatson@ubuntu.com>
6044
6045 * docs/grub.texi (default): Use @example rather than nested
6046 itemized lists to avoid breaking gendocs.
6047
3d7ed04e
CW
60482011-03-30 Colin Watson <cjwatson@ubuntu.com>
6049
6050 * docs/grub.texi (Future): Update.
6051
abf04200 60522011-03-30 Colin Watson <cjwatson@ubuntu.com>
6053
6054 * docs/grub.texi (Environment): New chapter.
6055 (Changes from GRUB Legacy): Link to "Environment block" section for
6056 details of limitations.
6057 (Simple configuration): Likewise. Link to documentation of gfxmode
6058 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6059 respectively.
6060 (Shell-like scripting): Note that normal variables are stored in the
6061 environment.
6062 (gettext): Link to documentation of lang and locale_dir.
6063 (list_env): New section.
6064 (load_env): New section.
6065 (save_env): New section.
6066
6067 (Reporting bugs): Fix typo.
6068
e1ad0edd
VS
60692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6072 the example.
6073
5d803174
VS
60742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/term/at_keyboard.c (set_scancodes)
6077 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6078
2a2da1d0
CW
60792011-03-30 Colin Watson <cjwatson@ubuntu.com>
6080
6081 * docs/grub.texi (Menu-specific commands): Remove some semantics
6082 that were true in GRUB Legacy but not in GRUB 2.
6083 (submenu): New section.
6084 (false): New section.
6085 (read): New section.
6086 (true): New section.
6087
a7527639
CW
60882011-03-30 Colin Watson <cjwatson@ubuntu.com>
6089
6090 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6091
60922011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
6093
6094 * docs/grub.texi (Simple configuration): Explain some of the
6095 current limitations of grub-mkconfig.
8a748df2 6096 Reported by: Leslie Rhorer.
e30af029 6097
fc858482
VS
60982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 Old macs search for boot.efi rather than for bootia32.efi.
6101
6102 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6103 * util/grub-mkrescue.in: Likewise.
6104 Suggested by: Peter Jones.
6105
e1eb511d
VS
61062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6109
70e75364
VS
61102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6113 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6114 (grub_lvm_mirror): New struct.
6115 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6116 (grub_lvm_iterate): Iterate only visible volumes.
6117 (grub_lvm_read): Factor out to ..
6118 (read_lv): ... this. Support mirrors.
6119 (grub_lvm_read): New wrapper function.
6120 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6121 stripped or mirrored.
6122
fc18f6a3
VS
61232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6126
5c650f4c
CW
61272011-03-29 Colin Watson <cjwatson@ubuntu.com>
6128
6129 * docs/grub.texi (loopback): New section.
6130
61d7156b
CW
61312011-03-29 Colin Watson <cjwatson@ubuntu.com>
6132
6133 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6134 removed -p option.
6135
994b8264
CW
61362011-03-29 Colin Watson <cjwatson@ubuntu.com>
6137
6138 * docs/grub.texi (BIOS installation): New section, partly based on
6139 previous text in other sections.
6140 (Installing GRUB using grub-install): Replace BIOS discussion with a
6141 cross-reference.
6142 (Images): Likewise.
6143
9e4d19e0
VS
61442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6147 [HAVE_DIOCGDINFO]: Add safety checks.
6148
a307c0b2
VS
61492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6152 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6153
b4db4f39
CW
61542011-03-29 Colin Watson <cjwatson@ubuntu.com>
6155
6156 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6157 real_sb->size is zero (e.g. RAID-0), get the disk size from
6158 real_sb->data_size instead.
6159 Fixes Ubuntu bug #743136.
6160
35e5f84c
VS
61612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6164 printf clauses for printing size and start.
6165
d2e29d81
VS
61662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6169 Reported and tested by: Timothy Nikkel.
6170
ed5587af
VS
61712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6174 (dirty_region_add_real): ... this.
6175 (dirty_region_add): Don't discard margin refresh when performing
6176 scheduled repaint.
6177
a1dc717c
VS
61782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * grub-core/lib/relocator.c (allocate_regstart)
6181 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6182 terminals are capabple of malloc-free operation.
6183 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6184 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6185
9f3677d3
VS
61862011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6187
6188 * util/grub-setup.c: Copy the partition table zone if floppy support
6189 is disabled, even if no partition table is found.
6190
6191 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6192 during POST if an invalid partition table is contained in the PBR
6193 of the active partition when GRUB is installed to a partition.
6194
24148725
CW
61952011-03-28 Colin Watson <cjwatson@debian.org>
6196
6197 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6198 comment.
6199
f329eda7
CW
62002011-03-28 Colin Watson <cjwatson@debian.org>
6201
6202 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6203 to be specific about what kind of RAID device we're scanning for.
6204
c482ad98
SG
62052011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6206
6207 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6208 return freed string.
6209
5ee04984
VS
62102011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6213
f4727da9
VS
62142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 Use libgeom on FreeBSD to detect partitions.
6217
6218 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6219 (grub-mkrelpath): Likewise.
6220 (grub-script-check): Likewise.
6221 (grub-editenv): Likewise.
6222 (grub-mkpasswd-pbkdf2): Likewise.
6223 (grub-fstest): Likewise.
6224 (grub-mkfont): Likewise.
6225 (grub-mkdevicemap): Likewise.
6226 (grub-probe): Likewise.
6227 (grub-setup): Likewise.
6228 (grub-ofpathname): Likewise.
6229 (grub-mklayout): Likewise.
6230 (example_unit_test): Likewise.
6231 (grub-menulst2cfg): Likewise.
6232 * grub-core/Makefile.core.def (grub-emu): Likewise.
6233 (grub-emu-lite): Likewise.
6234 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6235 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6236 define HAVE_DIOCGDINFO.
6237 (follow_geom_up) [FreeBSD]: New function.
6238 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6239 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6240 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6241 unconditionally of HAVE_DIOCGDINFO.
6242
82fe6c75
VS
62432011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 Fix FreeBSD compilation problem.
6246
6247 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6248 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6249
4c6c9431
CW
62502011-03-24 Colin Watson <cjwatson@ubuntu.com>
6251
6252 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6253 Switch back to page zero before loading a kernel, since some kernel
6254 drivers expect that.
6255 Thanks to: Felix Kuehling.
6256
c7064d94
VS
62572011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6260 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6261 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6262
3f71cded
VS
62632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6266 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6267
ef6de21a
VS
62682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6271 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6272 malloc is disabled.
6273
8bc66a2c
VS
62742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6277 for modules headers when counting the needed allocation size.
6278
5657722c
VS
62792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6282 if no ASCII character is found to prevent crash.
6283
41a85f55
AK
62842011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6285
6286 * grub-core/video/bitmap.c (match_extension): Ignore case.
6287
59e1e5f1
VS
62882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6291
bd4d051a
VS
62922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/script/parser.y: Declare "time" as valid argument.
6295
bae7fcc1
PJ
62962011-03-23 Peter Jones <pjones@redhat.com>
6297
6298 Fix incorrect assert failure reporting.
6299
6300 * grub-core/tests/example_functional_test.c (example_test): Add
6301 a failure comment.
6302 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6303 (failure_start): ...this. Check that malloc succeeded.
6304 Don't call xvasprintf. Return failure struct.
6305 (failure_append_vtext): New function.
6306 (failure_append_text): Likewise.
6307 (add_failure): Likewise.
6308 (grub_test_assert_helper): Likewise.
6309 * include/grub/test.h (grub_test_assert_helper): New declaration.
6310 (grub_test_assert): Macro rewritten.
6311
537dc9be
VS
63122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6315
fa3e01bf
VS
63162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6319
b1d28404
VS
63202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6323 into GRUB-style one.
6324
2e3e2e09
VS
63252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6328 error and not grub_errno.
6329 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6330
ed57e557
VS
63312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6334 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6335
d1611f01
VS
63362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * grub-core/efiemu/i386/pc/cfgtables.c
6339 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6340 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6341 (grub_xnu_unlock): Likewise.
6342 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6343
7d4e39d6
VS
63442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6347 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6348 * grub-core/commands/hashsum.c (aliases): Likewise.
6349 * grub-core/commands/setpci.c (pci_registers): Likewise.
6350 * grub-core/disk/usbms.c (attach_hook): Likewise.
6351 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6352 (zio_checksum_table): Likewise.
6353 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6354 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6355 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6356 * grub-core/lib/relocator.c (leftovers): Likewise.
6357 (extra_blocks): Likewise.
6358 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6359 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6360 (modules_last): Likewise.
6361 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6362 (devices): Likewise.
6363 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6364 (modules_last): Likewise.
6365 * grub-core/normal/auth.c (users): Likewise.
6366 * grub-core/normal/context.c (initial_menu): Likewise.
6367 (current_menu): Likewise.
6368 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6369 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6370 (grub_serial_terminfo_input_template): Likewise.
6371 (grub_serial_terminfo_output_template): Likewise.
6372 (grub_serial_terminfo_input): Likewise.
6373 (grub_serial_terminfo_output): Likewise.
6374 (registered): Likewise.
6375 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6376
40fc4659
VS
63772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6380 grub_video_mode_type_t.
6381 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6382 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6383 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6384
2da48d28
VS
63852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * util/grub-install.in: Correct the x86-64 name as x86_64.
6388
9b43bf39
CW
63892011-03-11 Colin Watson <cjwatson@ubuntu.com>
6390
6391 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6392 initial chunk read from the kernel always includes GRUB's multiboot
6393 header, which is now outside the first sector.
6394
be1a7ce0
CW
63952011-03-09 Colin Watson <cjwatson@ubuntu.com>
6396
6397 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6398 cached mmap_size, so that this works correctly when called multiple
6399 times.
6400 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6401
83a3c48d
CW
64022011-03-09 Colin Watson <cjwatson@ubuntu.com>
6403
6404 * docs/grub.texi (Simple configuration): Tidy up formatting.
6405
57d75699
SJ
64062011-03-07 Szymon Janc <szymon@janc.net.pl>
6407
6408 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6409 Set-but-not-used variable removed.
6410
028501a0
VS
64112011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 Workaround yet another IEEE1275 bug.
6414
6415 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6416 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6417 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6418 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6419 is set.
6420 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6421 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6422
d998657d
VS
64232011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6426 error.
6427
fee7cdd4
CW
64282011-02-11 Colin Watson <cjwatson@ubuntu.com>
6429
6430 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6431 empty, since in that case we can only generate either nothing or a
6432 syntactically invalid configuration file.
6433 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6434
97286eb5
CW
64352011-02-09 Colin Watson <cjwatson@ubuntu.com>
6436
6437 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6438 (Making a GRUB bootable CD-ROM): Likewise.
6439 (Invoking grub-mkrescue): New section.
6440 Reported by: Yann Dirson. Fixes Debian bug #612585.
6441
22b28eb3
CW
64422011-02-09 Colin Watson <cjwatson@ubuntu.com>
6443
6444 * util/grub-install.in: Remove unnecessary brackets from tr
6445 arguments.
6446 * util/grub.d/10_hurd.in: Likewise.
6447 * util/grub.d/10_kfreebsd.in: Likewise.
6448 * util/grub.d/10_linux.in: Likewise.
6449 * util/grub.d/20_linux_xen.in: Likewise.
6450 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6451
7e735e43
CW
64522011-02-08 Colin Watson <cjwatson@ubuntu.com>
6453
6454 * include/grub/file.h (not_easly_seekable): Rename to ...
6455 (not_easily_seekable): ... this. Update all users.
6456
800f1881
CW
64572011-01-28 Colin Watson <cjwatson@ubuntu.com>
6458
6459 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6460 grub-mkrescue.
6461
3281d3d6
VS
64622011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * util/grub-mkimage.c (generate_image): Refuse to create the images
6465 bigger than the actual flash (512K) in Loongson machines. 512K is also
6466 the biggest chip supported by them.
6467
3533413c
VS
64682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6471
73ae4f4f
VS
64722011-01-22 Anthony DeRobertis <anthony@derobert.net>
6473
6474 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6475 super_offset field.
6476
37f4f608
VS
64772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * util/grub-install.in: Ignore install device on platforms
6480 where it doesn't make sense. Always use UUIDs except on pc, efi and
6481 sparc64.
6482 Reported by: Daniel Kahn Gillmor.
6483
03a4ccb5
VS
64842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6487
ffc8f4d8
VS
64882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6491 (iterate_real): Don't rely on partition being non-NULL.
6492
80f23be7
VS
64932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6496 supported platforms. Put a compile time assert for this rather than
6497 generate a warning with 32-bit shift.
6498
5d4f4dd5
VS
64992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6502 logical expression more readable.
6503
e489601a
VS
65042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6507 even if some elements have a name.
6508 Reported by: Alexander GQ Gerasiov.
6509
96e0a6ea
CW
65102011-01-22 Colin Watson <cjwatson@ubuntu.com>
6511
6512 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6513 path unreadable if `grub-probe -t abstraction' fails, for example if
6514 memberlist fails on an LVM volume group.
6515 Reported by: Darius Jahandarie.
6516
81431e2b
CW
65172011-01-22 Colin Watson <cjwatson@ubuntu.com>
6518
6519 * docs/grub.texi (Simple configuration): Document
6520 GRUB_PRELOAD_MODULES.
6521
5e79d66a
CW
65222011-01-17 Colin Watson <cjwatson@ubuntu.com>
6523
6524 * .bzrignore: Remove nonexistent grub-pbkdf2.
6525
646ada34
VS
65262011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * configure.ac: Bump version to 1.99~rc1.
6529
04360337
VS
65302011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6533 for safety.
6534
46c9db88
VS
65352011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6538 module.
6539
65402011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
6541
6542 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6543
4fbf1852
VS
65442011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6547 diskdevid.
6548
f1632d4d
VS
65492011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Fix compilation on cygwin.
6552
6553 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6554 -R .drectve on cygwin.
6555 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6556 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6557 (COND_CYGWIN): New condition.
6558 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6559 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6560 not @TARGET_OBJ2ELF@.
6561 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6562 type to determine whether aux is to be used.
6563
0b5e127b
VS
65642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6567 realpath'ed device string.
6568 Handle floppy (somewhat).
6569 Issue error in unknown case rather than garbage.
6570 Reported by: Axel Beckert.
6571
173b71e9
VS
65722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * util/grub.d/00_header.in (load_video): Handle the case when no video
6575 drivers available.
6576 Thanks to: Axel Beckert.
6577
f8f479db
VS
65782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6581 variable. Fixes problem on big endian platforms.
6582
8fc0a245
VS
65832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6586 It doesn't work well there.
6587
b8494fbe
VS
65882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6591 warning.
6592 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6593 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6594 counter.
6595
b44a558c
VS
65962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 Use alias->path rather than buggy "canon".
6599
6600 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6601 (ofdisk_hash_add): New argument curcan. All users updated.
6602
51fa856c
CW
66032011-01-11 Colin Watson <cjwatson@ubuntu.com>
6604
6605 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6606
9da068a5
VS
66072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6610 loadmask before doing any calculations. Use correct type for offset.
6611 (grub_linux_load64): Likewise.
6612
86205c94
CW
66132011-01-11 Colin Watson <cjwatson@ubuntu.com>
6614
6615 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6616 with NULL.
6617 (console_grub_equivalences_unshift): Likewise.
6618 Reported by: Daniel Dehennin.
6619
4531a206
VS
66202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6623 (set_env_limn_ro): Likewise.
6624 (GRUB_MOD_INIT): Likewise.
6625 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6626 ARRAY_SIZE while on it.
6627 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6628 * grub-core/normal/context.c (grub_env_export): Move from here ...
6629 * grub-core/kern/env.c (grub_env_export): ... here.
6630 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6631 prefix.
6632 * grub-core/kern/main.c (grub_main): Export root and prefix.
6633 * include/grub/env.h (grub_env_export): Export.
6634 Reported by: Seth Goldberg.
6635
45146057
VS
66362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6639 Take into account space used by ELF sections and multiboot palette.
6640 Reported by: Grégoire Sutre.
6641
f093110b
VS
66422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * BUGS: New file.
6645
3395fe52
VS
66462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 Pass more appropriate video id to Linux.
6649
6650 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6651 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6652 fill have_vga.
6653 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6654 shift params->lfb_size.
6655 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6656
c2fa6cbb
VS
66572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6660
b3ff6ff0
VS
66612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6664 separator and pass bootpath/devid even if only one of them is available.
6665 Reported by: Seth Goldberg.
6666
ae67942e
VS
66672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6670 implementations bug on them.
6671
6672 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6673 memory.
6674 (filter_memory_map): Likewise.
6675
d570097a
VS
66762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6679 Reported by: nebuchadnezzar.
6680
a508e776
VS
66812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6684 Reported by: nebuchadnezzar.
6685
dcb883b1
VS
66862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 Submenu default support.
6689
6690 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6691 auto_boot. All users updated.
6692 Declared static.
6693 Handle chosen and default with submenus.
6694 (grub_menu_execute_with_fallback): Declared static.
6695 Don't notify failure if autobooted. Upper level does it.
6696 (menuentry_eq): New function.
6697 (get_entry_number): Use menuentry_eq.
6698 (show_menu): New parameter "autobooted". All users updated.
6699 (grub_show_menu): Likewise.
6700 * include/grub/normal.h (grub_show_menu): Likewise.
6701 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6702 (grub_menu_execute_with_fallback): Likewise.
6703
6fef99b4
VS
67042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * util/grub-mklayout.c (usage): Update help text.
6707
47a77af5
VS
67082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6711
ce6bb3ee
VS
67122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * util/grub-menulst2cfg.c (main): Trim the line.
6715
db87be2a
VS
67162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6719 (grub_machine_init): Don't check amount of low memory as reportedly
6720 INT 12h can be broken and if low memory is too low we wouldn't have
6721 gotten into grub_machine_init anyway.
6722
c49849cc
VS
67232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6726 (grub_machine_mmap_iterate): Take low memory into account
6727
b1969b30
VS
67282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6731 badfs.
6732 Reported by: TiCPU.
6733
cf0eaf13
VS
67342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6737 members errors.
6738
1f060f39
GS
67392011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6740
6741 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6742 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6743
a21e5672
GS
67442011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6745
6746 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6747 openbsd and netbsd types being in part_bsd module.
6748
c88172fa
VS
67492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6752 (_FILE_OFFSET_BITS): Likewise.
6753 Reported by: Seth Goldberg.
6754
53798c4b
GS
67552011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6756
6757 * configure.ac: Check for libdevmapper header.
6758
e7121b69
VS
67592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6762 avoid aliasing.
6763 (fzap_lookup): Likewise.
6764 (dnode_get): Likewise.
6765 (make_mdn): Likewise.
6766 (zfs_mount): Likewise.
6767 (fzap_iterate): Use temporary pointer to avoid aliasing.
6768 (grub_zfs_read): Likewise.
6769 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6770 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6771 pointers to avoid aliasing.
6772 (grub_cmd_xnu_kernel64): Likewise.
6773 (grub_xnu_load_driver): Likewise.
6774
fc836af9
VS
67752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6778 aliasing warning.
6779 (grub_cmd_terminal_output): Likewise.
6780 Reported and tested by: Grégoire Sutre.
6781
f9f37648
VS
67822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6785 warning.
6786 Reported and tested by: Grégoire Sutre.
6787
ec1dfd63
VS
67882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * configure.ac: Do CPU substitution even if it's specified explicitly.
6791 Reported and tested by: Alain Greppin.
6792
9462775a
VS
67932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6796 Reported and tested by: Alain Greppin.
6797
0fd48e35
VS
67982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Satisfy some bison versions need for inttypes.h.
6801
6802 * grub-core/lib/posix_wrap/inttypes.h: New file.
6803 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6804 (int16_t): Likewise.
6805 (int32_t): Likewise.
6806 (int64_t): Likewise.
6807 Reported and tested by: Alain Greppin.
6808
43f1bc83
VS
68092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6812 Silence spurious warning.
6813 Reported and tested by: Alain Greppin.
6814
64d1f041
SJ
68152011-01-07 Szymon Janc <szymon@janc.net.pl>
6816
6817 * docs/grub.texi (Support automatic decompression): Update with xz
6818 decompression support.
6819
25953e10
SJ
68202011-01-07 Szymon Janc <szymon@janc.net.pl>
6821
6822 Improve loaders' kernel command line handling.
6823
6824 * grub-core/lib/cmdline.c: New file.
6825 * include/grub/lib/cmdline.h: Likewise.
6826 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6827 grub_create_loader_cmdline to create kernel command line.
6828 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6829 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6830 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6831 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6832 (linux): Add lib/cmdline.c on common.
6833
e72d259f
VS
68342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6837 inopos might be unaligned.
6838
c0cf26da
VS
68392011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6842 endian transformations.
6843 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6844 Based on report by: Doug Nazar.
6845
0ca09e6c
DN
68462011-01-07 Doug Nazar <nazard.michi@gmail.com>
6847
6848 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6849 array->members[i].start_sector.
6850 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6851
014b6806
VS
68522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6855 Reported and tested by: Grégoire Sutre.
6856
415502c2
CW
68572011-01-06 Colin Watson <cjwatson@ubuntu.com>
6858
6859 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6860 avoid causing test failures by clearing the screen.
6861
71b6a2b7
CW
68622011-01-06 Colin Watson <cjwatson@ubuntu.com>
6863
6864 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6865 Fix prefix check to handle the case where dir ends with a slash
6866 (most significantly, "/" itself).
6867 Reported by: Michael Vogt.
6868
b3f8d28a
VS
68692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 Run terminfo_cls on initing terminfo output to clear the screen and
6872 move the cursor to (0,0).
6873
6874 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6875 Call grub_terminfo_output_init.
6876 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6877 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6878 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6879
4c3e4f37
VS
68802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6883 only when needed.
6884
488f71f1
VS
68852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6888 CTRL.
6889
18a38098
VS
68902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 The E820 type 5 is BADRAM, not EXEC_CODE.
6893
6894 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6895 (GRUB_E820_BADRAM): New define.
6896 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6897 into reserved. Propagate BADRAM.
6898 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6899 (GRUB_E820_BADRAM): New define.
6900
9eae2084
VS
69012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6904 Ignore the memory post-4G.
6905 (grub_relocator_firmware_alloc_region): Additional debug statement.
6906
ebc71d28
VS
69072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6910 names.
6911 Reported by: David Pravec.
6912
446fa400
VS
69132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6916 BIOSes.
6917
a0159f37
VS
69182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6921 Prevent overflow.
6922 (grub_reed_solomon_recover): Likewise.
6923
e5146ca1
VS
69242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6927
69282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
6929
6930 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6931 variable.
6932
5b1bdf12
CW
69332011-01-04 Colin Watson <cjwatson@ubuntu.com>
6934
6935 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6936 descriptions of extract_legacy_entries_source and
6937 extract_legacy_entries_configfile.
6938 Reported by: Seung Soo, Ha.
6939
99d925aa
CW
69402011-01-03 Colin Watson <cjwatson@ubuntu.com>
6941
6942 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6943 on devices that do not implement function 0.
6944
4af0504b
DV
69452011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6946
6947 * grub-core/fs/hfsplus.c: Make parent unsigned.
6948 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6949 overflows.
6950 (grub_hfsplus_cmp_extkey): Likewise
6951
469ee10a
VS
69522011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * util/grub-install.in: Correctly use bootloader_id and not
6955 GRUB_DISTRIBUTOR on efibootmgr line.
6956
323a8e9c
VS
69572011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6960
1b394975
IC
69612010-12-31 Ian Campbell <ijc@hellion.org.uk>
6962
6963 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6964 Xen and reorder menu item wording to make it clearer that this entry
6965 will launch Xen. Print separate messages when loading Xen and
6966 Linux.
6967
275bff5f
VS
69682010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6971 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6972 loop in case of incorrect amiga partmap.
6973
307806cb
VS
69742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6977 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6978 Reported by:EHeM.
6979
b12b923e
VS
69802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6983 spurious warning.
6984 Reported by: crocket
6985
14b48a19
VS
69862010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6989 Preload EFIemu.
6990 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6991
693db2df
VS
69922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6995 is loaded
6996 (grub_cmd_xnu_kextdir): Likewise.
6997 (grub_cmd_xnu_splash): Likewise.
6998
c7638645
VS
69992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 Avoid using Reed-Solomon with 0 redundancy.
7002
7003 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7004 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7005 or 0 redundancy.
7006 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7007 (grub_reed_solomon_recover): Likewise.
7008
25dd4780
VS
70092010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 Don't use disk subsystem in freebsd_boot.
7012
7013 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7014 (freebsd_biosdev): Likewise.
7015 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7016 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7017
0b2db943
VS
70182010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 Handling of files of unknown size is currently limited. They can't be
7021 used e.g. for initrd or modules. Moreover gzip handling of not
7022 easily seekable files is buggy. Disable unknown file size for now. May
7023 be inefficient but works.
7024
7025 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7026 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7027
5c408d0f
MP
70282010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7029
7030 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7031 floppy probe.
7032
190a011a
JD
70332010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7034
7035 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7036
022d01b8
SL
70372010-12-25 Shea Levy <shlevy>
7038
7039 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7040
c4855fdc
VS
70412010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7044 Windows Server 2008.
7045 Reported by: Devin Giddings.
7046
0354b867
VS
70472010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7050 writing an error message because of async power management.
7051 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7052 (grub_reboot): Likewise.
7053
ab66c69f
JU
70542010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7055
7056 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7057 keep unit tests from failing when they shouldn't.
7058
1426ef35
CW
70592010-12-21 Colin Watson <cjwatson@ubuntu.com>
7060
7061 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7062 previous patch increased the size of the RS code by 20 bytes (at
7063 least with gcc-4.4), so increase this by 20 bytes to match.
7064 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7065
20641b6b
CW
70662010-12-21 Colin Watson <cjwatson@ubuntu.com>
7067
7068 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7069 scratch area. Make sure to initialise chosen in standalone mode as
7070 well as non-standalone.
7071 Reported by: Robert Hooker and Andy Whitcroft.
7072 Tested by: Andy Whitcroft.
7073
d060ad60
CW
70742010-12-21 Colin Watson <cjwatson@ubuntu.com>
7075
7076 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7077 constructing a new unescaped string and passing it to grub_xputs in
7078 one go, rather than passing characters to grub_printf one at a time.
7079
b889cfad
CW
70802010-12-21 Colin Watson <cjwatson@ubuntu.com>
7081
7082 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7083 initialising utf16.
7084
4e01b6c8
CW
70852010-12-21 Colin Watson <cjwatson@ubuntu.com>
7086
7087 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7088 comment. Add an extra layer of quotation, requiring the output of
7089 this function to be used in a printf format string.
7090 (gettext_printf): New function.
7091 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7092 Extract translatable strings from here-documents and use a temporary
7093 variable instead, so that xgettext can find them.
7094 * util/grub.d/10_kfreebsd.in: Likewise.
7095 * util/grub.d/10_linux.in: Likewise.
7096 * util/grub.d/20_linux_xen.in: Likewise.
7097
7098 * po/grub.d.sed: New file.
7099 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7100 arguments. Set c-format flags on all strings extracted from
7101 util/grub.d/ (xgettext refuses to include these itself for strings
7102 it extracted from a shell file, but these really are c-format).
7103
5318fe98
VS
71042010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7107 Avoid next pointing to nowhere.
7108
6c85b743
VS
71092010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7112 rather than assuming than rootblock is exactly in the middle.
7113 (grub_affs_label): Likewise.
7114
a2a08a35
VS
71152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7118 reserved_first_sector to 0.
7119 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7120 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7121 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7122
7059d1ec
VS
71232010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 Fix handling of UTF-16 UDF labels.
7126
7127 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7128 (read_string): .. here.
7129 (grub_udf_label): Use read_string.
7130
30aff4cb
BC
71312010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7132
7133 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7134 editor under argument scope.
7135 Reported by: Jordan Uggla
7136
5cf86f4b
VS
71372010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7140
32570200
CW
71412010-12-18 Colin Watson <cjwatson@ubuntu.com>
7142
7143 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7144 line, and other keys scroll an entire page (previous handling was
7145 for \r and \n to scroll a page and other keys to scroll two lines).
7146
e1dffcf2
VS
71472010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7150 Set ptrdest to correct get_physical_target_address rather than
7151 incorrect get_virtual_current_address.
7152
b04298cf 71532010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7154
7155 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7156 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7157
5367ecd3
CW
71582010-12-10 Colin Watson <cjwatson@ubuntu.com>
7159
7160 * .bzrignore: Ignore grub-core/rs_decoder.S.
7161
1fb430f8
CW
71622010-12-10 Colin Watson <cjwatson@ubuntu.com>
7163
7164 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7165 .mo/.mo.gz opening sequence to ...
7166 (grub_mofile_open_lang): ... here.
7167 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7168 * util/grub.d/00_header.in (grub_lang): Include country part of
7169 locale.
7170 Reported by: Mario Limonciello.
7171
a94a6671
RM
71722010-12-09 Robert Millan <rmh@gnu.org>
7173
7174 * NEWS: Document addition of ZFS support.
7175
24b7938b
CW
71762010-12-04 Colin Watson <cjwatson@ubuntu.com>
7177
7178 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7179 rather than `/ 2', as the latter requires -Wa,--divide which would
7180 require bumping our minimum binutils version.
7181
bddc3ef6
BC
71822010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7183
7184 * util/grub-script-check.c (main): Print script line number on
7185 error.
7186
bf78d5b2
RM
71872010-12-01 Robert Millan <rmh@gnu.org>
7188
7189 * grub-core/fs/zfs/zfs.c: New file.
7190 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7191 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7192 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7193 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7194
7195 * include/grub/zfs/dmu.h: Likewise.
7196 * include/grub/zfs/dmu_objset.h: Likewise.
7197 * include/grub/zfs/dnode.h: Likewise.
7198 * include/grub/zfs/dsl_dataset.h: Likewise.
7199 * include/grub/zfs/dsl_dir.h: Likewise.
7200 * include/grub/zfs/sa_impl.h: Likewise.
7201 * include/grub/zfs/spa.h: Likewise.
7202 * include/grub/zfs/uberblock_impl.h: Likewise.
7203 * include/grub/zfs/vdev_impl.h: Likewise.
7204 * include/grub/zfs/zap_impl.h: Likewise.
7205 * include/grub/zfs/zap_leaf.h: Likewise.
7206 * include/grub/zfs/zfs.h: Likewise.
7207 * include/grub/zfs/zfs_acl.h: Likewise.
7208 * include/grub/zfs/zfs_znode.h: Likewise.
7209 * include/grub/zfs/zil.h: Likewise.
7210 * include/grub/zfs/zio.h: Likewise.
7211 * include/grub/zfs/zio_checksum.h: Likewise.
7212
7213 * Makefile.util.def: Build ZFS into libgrubmods.
7214 * grub-core/Makefile.core.def: Build zfs.mod.
7215
3f0f3831
SJ
72162010-11-30 Szymon Janc <szymon@janc.net.pl>
7217
7218 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7219 variable.
7220 * grub-core/commands/wildcard.c (match_files): Likewise.
7221
3a4253b2
RM
72222010-11-30 Robert Millan <rmh@gnu.org>
7223
7224 * grub-core/loader/i386/bsd.c
7225 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7226 whether kernel is loaded using grub_loader_is_loaded(), rather
7227 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7228 certain error conditions.
7229
8c317b27
RM
72302010-11-30 Robert Millan <rmh@gnu.org>
7231
c5c9cd3e
RM
7232 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7233 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 7234
49d3ab46
VS
72352010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 Avoid using tricks for initialising endian variables.
7238
7239 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7240 Make const.
7241 (GRUB_MOD_INIT): Don't byte-swap.
7242 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7243 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7244 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7245 (grub_swap_bytes32_compile_time): Likewise.
7246 (grub_cpu_to_le32_compile_time): Likewise.
7247 (grub_cpu_to_le16_compile_time): Likewise.
7248
f420a804
VS
72492010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * util/grub-setup.c (setup): Stop recommending --force. People who
7252 understand the dangers of blocklists are able to find this option
7253 anyway and the ones who don't shouldn't use it anyway.
7254
4e7db17b
RM
72552010-11-26 Robert Millan <rmh@gnu.org>
7256
7257 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7258 Update all users.
7259
9be57a0d
CW
72602010-11-26 Colin Watson <cjwatson@ubuntu.com>
7261
7262 Fix LVM-on-RAID probing.
7263
7264 * util/grub-probe.c (probe): Remember which disk was detected as
7265 RAID (perhaps an LVM physical volume). Use that disk's raidname
7266 rather than that of the top-level disk.
7267
2c7859b3 72682010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 7269
d7647bb6
BC
7270 Fix cmdline argument quotes for setparams command of menuentry
7271 definitions.
7e623b0d
BC
7272
7273 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7274 quotes for arguments.
f866fe80 7275 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 7276 grub_strchrsub function instead.
f866fe80 7277
7955bea0 7278 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 7279
74f72a64
CW
72802010-11-24 Colin Watson <cjwatson@ubuntu.com>
7281
7282 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7283 effort by skipping "." and ".." entries up-front.
7284 Suggested by: Michael Lazarev.
7285
5a407278
CW
72862010-11-24 Colin Watson <cjwatson@ubuntu.com>
7287
7288 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7289 ldflags to ldadd, to fix link line ordering.
7290 (none_decompress): Likewise.
7291
3030d8ec
CW
72922010-11-24 Colin Watson <cjwatson@ubuntu.com>
7293
7294 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7295 platforms.
7296 (grub-emu-lite): Remove kern/emu/cache.S.
7297
b7fbac12
CW
72982010-11-23 Colin Watson <cjwatson@ubuntu.com>
7299
7300 * util/deviceiter.c (compare_devices): If the by-id link for a
7301 device couldn't be resolved, fall back to sorting by the by-id link
7302 rather than segfaulting.
7303 Reported and tested by: Daniel Mierswa.
7304
5225f328
CW
73052010-11-23 Colin Watson <cjwatson@ubuntu.com>
7306
7307 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7308 ldflags, to fix link line ordering.
7309
038b3ce8
CW
73102010-11-23 Colin Watson <cjwatson@ubuntu.com>
7311
7312 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7313 linkers are picky about this.
7314
bf16e98e
CW
73152010-11-23 Colin Watson <cjwatson@ubuntu.com>
7316
7317 * grub-core/Makefile.am (command.lst): Adjust sed expression
7318 ordering so that extended and priority commands aren't treated as
7319 ordinary commands.
7320
7242bab6
CW
73212010-11-23 Colin Watson <cjwatson@ubuntu.com>
7322
7323 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7324 Remove byte-swapping function calls, which are not valid in
7325 structure initialisers.
7326 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7327 non-const.
7328 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7329 grub_gpt_partition_type_bios_boot.
7330
14e8b279
CW
73312010-11-22 Colin Watson <cjwatson@ubuntu.com>
7332
7333 Fix test program build on GNU/kFreeBSD.
7334
7335 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7336 $(LIBNVPAIR)' library dependencies.
7337
e6f63338 73382010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
7339
7340 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7341
cf8ffc38
CW
73422010-11-22 Colin Watson <cjwatson@ubuntu.com>
7343
7344 * util/grub-install.in: Remove excessive quoting that broke
7345 installations to RAID devices.
7346
7f8b0fd7
VS
73472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7350 bootloader version instead of 0.
7351
dfd240b1
VS
73522010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7355 warning.
7356
7b61e609
VS
73572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7360 retrieve the metadat sector if size isn't known.
7361 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7362
9dfe92d0
RM
73632010-11-18 Robert Millan <rmh@gnu.org>
7364
7365 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7366 with grub_memcmp().
7367
41cc919e
VS
73682010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7371 arrow.
7372 Reported by: Jordan Uggla.
7373
1afcc914
VS
73742010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 Make better UTF compliant.
7377
7378 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7379 sequences as incorrect.
7380 (grub_is_valid_utf8): Likewise.
7381 (grub_utf8_to_ucs4): Likewise.
7382 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7383 (grub_ucs4_to_utf8_alloc): Likewise.
7384 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7385
f1808884
VS
73862010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 Make legacy_source behave like source.
7389
7390 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7391 grub_show_menu.
7392 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7393
24ec575b
CW
73942010-11-16 Colin Watson <cjwatson@debian.org>
7395
7396 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7397 (-Wunused implies -Wunused-parameter, but not vice versa).
7398
72b7c7aa
CW
73992010-11-16 Colin Watson <cjwatson@ubuntu.com>
7400
7401 * configure.ac: Make error messages less confusing by testing for
7402 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7403 accepted, but produces a diagnostic if something else is wrong).
7404
e98937aa
VS
74052010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7408 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7409 (now unused).
7410 (grub_keyboard_controller_init)
7411 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7412 read the initial state since controller isn't inited yet.
7413
f6bbabc3
VS
74142010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7417 allocate_regbeg may need to create new chunk header.
7418
22e7dbb2
VS
74192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 Fix quoting in legacy parser.
7422
7423 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7424 single quotes.
7425 (grub_legacy_parse): Likewise.
7426 Reported by: Jordan Uggla.
7427 Tested by: Jordan Uggla.
7428
03f80960
VS
74292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 Don't add -lgcc on i386 and x86_64.
7432
7433 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7434 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7435 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7436
779dc15b
VS
74372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * configure.ac: Add -Wno-trampolines when supported.
7440
d20a3b37
MV
74412010-11-14 Modestas Vainius <modax@debian.org>
7442
7443 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7444 fakeraid.
7445
e5360933
GC
74462010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7447
7448 Add generic logical block size support for UDF.
7449
7450 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7451 (GRUB_UDF_BLKSZ): Removed.
7452 (struct grub_udf_data): New field "lbshift" to hold the logical block
7453 size of the file system in log2 format. All users updated.
7454 (sblocklist): Change type to unsigned.
7455 (grub_udf_mount): Change type of "sblklist" to unsigned.
7456 Move AVDP search before VRS recognition, because the latter requires
7457 knowledge of the logical block size, which is detected during the
7458 former.
7459 Detect and validate logical block size during AVDP search, adding
7460 support for block sizes 512, 1024 and 4096.
7461 Make VRS recognition independent of block size.
7462
cb0229c5
GC
74632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7464
7465 Properly handle deleted files on UDF.
7466
7467 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7468 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7469 set.
7470
406858a8
GC
74712010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7472
7473 Support reading files larger than 2 GiB.
7474
7475 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7476 "offset" to grub_off_t.
7477 (grub_udf_read_file): Likewise for parameter "pos".
7478
130da6a7
VS
74792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7482 unavailable.
7483 (Simple configuration): Refer to Changes from GRUB Legacy about
7484 save_env availability.
7485
65e93f6b
VS
74862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * util/grub-install.in: Ignore empty partition table detection
7489 instead of trying to include part_ module.
7490
1fd08bf1
VS
74912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7494 LVM on RAID support.
7495
de1a024f
VS
74962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 Properly define WORDS_BIGENDIAN in wrapped environments.
7499
7500 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7501 definition.
7502 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7503
7504 Reported by: Manoel Rebelo Abranches.
7505 Tested by: Manoel Rebelo Abranches.
7506
bc5dd0b9
VS
75072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * util/grub-mkconfig.in: Fix quoting.
7510
58c184be
VS
75112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 Support big ext2 files.
7514
7515 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7516 (grub_ext2_read_block): Support triple indirect blocks.
7517 (grub_ext2_read_file): Use 64-bit types and read size_high.
7518 (grub_ext2_open): Read size_high.
7519 Reported by: Ximin Luo.
7520 Tested by: Manoel Rebelo Abranches.
7521
5f0c02b3
VS
75222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * util/grub-install.in: Handle filenames containing spaces.
7525 Reported by: Jordan Uggla.
7526 Tested by: Jordan Uggla.
7527
4417aae6
VS
75282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * util/grub-mkconfig.in (grub_script_check): New variable.
7531 Use grub_script_check instead of grub-script-check.
7532 Reported by: Barry Jackson.
7533
7625a68e
VS
75342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * docs/grub.texi (menu): Correct the order.
7537 Reported by: D. Hugh Redelmeier.
7538
10001ac5
VS
75392010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7542 jump.
7543
9c4cf53b
MRA
75442010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7545
10001ac5
VS
7546 * include/grub/elfload.h (grub_elf32_size): New parameter.
7547 All users updated.
9c4cf53b
MRA
7548 Return maximum segments alignment.
7549 (grub_elf64_size): Likewise.
7550 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7551 Return maximum segments alignment.
7552 (grub_elf64_size): Likewise.
7553 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
7554 (grub_linux_claimmap_iterate): New function. Uses the
7555 "available" property in the "memory" node for memory allocation
7556 for kernel in the PowerPC loader.
9c4cf53b
MRA
7557 (grub_linux_load32): Correctly find linux entry point offset.
7558 (grub_linux_load64): Likewise.
7559
d2bf06bf
RM
75602010-11-07 Robert Millan <rmh@gnu.org>
7561
7562 On mips-yeeloong, build with -march=loongson2f when this flag is
7563 available (GCC >= 4.4).
7564 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7565 `-march=mips3'.
7566 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7567 or otherwise add -march=mips3.
7568
898c99a2
BC
75692010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7570
87220a68
BC
7571 Suppress shell expansion on echo '*' and echo "*" like cases.
7572 Reported by: Jordan Uggla.
898c99a2
BC
7573
7574 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7575 string arguments before shell expansion.
7576 * tests/grub_cmd_echo.in: New testcases.
7577
4f9b406a
RM
75782010-11-07 Robert Millan <rmh@gnu.org>
7579
7580 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7581 transition.
7582
80c6d25e
VS
75832010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/kern/emu/hostdisk.c
7586 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7587
4a1a0153
VS
75882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7591 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7592 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7593
34706ddc
VS
75942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7597
6972dea9
VS
75982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * util/grub-install.in: Replace useless recomendation to pass
7601 --modules with a recomendation to report a bug.
7602
9c693bd6
VS
76032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 Properly register serial terminfo.
7606 Reported by: Jordan Uggla
7607
7608 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7609 const.
7610 (grub_serial_terminfo_output_template): Likewise.
7611 (grub_cmd_serial): Register "serial" with terminfo.
7612 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7613 grub_serial_terminfo_output.
7614
6c9e4c0c
RM
76152010-11-05 Robert Millan <rmh@gnu.org>
7616
7617 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7618 needed).
7619
b9b3839f
RM
76202010-11-05 Robert Millan <rmh@gnu.org>
7621
7622 On Yeeloong, pass machine type information to Linux.
7623
7624 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7625 (LOONGSON_MACHTYPE): New macro, set to
7626 "machtype=lemote-yeeloong-2f-8.9inches".
7627 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7628 additional argument to Linux.
7629
1a3aaff4
RM
76302010-11-04 Robert Millan <rmh@gnu.org>
7631
7632 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7633 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7634 (its SATA disks are detected as slaveless IDE master drives on
7635 kFreeBSD).
7636 Reported by Carsten Aulbert.
7637
a75f4f62
CW
76382010-11-02 Colin Watson <cjwatson@ubuntu.com>
7639
7640 * util/bin2h.c (main): Fix spelling error in generated output.
7641
33b4b0c6
GS
76422010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7643
7644 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7645
2b36fbf4
VS
76462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7649 vga= option is supplied.
7650
74aaf558
VS
76512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7654 * util/grub.d/10_kfreebsd.in: Likewise.
7655 * util/grub.d/10_linux.in: Likewise.
7656 * util/grub.d/20_linux_xen.in: Likewise.
7657
6428dec3
VS
76582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7661 argument as an argument to no-argument option.
7662
f8729d98
VS
76632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * util/grub.d/10_linux.in: Add missing load_video with explicit
7666 GRUB_GFXPAYLOAD_LINUX.
7667
89d68fa6
VS
76682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7671
3a1197cd
VS
76722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7675 elements with invlid index.
7676 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7677 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7678 members.
7679 * include/grub/raid.h (grub_raid_member): New struct.
7680 (grub_raid_array): Transform devices and start_sector into usage of
7681 grub_raid_member. All users updated
7682 (allocated_devs): New member.
7683
71574288
VS
76842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7687 is modified
7688
8d40ec65
BC
76892010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7690
7691 NetBSD build fix for getline function conflict from gnulib.
7692
7693 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7694 components that depend on gnulib headers.
7695 (libgrubmods.a): Renamed from earlier libgrub.a.
7696 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7697
95b9257e
VS
76982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7701 install rather than creating a broken install.
7702
26c53dc6
VS
77032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * util/grub-setup.c (argp): Remove misleading example of installing to
7706 a partition.
7707
4171b3c5
VS
77082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * util/grub-setup.c (setup): Clarify the error message.
7711
18568d18
VS
77122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7715
4f6a2e21
VS
77162010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/kern/emu/misc.c
7719 (grub_make_system_path_relative_to_its_root)
7720 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7721
77222010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
7723
7724 * grub-core/kern/emu/misc.c
7725 (grub_make_system_path_relative_to_its_root): Revert r2882.
7726
e138c458
VS
77272010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7730 useless field head. All users updated.
7731 (free_subchunk): Correct handling of IN_REGION subchunk.
7732
0cbcdf0e
CW
77332010-10-22 Colin Watson <cjwatson@ubuntu.com>
7734
7735 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7736 (Supported kernels): Likewise.
7737
b65ea155
GS
77382010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7739
7740 Make mktemp invocations portable.
7741
7742 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7743 exit if mktemp fails.
7744 * tests/grub_script_blockarg.in: Likewise.
7745 * tests/partmap_test.in: Likewise.
7746 * tests/util/grub-shell-tester.in: Likewise.
7747 * tests/util/grub-shell.in: Likewise.
7748 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7749 * Makefile.am: Likewise, and chain shell commands with `&&'
7750 instead of ';'.
7751 * util/grub-mkrescue.in: Use the same explicit template as above, and
7752 exit if mktemp fails.
7753
05f43cdd
BC
77542010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7755
7756 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7757 Linux kernel, reported by Dennis Schridde.
7758
800e6a9b
SJ
77592010-10-17 Szymon Janc <szymon@janc.net.pl>
7760
7761 * grub-core/normal/auth.c (grub_auth_check_authentication):
7762 Set-but-not-used variable removed.
7763
d82df574
VS
77642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7767 32-bit linux protocol.
7768
7bced458
VS
77692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7772 cursor shape for sanity.
7773
5b027690
VS
77742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * docs/grub.texi (Installation): Document buggy BIOS install.
7777
ba5f65cf
VS
77782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * docs/grub.texi (Installation): Indent.
7781
fdf2ec9c
VS
77822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * util/grub-setup.c (setup): New parameter allow_floppy.
7785 (arguments): New member allow_floppy.
7786 (argp_parser): Handle --allow-floppy.
7787 (main): Pass allow_floppy.
7788 * util/grub-install.in: New option --allow-floppy passed though to
7789 grub-setup.
7790
861dfd4c
VS
77912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * util/grub-install.in: Handle partitionless disks.
7794
f77a8c24
VS
77952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * util/grub-setup.c (setup): Don't clean blocklists before readability
7798 verfification.
7799
27d9ee32
VS
78002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * docs/grub.texi (Installation): Document embedding zone. Remove
7803 obsolete grub-install example.
7804
6bdda8f8
SJ
78052010-10-16 Szymon Janc <szymon@janc.net.pl>
7806
7807 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7808 Set-but-not-used variable ifdef'ed.
7809 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7810 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7811 variable removed.
7812 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7813 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7814 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7815 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7816 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7817 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7818 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7819 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7820 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7821 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7822 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7823 Likewise.
7824
e19b016b
VS
78252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7828 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7829 enum value.
7830
6c8d3002
VS
78312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7834 synonym to _S5_. Needed for some DSDTs.
7835
c32b51c9
VS
78362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 Userspace ACPI parser debugging.
7839
7840 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7841 headers and add relevant defines. Don't include standard headers.
7842 (main) [GRUB_DSDT_TEST]: New function.
7843 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7844 Don't declare functions.
7845
fbfbeb39
VS
78462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 Remove dead grub_efi_mm_fini.
7849
7850 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7851 (ALLOCATED_PAGES_SIZE): Likewise.
7852 (MAX_ALLOCATED_PAGES): Likewise.
7853 (allocated_pages): Likewise.
7854 (grub_efi_allocate_pages): Don't record allocated pages.
7855 (grub_efi_free_pages): Likewise.
7856 (grub_efi_mm_init): Likewise.
7857 (grub_efi_mm_fini): Removed.
7858
65f7ed7c
VS
78592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7862 (grub_efi_mm_init): Take into account the memory map size increase.
7863
24977b44
VS
78642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7867 (serial_hw_put): Wait based on real time rather than port reads. Don't
7868 roken ports.
7869 * include/grub/serial.h (grub_serial_port): New field broken.
7870
1eb01cd2
RM
78712010-10-16 Robert Millan <rmh@gnu.org>
7872
7873 * grub-core/kern/emu/misc.c
7874 (grub_make_system_path_relative_to_its_root): Fix premature return
7875 when processing non-root ZFS filesystems.
5f8b440b 7876 Reported by Sergio Talens-Oliag.
1eb01cd2 7877
2d5fed60
RM
78782010-10-15 Robert Millan <rmh@gnu.org>
7879
7880 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7881 guarantee compressed ones are processed first.
7882
d0f4c1ea
VS
78832010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7886 grub_efiemu_autocore.
7887
d87c681f
VS
78882010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7891 rather than 0x1b.
7892 (grub_console_getkey): Use correct jae opcode rather than ja.
7893
219b3564
RM
78942010-10-12 Robert Millan <rmh@gnu.org>
7895
7896 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7897 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7898 variable. All references updated.
7899
7900 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7901
20c6bb7e
VS
79022010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 Correctly distinguish mdraid flavours.
7905
7906 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7907 (insert_array): New argument raid.
7908 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7909 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7910 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7911
74baff84
VS
79122010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7915 handling of special keys.
7916
3ef068df 79172010-10-02 Aleš Nesrsta <starous@volny.cz>
7918
c7980ad9
VS
7919 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7920 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 7921
a9455194 79222010-10-02 Aleš Nesrsta <starous@volny.cz>
7923
c7980ad9
VS
7924 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7925 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7926 users updated.
a9455194 7927 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 7928 Use right endpoint when querying descriptor.
a9455194 7929
441cfe65
VS
79302010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 Clear out 0x80 color bit on EFI.
7933 Tested by: decoder
7934 Reported by: decoder and meta tech.
7935
7936 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7937 (grub_console_setcolorstate): Clear out 0x80 bit.
7938 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7939 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7940 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7941
bf26bcc4
VS
79422010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7945 Set to "auto".
7946
6e3c515d
VS
79472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7950 mo_file after freeing.
7951
e6d983ba
VS
79522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7955
74ccb5b5
VS
79562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7959 flags.
7960
17821956
VS
79612010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7964 usage.
7965
ee74fa48
VS
79662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7969
7970 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7971 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7972 and terminfo.h when needed.
7973 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7974 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7975 (terminfo): Enable only on terminfokernel.
7976 (extcmd): Likewise.
7977 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7978 * include/grub/lib/arg.h: Likewise.
7979 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7980 incorrect usage of ->.
7981
aa438e68
VS
79822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7985 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7986
57994012
VS
79872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 Fix coreboot compilation.
7990
7991 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7992 Take VBE info into account even if only text is supported.
7993 (fill_vbe_info): Take into account the case when only VGA text
7994 is supported.
7995 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7996 on coreboot, multiboot and qemu.
7997
2a406611
VS
79982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8001 debug messages.
8002 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8003
d33613fc
VS
80042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8007 parameters.
8008
44a1b432
VS
80092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8012 if they were BSD-style.
8013
edde54e6
VS
80142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/boot/i386/pc/lnxboot.S: Replace
8017 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8018 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8019
b65830fa
VS
80202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 Write embedding zone using Reed-Solomon.
8023
8024 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8025 * grub-core/Makefile.am (rs_decoder.S): New target.
8026 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8027 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8028 (multiboot): Move to RS part.
8029 (post_reed_solomon): New label.
8030 (grub_boot_drive): Move to non-RS part since it's modified in memory
8031 on boot.
8032 Include rs_decoder.S.
8033 * grub-core/lib/reed_solomon.c: New file.
8034 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8035 New definition.
8036 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8037 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8038 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8039 * include/grub/partition.h (grub_partition_map): Change prototype of
8040 embed to allow returning additional sectors.
8041 * include/grub/reed_solomon.h: New file.
8042 * util/grub-setup.c (setup): Handle Reed-Solomon.
8043
0b4b227f
CW
80442010-09-28 Colin Watson <cjwatson@ubuntu.com>
8045
8046 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8047 i386 and x86-64 definedness tests.
8048
f772623b
YB
80492010-09-27 Yves Blusseau <blusseau@zetam.org>
8050
8051 Fix generation of kernel_syms.lst
8052
8053 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8054 ASM_PREFIX
8055
8e57a6ca
RM
80562010-09-26 Robert Millan <rmh@gnu.org>
8057
8058 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8059
8060 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8061 the pool is an array of devices, iterate through it and return the
8062 first device that passes a stat() test (instead of blindly returning
8063 the first one).
8064
f9130836
RM
80652010-09-26 Robert Millan <rmh@gnu.org>
8066
8067 Build fixes for GNU/kFreeBSD.
8068
8069 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8070 to programs that require ZFS conversion.
8071 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8072 kernels that don't have FLOPPY_MAJOR.
8073
96510faf
BC
80742010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8075
8076 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8077
449333eb
BC
80782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8079
8080 Fix grub-emu build.
8081
8082 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8083 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8084 mdraid09 and mdraid1x.
8085
e1fd1939
CW
80862010-09-24 Colin Watson <cjwatson@ubuntu.com>
8087
8088 Re-enable grub-extras.
8089
8090 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8091 avoid confusing Automake. Run autogen only twice, once for the top
8092 level and once for grub-core. Add Makefile.util.def and
8093 Makefile.core.def from extra modules to the appropriate autogen
8094 invocations. If Makefile.common exists in an extra module, include
8095 it in both Makefile.util.am and grub-core/Makefile.core.am;
8096 similarly, include any Makefile.util.common file in Makefile.util.am
8097 and any Makefile.core.common file in grub-core/Makefile.core.am.
8098 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8099 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8100 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8101 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8102
8103 * gentpl.py (gvar_add): Turn GVARS into a set.
8104 (global_variable_initializers): Sort global variables on output.
8105 (vars_init): New function.
8106 (first_time): Likewise.
8107 (library): Ensure that non-global variable initialisations are
8108 emitted before the first time we emit code for a library block.
8109 Append to variables rather than setting them. Only emit
8110 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8111 each conditional path.
8112 (program): installdir() emits an Autogen macro, so must be passed to
8113 var_add rather than gvar_add.
8114 (data): Likewise.
8115 (script): Likewise.
8116 (rules): New function, centralising handling for different target
8117 types. Set up Guile association lists for first_time and vars_init,
8118 and send most output to a diversion so that variable initialisations
8119 can be emitted first.
8120 (module_rules): Use new rules function.
8121 (kernel_rules): Likewise.
8122 (image_rules): Likewise.
8123 (library_rules): Likewise.
8124 (program_rules): Likewise.
8125 (script_rules): Likewise.
8126 (data_rules): Likewise.
8127
8128 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8129
8130 * .bzrignore: Add contrib and grub-core/contrib. Remove
8131 grub-core/Makefile.gcry.am.
8132
1d12cf29
YB
81332010-09-24 Yves Blusseau <blusseau@zetam.org>
8134
8135 * grub-core/lib/LzFind.c: Add missing include.
8136 * grub-core/lib/LzmaEnc.c: Likewise.
8137 * grub-core/script/lexer.c: Likewise.
8138 * grub-core/script/yylex.l: Likewise.
8139 * util/grub-macho2img.c: Likewise.
8140 * util/grub-menulst2cfg.c: Likewise.
8141 * util/grub-mklayout.c: Likewise.
8142 * util/grub-mkpasswd-pbkdf2.c
8143 * util/grub-mkrelpath.c: Likewise.
8144 * util/resolve.c: Likewise.
8145
dd363028
BC
81462010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8147
8148 * Makefile.util.def (example_unit_test): Add
8149 grub-core/gnulib/libgnu.a.
8150
f5a109e2
GS
81512010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8152
8153 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8154
6d0fa83c
VS
81552010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 Support xz compression on yeeloong.
8158
8159 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8160 * configure.ac: Check for LZMA.
8161 * grub-core/Makefile.core.def (xz_decompress): New target.
8162 (none_decompress): Likewise.
8163 * grub-core/boot/decompressor/minilib.c: New file.
8164 * grub-core/boot/decompressor/none.c: Likewise.
8165 * grub-core/boot/decompressor/xz.c: Likewise.
8166 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8167 * grub-core/kern/mips/cache_flush.S: Likewise.
8168 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8169 * grub-core/kern/mips/startup.S: Move first stage to ...
8170 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8171 nomacro.
8172 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8173 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8174 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8175 Allocate statically.
8176 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8177 Allocate statically or use scratch. Don't check CRC32.
8178 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8179 Allocate statically. Don't check CRC32.
8180 * include/grub/decompressor.h: New file.
8181 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8182 Removed.
8183 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8184 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8185 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8186 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8187 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8188 * util/grub-mkimage.c (grub_compression_t): New type.
8189 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8190 (image_target_desc): New field default_compression.
8191 (image_targets): Adjust yeeloong targets.
8192 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8193 (compress_kernel): New parameter comp.
8194 (generate_image): Likewise. Handle new compression case.
8195 (options): New option --compression
8196 (help): Likewise.
8197 (main): Handle new option.
8198
1b655af6
GS
81992010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8200
8201 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8202
8f03f0b5
CW
82032010-09-22 Colin Watson <cjwatson@ubuntu.com>
8204
8205 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8206 typo in __i386__ conditional.
8207
7835dfd3
VS
82082010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8211 include.
8212
e255597e
VS
82132010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8214
6d0fa83c 8215 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
8216
8217 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8218 new tags as supported.
8219 (acpiv2_size): New function.
8220 (grub_multiboot_get_mbi_size): Take new tags into account.
8221 (grub_multiboot_make_mbi): Add new tags.
8222 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 8223
6cc14051 82242010-09-21 Aleš Nesrsta <starous@volny.cz>
8225
8226 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8227 Added missing configuration of USB device.
8228
df7769d8
CW
82292010-09-21 Colin Watson <cjwatson@ubuntu.com>
8230
8231 * grub-core/normal/menu_entry.c (run): Make sure we always return
8232 a value.
8233
b031012d
CW
82342010-09-21 Colin Watson <cjwatson@ubuntu.com>
8235
8236 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8237 NumberOfPages is UINT64 according to the UEFI specification, not
8238 UINTN. Fix printf format.
8239
174de8f3
CW
82402010-09-21 Colin Watson <cjwatson@ubuntu.com>
8241
8242 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8243 `err' to grub_usb_err_t.
8244 Reported and tested by: KESHAV P.R.
8245
d7dbe923
CW
82462010-09-21 Colin Watson <cjwatson@ubuntu.com>
8247
8248 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8249 tpart non-const, so that we can assign to it. (Since this is a
8250 typedef, the constness refers to the pointer rather than what it
8251 points to.)
8252
8d5e2af3
CW
82532010-09-21 Colin Watson <cjwatson@ubuntu.com>
8254
8255 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8256 $(top_srcdir)/grub-core/gnulib as well as
8257 $(top_builddir)/grub-core/gnulib.
8258 Reported by: KESHAV P.R.
8259
5c527783
CW
82602010-09-21 Colin Watson <cjwatson@ubuntu.com>
8261
8262 * util/grub-install.in: Fix the bootloader ID option to be
8263 consistently --bootloader-id, not --bootloader_id.
8264 Reported by: KESHAV P.R.
8265
d309a16e
CW
82662010-09-21 Colin Watson <cjwatson@ubuntu.com>
8267
8268 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8269 check hash checksum." consistently translatable.
8270
b830cd16
YB
82712010-09-21 Yves Blusseau <blusseau@zetam.org>
8272
8273 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8274 $(top_builddir).
8275
c4fe27a8
CW
82762010-09-21 Colin Watson <cjwatson@ubuntu.com>
8277
8278 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8279 (GRUB_MOD_INIT): Register sha1sum command.
8280 (GRUB_MOD_FINI): Unregister sha1sum command.
8281
a4c1d277
YB
82822010-09-21 Yves Blusseau <blusseau@zetam.org>
8283
8284 Keep boot and grub directory names in sync with utils scripts
8285
8286 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8287 * config.h.in: Add previous macros.
8288 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8289 * util/grub-install.in: Use $bootdir and $grubdir variables.
8290
4eff79d2
CW
82912010-09-21 Colin Watson <cjwatson@ubuntu.com>
8292
8293 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8294 convert partition names to disk names if the new `convert' parameter
8295 is set.
8296 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8297 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8298 disk in its own right. This can happen with Xen disk images.
8299
934d7e44
YB
83002010-09-21 Yves Blusseau <blusseau@zetam.org>
8301
8302 * util/grub-editenv.c: Update strings to avoid warnings when generating
8303 grub.pot file.
8304 * util/grub-setup.c: Likewise.
934d7e44 8305
df3367cc
VS
83062010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * configure.ac: Change version to 1.99~beta0.
8309
77a94e98
VS
83102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8313 Add BADRAM.
8314 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8315 Likewise.
8316 * include/multiboot.h: Resynced with specification.
8317 * include/multiboot2.h: Likewise.
8318
269004c1
CW
83192010-09-21 Colin Watson <cjwatson@ubuntu.com>
8320
8321 Fix po directory handling.
8322
8323 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8324 * grub-core/gnulib/Makefile.am: Import gettext module.
8325 * m4/gnulib-cache.m4: Likewise.
8326 * m4/gnulib-comp.m4: Likewise.
8327 * m4/gettext.m4: New file, from gnulib.
8328 * m4/glibc2.m4: Likewise.
8329 * m4/iconv.m4: Likewise.
8330 * m4/intdiv0.m4: Likewise.
8331 * m4/intl.m4: Likewise.
8332 * m4/intldir.m4: Likewise.
8333 * m4/intlmacosx.m4: Likewise.
8334 * m4/intmax.m4: Likewise.
8335 * m4/inttypes-pri.m4: Likewise.
8336 * m4/lcmessage.m4: Likewise.
8337 * m4/lib-ld.m4: Likewise.
8338 * m4/lib-link.m4: Likewise.
8339 * m4/lib-prefix.m4: Likewise.
8340 * m4/lock.m4: Likewise.
8341 * m4/nls.m4: Likewise.
8342 * m4/po.m4: Likewise.
8343 * m4/printf-posix.m4: Likewise.
8344 * m4/progtest.m4: Likewise.
8345 * m4/threadlib.m4: Likewise.
8346 * m4/uintmax_t.m4: Likewise.
8347 * m4/visibility.m4: Likewise.
8348 * po/Makefile.am: Remove.
8349 * po/Makefile.in.in: New file, from gettext.
8350 ($(DOMAIN).pot-update): Support POTFILES-shell.
8351 * po/Makevars: New file.
8352 * po/POTFILES-shell: Rename to ...
8353 * po/POTFILES-shell.in: ... this. Update.
8354 * po/POTFILES: Rename to ...
8355 * po/POTFILES.in: ... this. Update.
8356 * po/Rules-quot: New file, from gettext.
8357 * po/boldquot.sed: Likewise.
8358 * po/en@boldquot.header: Likewise.
8359 * po/en@quot.header: Likewise.
8360 * po/insert-header.sin: Likewise.
8361 * po/quot.sed: Likewise.
8362 * po/remove-potcdate.sin: Likewise.
8363
3e0fa5d0
VS
83642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8367
ade9bd66
VS
83682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * util/grub.d/20_linux_xen.in: Use submenus.
8371
fc55cc4c
VS
83722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 Support submenus.
8375
8376 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8377 parameter submenu. All users updated.
8378 * grub-core/normal/main.c (free_menu): Rename to ...
8379 (grub_normal_free_menu): ... this. Made global.
8380 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8381 if requested.
8382 * grub-core/normal/menu_entry.c (screen): New field submenu.
8383 (make_screen): Set submenu.
8384 (run): Open new context if requested.
8385 * include/grub/menu.h (grub_menu_entry): New field submenu.
8386 * include/grub/normal.h (grub_normal_free_menu): New proto.
8387
600cedf7
VS
83882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 Menu entries extractor.
8391
8392 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8393 variants.
8394 (GRUB_MOD_INIT): Register new variants.
8395 (GRUB_MOD_FINI): Unregister new variants.
8396 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8397 into grub_cmd_legacy_source.
8398 (grub_cmd_legacy_source): Implement extractor variants.
8399 (GRUB_MOD_INIT): Register new variants.
8400 (GRUB_MOD_FINI): Unregister new variants.
8401 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8402 as an extractor.
8403 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8404 search as an extractor.
8405 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8406 test as an extractor.
8407 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8408 as an extractor.
8409 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8410 (grub_env_new_context): New function.
8411 (grub_env_context_open): Likewise.
8412 (grub_env_extractor_open): Likewise.
8413 (grub_env_extractor_close): Likewise.
8414 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8415 grub_extractor_level.
8416 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8417 * include/grub/env.h (grub_env_extractor_open): New proto.
8418 (grub_env_extractor_close): Likewise.
8419 * include/grub/normal.h (grub_extractor_level): New external variable.
8420
7bda3a87
VS
84212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 Make cutmem accept a region specification.
8424 Suggested by: Samuel Thibault
8425
8426 * grub-core/mmap/mmap.c (parsemem): New function.
8427 (grub_cmd_cutmem): Handle new arguments.
8428
2ea57f88
VS
84292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 New command cutmem.
8432
8433 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8434 (GRUB_MOD_INIT): Register new command.
8435 (GRUB_MOD_FINI): Unregister new command.
8436
74342e31
VS
84372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 Support some annoying BSD and Minix subpartitions.
8440
8441 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8442 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8443 Properly handle concatenation.
8444 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8445 * grub-core/normal/completion.c (iterate_partition): Likewise.
8446 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8447 contain partition. All users updated.
8448 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8449 struct.
8450 (grub_openbsdlabel_partition_map): Likewise.
8451 (bsdlabel_partition_map_iterate): Rename to ..
8452 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8453 (bsdlabel_partition_map_iterate): New function.
8454 (netopenbsdlabel_partition_map_iterate): Likewise.
8455 (netbsdlabel_partition_map_iterate): Likewise.
8456 (openbsdlabel_partition_map_iterate): Likewise.
8457 (GRUB_MOD_INIT): Register new partmaps.
8458 (GRUB_MOD_FINI): Unregister new partmaps.
8459 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8460 (grub_partition_msdos_iterate): ... this. All users updated.
8461 Don't support embedding other than in a minix partition.
8462 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8463 proto.
8464 * include/grub/partition.h (grub_partition): New field msdostype.
8465 * util/grub-install.in: Handle openbsd and netbsd types being in
8466 part_bsd module.
8467
1e8d555b
VS
84682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8471
8472 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8473 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8474 (mdraid09): ... this.
8475 (mdraid1x): New module.
8476 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8477 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8478
899d8af4
VS
84792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8482 vsprintf.
8483
40901acd
CW
84842010-09-20 Colin Watson <cjwatson@ubuntu.com>
8485
8486 * grub-core/commands/efi/lsefimmap.c: Correct header.
8487 * NEWS: Update.
8488
dfe3b247
CW
84892010-09-20 Colin Watson <cjwatson@ubuntu.com>
8490
8491 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8492 as printf format strings; the translations might contain '%' which
8493 could cause a crash.
8494 (main): Likewise.
8495 * util/grub-fstest.c (argp_parser): Likewise.
8496 * util/grub-setup.c (argp_parser): Likewise.
8497 (main): Likewise.
8498
3286a4b4
VS
84992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 Use argp in grub-fstest.
8502
8503 * util/grub-fstest.c: Don't include getopt.h.
8504 Include argp.h.
8505 (root): New variable.
8506 (args_count): Likewise.
8507 (nparm): Likewise.
8508 (num_disks): Likewise.
8509 (images): Likewise.
8510 (cmd): Likewise.
8511 (debug_str): Likewise.
8512 (args): Likewise.
8513 (options): Transformed to argp.
8514 (usage): Removed.
8515 (main): Split argument parsing into ...
8516 (argp_parser): ... this. Changed to argp format.
8517 (argp): New variable.
8518 (main): Use argp_parse.
8519
3dccbe4b
TG
85202010-09-20 Tristan Gingold <gingold@free.fr>
85212010-09-20 Robert Millan <rmh.grub@aybabtu.com>
85222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 * grub-core/commands/efi/lsefimmap.c: New file.
8525 * grub-core/Makefile.core.def (lsefimmap): New module.
8526 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8527
38c259a7
VS
85282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 Pause the execution (10s max) if any errors are displayed so the user
8531 has a chance to see them.
8532
8533 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8534 (grub_print_error): Increment grub_err_printed_errors.
8535 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8536 execution if any errors were displayed.
8537 (show_menu): Remove old code for pause.
8538 * grub-core/normal/menu_entry.c (run): Likewise.
8539 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8540 users updated.
8541 (grub_normal_get_char_counter): Likewise.
8542 * include/grub/err.h (grub_err_printed_errors): New external variable.
8543 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8544
f218b09c
VS
85452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 Support multiboot VBE info.
8548
8549 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8550 Take VBE info into account.
8551 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8552 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8553 Call fill_vbe_info when appropriate.
8554 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8555 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8556 as supported.
8557 (grub_multiboot_get_mbi_size): Take new tags into account.
8558 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8559 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8560 Call fill_vbe_tag when appropriate.
8561 (grub_multiboot_make_mbi): Properly align tags.
8562 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8563 function.
8564 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8565 proto.
8566 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8567
a9cc5438
VS
85682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 Suport manual terminal geometry specification.
8571
8572 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8573 Save state in grub_ofconsole_terminfo_output.
8574 (grub_ofconsole_term): Use grub_terminfo_getwh.
8575 (grub_ofconsole_getwh): Removed.
8576 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8577 (grub_serial_term): Use grub_terminfo_getwh.
8578 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8579 (options): New struct.
8580 (OPTION_*): New enum.
8581 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8582 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8583 width and height.
8584 (grub_terminfo_getwh): New proto.
8585 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8586
1a8fed20
VS
85872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Handle legacy "terminal" command.
8590
8591 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8592 and FLAG_TERMINAL.
8593 (legacy_commands): Add terminal and title.
8594 (grub_legacy_parse): Handle terminal. Simplify title handling.
8595
41e9c57d
VS
85962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8599 parameters overflow.
8600
61c874c5
CW
86012010-09-20 Colin Watson <cjwatson@ubuntu.com>
8602
8603 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8604 widthspec.h.
8605
8606 * docs/grub.texi (Shell-like scripting): Document `!'.
8607 (Network): Simplify using new i386-pc-pxe format. Mention
8608 grub-mknetdir.
8609
8610 * NEWS: Update.
8611
943682b4
CW
86122010-09-20 Colin Watson <cjwatson@ubuntu.com>
8613
8614 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8615 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8616 when needed.
8617
6d3d698d
CW
86182010-09-20 Colin Watson <cjwatson@ubuntu.com>
8619
8620 * grub-core/commands/efi/lsefisystab.c: Correct header.
8621 * grub-core/commands/efi/lssal.c: Likewise.
8622 * grub-core/commands/testload.c: Likewise.
8623
c982589f
CW
86242010-09-20 Colin Watson <cjwatson@ubuntu.com>
8625
8626 * util/grub-mkrescue.in: Add explicit root argument to --set to
8627 prevent the UUID being interpreted as an argument to --set (matches
8628 previous change to prepare_grub_to_access_device).
8629
a63c31b6
CW
86302010-09-20 Colin Watson <cjwatson@ubuntu.com>
8631
8632 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8633 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8634 the verbosity of later #ifs.
8635 (find_partition_start): Define this function on FreeBSD too.
8636 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8637 function.
8638 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8639 on FreeBSD.
8640
6439b8ee
YB
86412010-09-20 Yves Blusseau <blusseau@zetam.org>
8642
8643 * util/grub-editenv.c: Use argp instead of getopt.
8644
c5930ec8
YB
86452010-09-20 Yves Blusseau <blusseau@zetam.org>
8646
8647 * util/grub-setup.c: Use argp instead of getopt.
8648
15c69261
YB
86492010-09-20 Yves Blusseau <blusseau@zetam.org>
8650
8651 Use gnulib-tool to create gnulib source files.
8652
8653 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8654 grub-core/gnulib directories
8655 * .bzignore: Add **/.deps and autogenerated gnulib files
8656 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8657 of gnulib macros, add grub-core/gnulib/Makefile
8658 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8659 include m4 directory to aclocal.
8660 * Makefile.util.def: Remove direct compilation of gnulib source files
8661 and use the new grub-core/gnulib/libgnu.a.
8662 * build-aux/config.rpath: move config.rpath from top directory to
8663 build-aux
8664 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8665 in gnulib headers
8666 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8667 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8668 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8669 header.
8670 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8671 string.
8672
e511c9f5
YB
86732010-09-20 Yves Blusseau <blusseau@zetam.org>
8674
8675 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8676 grub-core/genmod.sh and grub-core/gensyminfo.sh
8677
c2dede05
BC
86782010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8679
8680 Add a test for echo command options.
8681
8682 * tests/grub_cmd_echo.in: New test.
8683 * Makefile.util.def: Rules for new test.
8684
c55f5018
SJ
86852010-09-20 Szymon Janc <szymon@janc.net.pl>
8686
8687 Remove crc.mod and move crc command to hashsum.mod.
8688 Remove lib/crc.c - users updated to use gcrypt implementation.
8689
8690 * grub-core/commands/crc.c: Removed.
8691 * grub-core/Makefile.core.def (crc): Module removed.
8692 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8693 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8694 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8695 * grub-core/lib/crc.c: Removed.
8696 * include/grub/lib/crc.h: Removed.
8697 * Makefile.util.def (crc): Remove lib/crc.c
8698 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8699 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8700 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8701 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8702 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8703 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8704
e0337366
VS
87052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8708
742f9232
VS
87092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 Split config.h for util and core.
8712
8713 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8714 (ADDR32): Likewise.
8715 (DATA32): Likewise.
8716 (BSS_START_SYMBOL): Likewise.
8717 (END_SYMBOL): Likewise.
8718 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8719 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8720 * config.h.in: New file.
8721 * configure.ac: Use config-util.h as config define file.
8722 Rename MACHINE into GRUB_MACHINE. All users updated.
8723 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8724 updated.
8725 (NESTED_FUNC_ATTR): Likewise.
8726 Substitue new variables.
8727 (COND_HAVE_ASM_USCORE): New conditional.
8728 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8729 (kernel_syms.lst): Use ASM_PREFIX.
8730 * grub-core/kern/emu/console.c: Include config-util.h.
8731 * grub-core/kern/emu/misc.c: Likewise.
8732 * grub-core/kern/emu/mm.c: Likewise.
8733 * include/grub/emu/misc.h: Likewise.
8734 * include/grub/libgcc.h: Likewise.
8735
39feb0e8
VS
87362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8739 constants usage.
8740 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8741 Fix GRUB_TERM_KEY_* constants usage.
8742 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8743
9af6dac3
VS
87442010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8747 print pointer.
8748 * grub-core/bus/usb/uhci.c: Remove empty define.
8749 (grub_uhci_check_transfer): Add missing cast.
8750 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8751 print pointer.
8752 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8753 PRIuGRUB_SIZE.
8754 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8755
d6d94820
VS
87562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/Makefile.core.def (legacycfg): Add
8759 lib/i386/pc/vesa_modes_table.c on emu.
8760
3572f2b6
BC
87612010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8762
8763 Reduce number of temporary files generated by build system.
8764
8765 * grub-core/gencmdlist.sh: Removed.
8766 * grub-core/genfslist.sh: Removed.
8767 * grub-core/genhandlerlist.sh: Removed.
8768 * grub-core/genmodsrc.sh: Removed.
8769 * grub-core/genpartmaplist.sh: Removed.
8770 * grub-core/genparttoollist.sh: Removed.
8771 * grub-core/gentermiinallist.sh: Removed.
8772 * grub-core/genvideolist.sh: Removed.
8773
8774 * grub-core/genmod.sh.in: New file.
8775 * grub-core/gensyminfo.sh.in: New file.
8776
8777 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8778 * conf/Makefile.extra-dist: Update with new files.
8779 * gentpl.py: Remove rules related to unnecessary temporary files.
8780 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8781 and und-* files.
8782 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8783 genmod.sh scripts.
8784 * grub-core/bus/usb/uhci.c: Remove empty #define.
8785 * grub-core/genmoddep.awk: Updated with new syminfo format.
8786 * util/bash-completion.d/Makefile.am: Add config.log to
8787 CLEANFILES.
8788
c836b030
YB
87892010-09-19 Yves Blusseau <blusseau@zetam.org>
8790
8791 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8792
2f4e8053
BC
87932010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8794
8795 * util/grub-mkconfig.in: Check the config script for syntax errors
8796 before saving.
8797
75831c34
CW
87982010-09-19 Colin Watson <cjwatson@ubuntu.com>
87992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8802 platforms.
8803 * util/grub-install.in: Add EFI and IEEE1275 support.
8804 * util/i386/efi/grub-install.in: Removed.
8805 * util/ieee1275/grub-install.in: Likewise.
8806
eaf41b25
VS
88072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8810 (grub_cmd_cmosclean): Likewise.
8811 (GRUB_MOD_INIT): Register command cmosclean.
8812 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8813 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8814
1a9130dd
CPE
88152010-09-18 Carles Pina i Estany <carles@pina.cat>
88162010-09-18 Aleš Nesrsta <starous@volny.cz>
88172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 Add keyboard layouts support.
8820
8821 * Makefile.util.def (grub-mklayout): New file.
8822 (grub-kbdcomp): New script.
8823 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8824 Add keyboard_layouts.h.
8825 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8826 commands/boot.c on yeeloong.
8827 (keylayouts): New module.
8828 * grub-core/bus/usb/ohci.c
8829 * grub-core/bus/usb/uhci.c
8830 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8831 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8832 (attach_root_port): Likewise.
8833 (poll_nonroot_hub): Likewise.
8834 (grub_usb_poll_devices): Likewise.
8835 (detach_device): Close transfer.
8836 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8837 function.
8838 (grub_usb_bulk_setup_readwrite): Likewise.
8839 (grub_usb_bulk_finish_readwrite): Likewise.
8840 * grub-core/commands/keylayouts.c: New file.
8841 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8842 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8843 aliases.
8844 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8845 support scancode 2.
8846 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8847 * include/grub/keyboard_layouts.h: New file.
8848 * util/grub-mklayout.c: New file.
8849 * util/grub-kbdcomp.in: Likewise.
8850
a1d84a5e
VS
88512010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 Unify memory types.
8854
8855 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8856 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8857 types.
8858 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8859 (grub_upper_mem): Likewise.
8860 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8861 * include/grub/memory.h (grub_memory_type_t): New enum.
8862 All users updated.
8863
9696382e
VS
88642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/Makefile.core.def (lsapm): New module.
8867 * grub-core/commands/i386/pc/lsapm.c: New file.
8868 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8869 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8870 Likewise.
8871 * include/grub/i386/pc/apm.h: New file.
8872 * include/multiboot.h (multiboot_apm_info): New struct.
8873
88742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 GRUB-legacy configuration file support.
8877
8878 * Makefile.util.def (grub-menulst2cfg): New util.
8879 * docs/man/grub-menulst2cfg.h2m: New file.
8880 * grub-core/Makefile.core.def (legacycfg): New module.
8881 * grub-core/commands/legacycfg.c: New file.
8882 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8883 (grub_normal_add_menu_entry): ... this.
8884 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8885 (grub_normal_set_password): ...this.
8886 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8887 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8888 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8889 * grub-core/lib/legacy_parse.c: New file.
8890 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8891 * include/grub/i386/pc/vesa_modes_table.h: New file.
8892 * include/grub/legacy_parse.h: Likewise.
8893 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8894 * util/grub-menulst2cfg.c: New file.
8895
bf8d1338
CW
88962010-09-17 Colin Watson <cjwatson@ubuntu.com>
8897
8898 * grub-core/kern/emu/hostdisk.c
8899 (convert_system_partition_to_system_disk): Initialise node.
8900
9c0bad2e
CW
89012010-09-17 Colin Watson <cjwatson@ubuntu.com>
8902
8903 * grub-core/kern/emu/hostdisk.c
8904 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8905 leak.
8906 Reported and based on patch by: Modestas Vainius.
8907
a939d135
CW
89082010-09-17 Colin Watson <cjwatson@ubuntu.com>
8909
8910 Fix DM-RAID probing with recent versions of device-mapper udev
8911 rules.
8912
8913 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8914 canonicalise device paths under /dev/mapper/.
8915 (convert_system_partition_to_system_disk): Compare the
8916 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8917 path, since device nodes under /dev/mapper/ are often symlinks.
8918
0f7ee3c9
YB
89192010-09-17 Yves Blusseau <blusseau@zetam.org>
8920
8921 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8922
10854d0d
YB
89232010-09-16 Yves Blusseau <blusseau@zetam.org>
8924
8925 * configure.ac: Avoid some annoying error messages if freetype-config
8926 program is not found.
8927
108538d8
CW
89282010-09-16 Colin Watson <cjwatson@ubuntu.com>
8929
8930 Support RAID on virtio devices, and others.
8931
8932 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8933 Rename to ...
8934 [__MINGW32__] (grub_find_device): ... this.
8935 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8936 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8937 reasonable default if dir is NULL.
8938 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8939 ...
8940 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8941 (grub_guess_root_device): Update callers.
8942 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8943
8944 * util/raid.c (grub_util_getdiskname): Remove.
8945 (grub_util_raid_getmembers): Use grub_find_device rather than
8946 grub_util_getdiskname.
8947
e5bfc130
CW
89482010-09-16 Colin Watson <cjwatson@ubuntu.com>
8949
8950 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8951 needing to be compiled with serial support.
8952 (ls): Indicate that multiple files are accepted.
8953 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8954 indicate that multiple files are accepted.
8955
be458ae2
CW
89562010-09-16 Colin Watson <cjwatson@ubuntu.com>
8957
8958 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8959 libgrub_a_init.c, and util/bash-completion.d/grub.
8960
cb731b5e
VS
89612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * util/grub-setup.c (setup): Fix incorrect container semantics.
8964
35139e8a
VS
89652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8968 misusage.
8969 Reported by: J. Nick Terry
8970
e50fca4a
VS
89712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 Move embedding routines to partmap sources files.
8974
8975 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8976 [GRUB_UTIL]: New variable.
8977 (gpt_partition_map_iterate): Set part.parent.
8978 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8979 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8980 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8981 New function.
8982 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8983 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8984 (grub_partition_map) [GRUB_UTIL]: New field embed.
8985 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8986 (setup): Use ->embed.
8987
f00478b7
VS
89882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8991 function.
8992 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8993 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8994
2b94e3ff
YB
89952010-09-15 Yves Blusseau <blusseau@zetam.org>
8996
8997 Add function to get completions from usage.
8998
8999 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9000 completions from usage. Use LC_ALL=C to get options properly.
9001
2e04a006
VS
90022010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/gnulib/basename-lgpl.c: Imported.
9005 * grub-core/gnulib/basename.c: Likewise.
9006 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9007 * grub-core/gnulib/dirname.c: Likewise.
9008 * grub-core/gnulib/dirname.h: Likewise.
9009 * grub-core/gnulib/stripslash.c: Likewise.
9010
5dcdf93a
VS
90112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/gnulib/error.c: Resynced.
9014 * grub-core/gnulib/getopt.c: Likewise.
9015 * grub-core/gnulib/getopt_int.h: Likewise.
9016 * grub-core/gnulib/regex.h: Likewise.
9017 * grub-core/gnulib/regex_internal.c: Likewise.
9018 * grub-core/gnulib/regex_internal.h: Likewise.
9019
014f47b7
SJ
90202010-09-15 Szymon Janc <szymon@janc.net.pl>
9021
9022 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9023 CRC calculations and validity checks.
9024 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9025 calculations.
9026
dd521a4a
SJ
90272010-09-15 Szymon Janc <szymon@janc.net.pl>
9028
9029 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9030
79c4eeb9
VS
90312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Fix incorrect echo options handling.
9034 Reported by: Yves Blusseau.
9035
9036 * include/grub/command.h (grub_command_flags_t): New flags
9037 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9038 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9039 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9040
ed80f7d5
VS
90412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9044 users updated.
9045 (GRUB_COMMAND_FLAG_MENU): Likewise.
9046 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9047 (GRUB_COMMAND_FLAG_TITLE): Removed.
9048 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9049 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9050 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9051 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9052 (grub_command_flags_t): New enum. All users updated.
9053
5fe7620a
SG
90542010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9055
9056 Fix solaris compilation.
9057
9058 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9059 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9060 (grub-emu-list): Likewise.
9061
545b752f
VS
90622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 Remove deprecated root command.
9065
9066 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9067 updated.
9068
6c1a338c
VS
90692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * util/i386/pc/grub-setup.c: Merge this ...
9072 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9073 * util/grub-setup.c: ... into this.
9074 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9075 New struct.
9076
90772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9080 possible.
9081
d2ea4551
VS
90822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9085 allocate p.
9086
3c3b5040
VS
90872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9090 explicit root argument to set to prevent UUID to be interpreted as
9091 argument to set.
9092
b71c3fae
VS
90932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9096
275433e6
VS
90972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 Don't export grub_gate_a20.
9100
9101 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9102 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9103 to ...
9104 (grub_gate_a20): ... this. All users updated.
9105 * include/grub/i386/pc/init.h: Removed. All users updated.
9106
a5dbb1f1
VS
91072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 Create euro.pf2 which supports most European languages.
9110
9111 * Makefile.am (grubdata_DATA): Add euro.pf2.
9112 (euro.pf2): New target.
9113 (CLEANFILES): Add euro.pf2.
9114
62a747cb
VS
91152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * configure.ac: Disable emu-usb by default to prevent inadvertent
9118 device takeover.
9119
608e43b1
VS
91202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 Disable usbserial on grub-emu since our libusb code isn't good enough
9123 yet.
9124
9125 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9126 (usbserial_pl2303): Likewise.
9127 (usbserial_ftdi): Likewise.
9128
94564f81
VS
91292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * include/grub/disk.h (grub_disk): Remove has_partitions.
9132 All users updated.
9133 * disk/loopback.c (grub_loopback): Remove has_partitions.
9134 All users updated.
9135 (options): Remove partitions. All users updated.
9136 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9137 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9138 actual partition table is found.
9139
3352800b
VS
91402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 Remove readability checks (too many false negatives).
9143
9144 * util/grub-install.in: Remove readability checks.
9145 * util/grub-mkconfig.in: Likewise.
9146 * util/grub.d/10_hurd.in: Likewise.
9147 * util/grub.d/10_kfreebsd.in: Likewise.
9148 * util/grub.d/10_linux.in: Likewise.
9149 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9150 way.
9151
2419f17a
VS
91522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 Enable acpi shutdown on all ACPI platforms.
9155
9156 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9157 on coreboo, multiboot and EFI.
9158 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9159 (grub_acpi_halt): Likewise.
9160 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9161 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9162 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9163 * grub-core/lib/i386/halt.c (grub_halt)
9164 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9165
0575c7c3
VS
91662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9169 context.
9170
54ac3cd1
VS
91712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9174 * grub-core/video/efi_uga.c: Likewise.
9175
b2a30ac5
VS
91762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 Filter devaliases and never open same device twice.
9179
9180 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9181 (last_ihandle): Likewise.
9182 (ofdisk_hash_ent): New member shortest.
9183 (ofdisk_hash_add): Add canonical path too.
9184 (scan): New function.
9185 (grub_ofdisk_iterate): Iterate over hashed entries.
9186 (compute_dev_path): Don't add :0.
9187 (grub_ofdisk_open): Don't really open the disk.
9188 (grub_ofdisk_close): Avoid closing unrelated disk.
9189 (grub_ofdisk_read): Implement reopen logic.
9190 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9191 New function.
9192 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9193 New proto.
9194
fb53b340
VS
91952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 Fix sparc64.
9198
9199 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9200 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9201 right address. Add sparc64_ieee1275_ldflags.
9202 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9203 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9204 to grub_host_to_target_addr
9205 (load_image): Likewise.
9206
f452b040
VS
92072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/normal/completion.c (complete_file): Handle device
9210 containing slash.
9211 Fix based on patch by Doug Nazar.
9212
9b5b2541
VS
92132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 grub-mknetdir script.
9216
9217 * Makefile.util.def (grub-mknetdir): New module.
9218 * tests/util/grub-shell.in: Support boot=net
9219 * util/grub-mknetdir.in: New file.
9220
9d2be652
VS
92212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 videoinfo on non-vbe.
9224
9225 * grub-core/Makefile.core.def (vbeinfo): Removed.
9226 (vbetest): Removed.
9227 (videoinfo): New module.
9228 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9229 * grub-core/commands/i386/pc/vbetest.c: Removed.
9230 * grub-core/commands/videoinfo.c: New file.
9231 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9232 specification.
9233 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9234 as vbetest.
9235 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9236 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9237 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9238 mode_number. New parameter mode. All users updated.
9239 (grub_video_gop_iterate): New function.
9240 (grub_video_efi_gop): New member iterate.
9241 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9242 (grub_vbe_set_video_mode): Remove setting useless fields.
9243 (vbe2videoinfo): New function.
9244 (grub_video_vbe_iterate): Likewise.
9245 (grub_video_vbe_setup): Use vbe2videoinfo.
9246 (grub_video_vbe_print_adapter_specific_info): New function.
9247 (grub_video_vbe_adapter): New fields iterate and
9248 print_adapter_specific_info.
9249 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9250 All users updated.
9251 (grub_video_mode_info): New field mode_number.
9252 (grub_video_adapter): New fields iterate and
9253 print_adapter_specific_info.
9254
179503f5
TG
92552010-09-13 Tristan Gingold <gingold@free.fr>
92562010-09-13 Robert Millan <rmh.grub@aybabtu.com>
92572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/commands/efi/lsefisystab.c: New file.
9260 * grub-core/commands/efi/lssal.c: Likewise.
9261 * grub-core/Makefile.core.def (lsacpi): New module.
9262 (lsefisystab): Likewise.
9263 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9264 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9265 (grub_efi_sal_system_table): New struct.
9266 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9267 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9268 (grub_efi_sal_system_table_platform_features): Likewise.
9269 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9270 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9271 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9272 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9273
cf9827de
VS
92742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Support explicit user claim that a device is BIOS-visible.
9277
9278 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9279 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9280 * grub-core/kern/emu/hostdisk.c
9281 (convert_system_partition_to_system_disk): Support mdX.
9282 (find_system_device): New parameter add. All users updated.
9283 (grub_util_biosdisk_is_present): New function.
9284 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9285 proto.
9286
53f0eb1f
VS
92872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 Search hints support.
9290
9291 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9292 All users updated.
9293
b23ffd70
YB
92942010-09-13 Yves Blusseau <blusseau@zetam.org>
9295
9296 Bash completion script for util commands
9297
9298 * Makefile.am: Add util/bash-completion.d directory
9299 * configure.ac: Likewise.
9300 * util/bash-completion.d/Makefile.am: New file.
9301 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9302
d547dc28
VS
93032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9306 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9307 Reported by: Yves Blusseau.
9308
2fc8ccb9
VS
93092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9312 partition size and offset.
9313
d8a84076
VS
93142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9317
84fb3b3d
VS
93182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9321
768ec2e2
VS
93222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9325 (grub_xvasprintf): Likewise.
9326
4870900f
VS
93272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9330
faca6bec
VS
93312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9334 args ending with NULL.
9335
93362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
9337
9338 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9339 pointer.
9340
3c70f225
SJ
93412010-09-11 Szymon Janc <szymon@janc.net.pl>
9342
9343 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9344
4df7996d
VS
93452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 Shutdown using ACPI.
9348
9349 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9350 * grub-core/commands/acpihalt.c: New file.
9351 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9352 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9353 (grub_acpi_halt): New proto.
9354 (GRUB_ACPI_SLP_EN): New const.
9355 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9356 (GRUB_ACPI_OPCODE_*): New enum.
9357 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9358
126b4c32
TG
93592010-09-11 Tristan Gingold <gingold@free.fr>
93602010-09-11 Robert Millan <rmh.grub@aybabtu.com>
93612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * commands/lsacpi.c: New file.
9364 * grub-core/Makefile.core.def (lsacpi): New module.
9365 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9366 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9367 (grub_acpi_madt_entry_header): New struct.
9368 (grub_acpi_madt): Likewise.
9369 (grub_acpi_madt_entry_interrupt_override): Likewise.
9370 (grub_acpi_madt_entry_sapic): Likewise.
9371 (grub_acpi_madt_entry_lsapic): Likewise.
9372 (grub_acpi_madt_entry_platform_int_source): Likewise.
9373 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9374 (PRIuGRUB_UINT32_T): Likewise.
9375 (PRIxGRUB_UINT64_T): Likewise.
9376
1aa4fe88
VS
93772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 Implement loading palette on ieee1275_fb.
9380
9381 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9382 (have_setcolors): Likewise.
9383 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9384 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9385 (grub_video_ieee1275_set_palette): Implement.
9386
25761e13
VS
93872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
93882010-09-11 Colin Watson <cjwatson@ubuntu.com>
9389
9390 * util/grub-install.in (grub_partition): New variable.
9391 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9392 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9393 Fixes a bug reported by Yves Blusseau.
9394
050abaea
VS
93952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 Fix emu on mipsel.
9398
9399 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9400 =grub_cpu_flush_cache on all mips and not only yeeloong.
9401 * configure.ac (COND_mips): New conditional.
9402 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9403 platforms.
9404 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9405 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9406 [GRUB_LINKER_HAVE_INIT]: New function.
9407 (grub_emu_post_init): Likewise.
9408 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9409 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9410 * include/grub/cache.h (_mips): Include mips/cache.h.
9411 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9412 LVM and RAID prototypes.
9413 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9414 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9415 function.
9416
5ed7d816
CW
94172010-09-10 Colin Watson <cjwatson@ubuntu.com>
9418
9419 * util/grub-install.in: Don't try to verify core.img until after
9420 running grub-mkimage to create it.
9421
90367e04
RM
94222010-09-10 Robert Millan <rmh@gnu.org>
9423
9424 * util/grub.d/10_hurd.in: Add misc readability checks.
9425 * util/grub.d/10_kfreebsd.in: Likewise.
9426 * util/grub.d/10_linux.in: Likewise.
9427
c452fa66
CW
94282010-09-10 Colin Watson <cjwatson@ubuntu.com>
9429
9430 * util/grub-install.in: ${imgext} won't be defined here until the
9431 install branch is merged. For the meantime, only verify core.img on
9432 i386-pc and sparc64-ieee1275 platforms.
9433
c38fe9f4
RM
94342010-09-10 Robert Millan <rmh@gnu.org>
9435
9436 Solaris support in grub_find_zpool_from_dir(). Thanks
9437 Seth Goldberg for referring to getextmntent() facility.
9438
9439 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9440 `sys/mkdev.h'.
9441 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9442 `<sys/mnttab.h>'.
9443 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9444 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9445 method for finding zpool name.
9446
905f7773
CW
94472010-09-10 Colin Watson <cjwatson@ubuntu.com>
9448
9449 grub-fstest needs the host and hostfs modules while other utilities
9450 actively require those modules to be absent, so grub-fstest needs
9451 its own initialisation and finalisation code.
9452
9453 * Makefile.am (grub_fstest.pp): New target.
9454 (grub_fstest_init.lst): Likewise.
9455 (grub_fstest_init.c): Likewise.
9456 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9457
fb90b546
RM
94582010-09-10 Robert Millan <rmh@gnu.org>
9459
9460 * configure.ac: Check for `struct statfs.f_fstypename' and
9461 `struct statfs.f_mntfromname'.
9462
9463 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9464 kFreeBSD-specific code.
9465
66d4bea5
RM
94662010-09-10 Robert Millan <rmh@gnu.org>
9467
9468 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9469 on ZFS. Now non-main filesystems are supported as / too.
9470
b6a690ee
CW
94712010-09-09 Colin Watson <cjwatson@ubuntu.com>
9472
9473 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9474 and grub-core/disk/host.c to ...
9475 (grub-fstest): ... here. Having the host disk implementation
9476 present confuses grub-probe and other utility programs.
9477
9478 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9479 when writing to a file, not when writing to stdout.
9480
8901b00c 94812010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9482
9483 * tests/partmap_test.in: New test for partitions.
9484 * Makefile.util.def: Rules for new test.
9485
7bf45fdd
RM
94862010-09-09 Robert Millan <rmh@gnu.org>
9487
9488 * util/grub-probe.c (probe): Fix a pair of unhandled error
9489 conditions.
9490
4dfbc574
RM
94912010-09-09 Robert Millan <rmh@gnu.org>
9492
9493 Basic Btrfs support (detection and UUID).
9494
9495 * grub-core/fs/btrfs.c: New file.
9496 * Makefile.util.def (library): Register btrfs.c.
9497 * grub-core/Makefile.core.def: Likewise.
9498
6b8e78ae
RM
94992010-09-08 Robert Millan <rmh@gnu.org>
9500
9501 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9502 with (optional) parameters to specify device and relative path.
9503 * util/grub-install.in: Use is_path_readable_by_grub() to
9504 verify readability of a few critical files.
9505 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9506 verify readability of grub.cfg.new.
9507
27f21a8b
VS
95082010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 Split minix.mod into minix.mod and minix2.mod.
9511
9512 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9513 * grub-core/Makefile.core.def (minix2): New module.
9514 * grub-core/fs/minix.c: Use definitions instead of runtime version
9515 checking.
9516 * grub-core/fs/minix2.c: New file.
9517
c0e53ea5
YB
95182010-09-08 Yves Blusseau <blusseau@zetam.org>
9519
9520 Add new --boot-directory option to replace --root-directory
9521
9522 * util/grub-install.in: Add new --boot-directory option
9523 * util/grub-reboot.in: Likewise.
9524 * util/grub-set-default.in: Likewise.
9525
b9fe6ea2
YB
95262010-09-08 Yves Blusseau <blusseau@zetam.org>
9527
9528 * util/grub-mkconfig.in: Use new variable.
9529
d87aedff
YB
95302010-09-08 Yves Blusseau <blusseau@zetam.org>
9531
9532 * configure.ac: Define some useful variables.
9533
e55e8495
VS
95342010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9537 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9538 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9539 Use terminfo and don't use cursor-on/cursor-off unless it's known
9540 to work.
9541 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9542 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9543
6fa6d675
CW
95442010-09-08 Colin Watson <cjwatson@ubuntu.com>
9545
9546 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9547 starts with "(,", fill the drive containing the loaded image in
9548 between those two characters, but expect that a full partition
9549 specification including partition map names will follow.
9550
92f2aef0
RM
95512010-09-08 Robert Millan <rmh@gnu.org>
9552
9553 * configure.ac: Remove `--enable-grub-fstest' option.
9554 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9555
9556 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9557 `grub-fstest' instead of `grub-probe' for readability verification.
9558 * util/grub-probe.c (probe): Remove readability verification kludge.
9559
99fd620d
RM
95602010-09-08 Robert Millan <rmh@gnu.org>
9561
9562 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9563 initializing `GRUB_FS'.
9564
058e30ac 95652010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9566
9567 Not command (!) support to GRUB script.
9568
9569 * tests/grub_script_not.in: New test.
9570 * Makefile.util.def: Rules for new test.
9571
9572 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9573 ! command as a special case.
9574 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9575
b61d05ed 95762010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9577
058e30ac 9578 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9579 grub_free.
b61d05ed 9580
4d69c786 95812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9582
9583 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9584
aa3119c4 95852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9586
9587 * docs/grub.texi (Shell-like scripting): Documentation for break,
9588 continue, shift and return commands.
9589
db0f7e3d
VS
95902010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 Rename CD-ROM to cd on BIOS.
9593
9594 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9595 "cd".
9596 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9597
88b87c93
VS
95982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9601 * util/grub-probe.c (main): Likewise.
9602 * util/i386/pc/grub-setup.c (main): Likewise.
9603 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9604 Reported and debugged by: alexxy
9605
294f324d
VS
96062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9609 diagnostic info.
9610
d7ee3441
JS
96112010-09-05 Jo Shields <directhex@apebox.org>
9612
9613 * util/grub.d/30_os-prober.in: Add missing classes.
9614
d7e06c1f
VS
96152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * docs/grub.texi (Theme file format): Document new position format.
9618
fc157e53
VS
96192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9622 a table. Use @code instead of @verbatim.
9623
506e9a1c
CB
96242010-09-05 Colin D Bennett <colin@gibibit.com>
9625
9626 Gfxmenu documentation.
9627
9628 * docs/grub.texi (Theme file format): New chapter.
9629
f0aff67c
SJ
96302010-09-05 Szymon Janc <szymon@janc.net.pl>
9631
9632 * grub-core/Makefile.core.def (xzio): New module.
9633 * grub-core/io/xzio.c: New file.
9634 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9635 * grub-core/lib/xzembed/xz_config.h: Likewise.
9636 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9637 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9638 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9639 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9640 * grub-core/lib/xzembed/xz_private.h: Likewise.
9641 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9642 * include/grub/file.h (grub_file_filter_id): New compression filter
9643 GRUB_FILE_FILTER_XZIO.
9644
82a85062
VS
96452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9648 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9649 size.
9650
3579415d
VS
96512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9654 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9655
5124ae6d
VS
96562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 Uncompressed checksum support.
9659
9660 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9661 (check_list): New parameter uncompress.
9662 (grub_cmd_hashsum): Handle --uncompress.
9663
9aadb3d1
VS
96642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 Reintroduce testload.
9667
9668 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9669 from here ...
9670 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9671 (GRUB_MOD_INIT): New function.
9672 (GRUB_MOD_FINI): Likewise.
9673 * grub-core/Makefile.core.def (testload): New module.
9674
a17792c3
SJ
96752010-09-05 Szymon Janc <szymon@janc.net.pl>
9676
9677 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9678 (uint8_t): New type.
9679 (uint16_t): Likewise.
9680 (uint32_t): Likewise.
9681 (uint64_t): Likewise.
9682
b81e40a3
SJ
96832010-09-05 Szymon Janc <szymon@janc.net.pl>
9684
9685 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9686
fc2ef117
VS
96872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9690 Made static.
9691 (grub_gzfile_open): Removed. All users updated.
9692 (GRUB_MOD_INIT): New function.
9693 (GRUB_MOD_FINI): Likewise.
9694 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9695 (grub_file_filters_enabled): Likewise.
9696 (grub_file_open): Handle filters.
9697 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9698 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9699 * include/grub/file.h (grub_file_filter_id_t): New type.
9700 (grub_file_filter_t): Likewise.
9701 (grub_file_filters_all): New extern variable.
9702 (grub_file_filters_enabled): Likewise.
9703 (grub_file_filter_register): New inline function.
9704 (grub_file_filter_unregister): Likewise.
9705 (grub_file_filter_disable): Likewise.
9706 (grub_file_filter_disable_compression): Likewise.
9707 * include/grub/gzio.h: Removed.
9708
35ee15e0
BC
97092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9710
9711 Filename expansion support for wildcards in GRUB script.
9712
9713 * tests/grub_script_expansion.in: New test.
9714 * Makefile.util.def: Rule for new test.
9715
9716 * grub-core/commands/wildcard.c: New file, implements filename
9717 expansion support for GRUB script.
9718 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9719 * grub-core/script/argv.c: Cosmetic changes.
9720 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9721 Refactored to perform wildcard expansion on arguments.
9722 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9723 struct.
9724
9725 * tests/util/grub-shell.in: Fix quoting for read input.
9726
5f0c4aca
BC
97272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9728
9729 Support for updating environment variables with matched substrings
9730 of regexp.
9731
9732 * tests/grub_cmd_regexp.in: New test.
9733 * Makefile.util.def: Rule for new test.
9734
9735 * grub-core/commands/regexp.c: New option -s to update environment
9736 variables with regexp matches.
9737
3759a35f
SJ
97382010-09-04 Szymon Janc <szymon@janc.net.pl>
9739
9740 * include/grub/file.h (grub_file): New member not_easly_seekable.
9741 (grub_file_seekable): New inline function.
9742 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9743 easily seekable.
9744 (grub_gzio_open): Set not_easly_seekable.
9745 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9746 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9747
ed8c6dec
BC
97482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9749
9750 Support for options to appear multiple times on cmdline.
9751
9752 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9753 * grub-core/commands/extcmd.c: Support for repeatable option.
9754 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9755 repeatable option support.
9756
9757 Refactor menuentry into a regular command.
9758
9759 * grub-core/commands/menuentry.c: New file, menuentry command
9760 implementation.
9761 * grub-core/Makefile.core.def: Rule update for normal.mod.
9762 * grub-core/normal/main.c: Moved menuentry creation to
9763 grub-core/commands/menuentry.c.
9764 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9765 (grub_menu_execute_entry_real): Removed.
9766 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9767 function.
9768 (grub_script_execute_menuentry): Removed.
9769 * grub-core/script/parser.y (menuentry): Removed.
9770 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9771 * grub-core/script/yylex.l (menuentry): Removed.
9772 * include/grub/menu.h (grub_menu_init): New prototype.
9773 (grub_menu_fini): New prototype.
9774 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9775 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9776 (grub_script_execute_sourcecode): New prototype.
9777
dacd0cf0
BC
97782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9779
9780 "return" command for GRUB script functions.
9781
9782 * tests/grub_script_return.in: New test.
9783 * Makefile.util.def: Rules for new test.
9784
9785 * grub-core/script/execute.c (grub_script_return): New function.
9786 * grub-core/script/main.c: Register/unregister return commaond.
9787 * include/grub/script_sh.h (grub_script_return): New prototype.
9788
52e72f9d
BC
97892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9790
9791 "setparams" command to update positional parameters.
9792
9793 * tests/grub_script_setparams.in: New test.
9794 * Makefile.util.def: Rules for new test.
9795
9796 * grub-core/script/argv.c (grub_script_argv_make): New function.
9797 * grub-core/script/execute.c (replace_scope): New function.
9798 (grub_script_setparams): New function.
9799 * grub-core/script/lexer.c: Remove unused variables.
9800 * grub-core/script/main.c: Register/unregister setparams command.
9801 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9802 (grub_script_setparams): New prototype.
9803
25b60c91
BC
98042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9805
9806 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9807 grub_free order.
9808
37e7bf68
BC
98092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9810
9811 Support for passing block of commands as an argument to extcmds.
9812
9813 * Makefile.util.def: Rules for new test.
9814 * tests/grub_script_blockarg.in: New test.
9815 * grub-core/tests/test_blockarg.c: New file, block argument
9816 command used in the test.
9817
9818 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9819 (grub_register_extcmd_prio): New function prototype.
9820 (grub_extcmd_dispatcher): New function prototype.
9821 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9822 type.
9823 * include/grub/script_sh.h (struct grub_script): New members
9824 `children', `next_siblings' and `refcnt' for block arguments and
9825 reference counting.
9826 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9827 (grub_script_arg): New member `script' for block argument.
9828 (grub_script_argv): New member `script' for block argument.
9829 (grub_parser_param): New member `scripts' for block argument.
9830 (grub_script_mem_free): New extern function prototype.
9831 (grub_script_ref): New function prototype.
9832 (grub_script_unref): New function prototype.
9833
9834 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9835 extcmd form to support block arguments.
9836 * grub-core/script/argv.c: Block arguments support.
9837 * grub-core/script/execute.c: Likewise.
9838 * grub-core/script/lexer.c: Likewise.
9839 * grub-core/script/main.c: Likewise.
9840 * grub-core/script/script.c: Likewise.
9841 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9842 non-terminals.
9843
9844 * grub-core/commands/acpi.c: Update extcmd implementations with
9845 grub_extcmd_context_t.
9846 * grub-core/commands/cat.c: Likewise.
9847 * grub-core/commands/echo.c: Likewise.
9848 * grub-core/commands/extcmd.c: Likewise.
9849 * grub-core/commands/hashsum.c: Likewise.
9850 * grub-core/commands/hdparm.c: Likewise.
9851 * grub-core/commands/help.c: Likewise.
9852 * grub-core/commands/hexdump.c: Likewise.
9853 * grub-core/commands/i386/cpuid.c: Likewise.
9854 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9855 * grub-core/commands/i386/pc/halt.c: Likewise.
9856 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9857 * grub-core/commands/iorw.c: Likewise.
9858 * grub-core/commands/keystatus.c: Likewise.
9859 * grub-core/commands/loadenv.c: Likewise.
9860 * grub-core/commands/ls.c: Likewise.
9861 * grub-core/commands/lspci.c: Likewise.
9862 * grub-core/commands/memrw.c: Likewise.
9863 * grub-core/commands/probe.c: Likewise.
9864 * grub-core/commands/search_wrap.c: Likewise.
9865 * grub-core/commands/setpci.c: Likewise.
9866 * grub-core/commands/sleep.c: Likewise.
9867 * grub-core/disk/loopback.c: Likewise.
9868 * grub-core/hello/hello.c: Likewise.
9869 * grub-core/loader/i386/bsd.c: Likewise.
9870 * grub-core/loader/xnu.c: Likewise.
9871 * grub-core/term/gfxterm.c: Likewise.
9872 * grub-core/term/serial.c: Likewise.
9873 * grub-core/tests/lib/functional_test.c: Likewise.
9874
888d1500
BC
98752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9876
9877 Multi-line quoted strings support.
9878
9879 * grub-core/script/lexer.c (append_newline): Removed.
9880 (grub_script_lexer_yywrap): Refactored.
9881 (grub_script_lexer_init): Refactored.
9882 * grub-core/script/yylex.l (yywrap): New function.
9883 (grub_lexer_resplit): New function.
9884 (grub_lexer_unput): New function.
9885 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9886 and resplit.
9887 * tests/grub_script_echo1.in: Added few more testcases.
9888
dda060dd
VS
98892010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/kern/misc.c: Don't add abort alias in utils.
9892 Reported by: echoline.
9893
6556eba9
BC
98942010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9895
9896 Add missing files into "make dist" tarball for other platforms.
9897
9898 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9899 * conf/Makefile.common (dist_noinst_DATA): New variable.
9900 * conf/Makefile.extra-dist: Added missing make dist files.
9901 * grub-core/Makefile.core.def: Likewise.
9902
c8e7bf5f
VS
99032010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 Compress grub_prefix.
9906
9907 * grub-core/boot/i386/pc/lnxboot.S: Use
9908 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9909 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9910 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9911 GRUB_MACHINE_PREFIX_END. All users updated.
9912 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9913 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9914 + 0x40.
9915 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9916 * util/grub-mkimage.c (image_target_desc): Change data_end to
9917 prefix_end. All users updated.
9918
a7c00cdb
VS
99192010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9922 value.
9923 (grub_openbsd_boot): Likewise.
9924 (grub_netbsd_boot): Likewise.
9925 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9926 (grub_xnu_boot): Likewise.
9927
9f915872
VS
99282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * configure.ac: Clean LIBS variable after tests.
9931
efa1bee7
CW
99322010-09-02 Colin Watson <cjwatson@ubuntu.com>
9933
9934 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9935
61d720e5
VS
99362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9939 echo if libdevmapper will be used.
9940
ef8e0ec8
IT
99412010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9942
9943 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9944 constant for the same file.
9945
03e261d8
VS
99462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9949
c2a4eba6
CW
99502010-09-02 Colin Watson <cjwatson@ubuntu.com>
9951
9952 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9953 grub-core/*.pp.
9954
9056cbf3
CW
99552010-09-02 Colin Watson <cjwatson@ubuntu.com>
9956
9957 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9958 required by the boot protocol.
9959
9960 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9961 ebp and edi members.
9962 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9963 state.ebp and state.edi.
9964 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9965 %ebp and %edi according to grub_relocator32_ebp and
9966 grub_relocator32_edi respectively.
9967 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9968 and state.edi.
9969
529cc99a
VS
99702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 Add i386-pc-pxe image target.
9973
9974 * util/grub-mkimage.c (image_target_desc): New enum value
9975 IMAGE_I386_PC_PXE.
9976 (image_targets): New target i386-pc-pxe.
9977 (generate_image): Handle i386-pc-pxe image.
9978
9a093920
VS
99792010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 Fix grub_pxe_scan.
9982
9983 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9984 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9985 All users updated.
9986 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9987 (grub_pxe_pxenv): Correct type.
9988
f9cefc4e
CW
99892010-09-01 Colin Watson <cjwatson@ubuntu.com>
9990
9991 * NEWS: Document most of the important changes since 1.98.
9992
4066f57f
CW
99932010-09-01 Colin Watson <cjwatson@ubuntu.com>
9994
9995 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9996 generated manual page) a little.
9997
da2891f9
CW
99982010-09-01 Colin Watson <cjwatson@ubuntu.com>
9999
10000 * docs/grub.texi: Add myself as an author.
10001
ad717fae
VS
100022010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * Makefile.util.def (libgrub.a): Add missing sunpc.
10005 Reported by: Seth Goldberg.
10006
eefe8abd
VS
100072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 Interrupt wrapping and code simplifications.
10010
9494ef9a
VS
10011 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10012 x86_noieee1275 which are functionaly equivalent in this case.
10013 (grub-install): Make source on each platform explicit. Enable on
10014 all noemu.
10015 * gentpl.py (x86_efi_pc): Removed group.
10016 (x86_noefi): Likewise.
10017 (i386_noefi): Likewise.
10018 (x86_noieee1275): Likewise.
10019 (i386_noieee1275): Likewise.
10020 (i386_noefi_noieee1275): Likewise.
10021 (i386_pc_qemu_coreboot): Likewise.
10022 (i386_coreboot_multiboot): Likewise.
10023 (i386_pc_coreboot_multiboot_qemu): Likewise.
10024 (x86_noefi_mips): Likewise.
10025 (noieee1275): Likewise.
10026 (ieee1275_mips): Likewise.
10027 (noemu_noieee1275): Likewise.
10028 (cmos): New group.
10029 (usb): Likewise.
10030 (videoinkernel): Likewise.
10031 (videomodules): Likewise.
eefe8abd 10032 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
10033 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10034 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10035 include/grub/loader.h, include/grub/msdos_partition.h,
10036 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10037 include/grub/machine/console.h, include/grub/machine/vga.h,
10038 include/grub/machine/vbe.h, include/grub/machine/init.h,
10039 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10040 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 10041 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
10042 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10043 * grub-core/Makefile.core.def (kernel): Explicit the source for
10044 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10045 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10046 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10047 Use videoinkernel tag.
10048 (usb): Enable on all usb.
10049 (usbserial_common): Likewise.
10050 (usbserial_pl2303): Likewise.
10051 (usbserial_ftdi): Likewise.
10052 (uhci): Enable on all x86.
10053 (ohci): Enable on all pci.
10054 (cmostest): Enable on all CMOS.
10055 (acpi): Include commands/acpi.c on all platforms.
10056 (halt): Add relevant lib/*/halt.c.
10057 (hdparm): Enable on all pci.
10058 (lspci): Likewise.
10059 (usbtest): Enable on all usb.
10060 (ata): Enable on all pci.
10061 (ata_pthru): Likewise.
10062 (usbms): Enable on all usb.
10063 (usb_keyboard): Likewise.
10064 (font): Use tag videomodules.
10065 (bufio): Likewise.
10066 (datetime): Use tag cmos. Enable on all noemu.
10067 (mmap): Use tags common and x86.
10068 (gfxterm): Use tag videomodules.
10069 (bitmap): Likewise.
10070 (bitmap_scale): Likewise.
10071 (video_fb): Likewise.
10072 (video): Likewise.
10073 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10074 adjust padding accordingly. All users updated.
10075 (grub_ohci_transaction): Fix bad format specification.
10076 (GRUB_MOD_INIT): Add asserts for struct size.
10077 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10078 (grub_alloc_td): Likewise.
10079 (grub_free_queue): Likewise.
10080 (grub_uhci_transfer): Likewise.
10081 (grub_uhci_transaction): Fix bad format specification.
10082 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10083 (grub_usb_bulk_readwrite): Likewise.
10084 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10085 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10086 Made static.
10087 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10088 Made static.
10089 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10090 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10091 Transformed into C.
10092 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10093 Moved from here ...
10094 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10095 ... here. Transformed into C. Made static.
10096 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10097 Moved from here ...
10098 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10099 ... here. Transformed into C. Made static.
10100 * grub-core/kern/i386/pc/startup.S
10101 (grub_biosdisk_check_int13_extensions): Moved from here ...
10102 * grub-core/disk/i386/pc/biosdisk.c
10103 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10104 Made static.
10105 * grub-core/kern/i386/pc/startup.S
10106 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10107 * grub-core/disk/i386/pc/biosdisk.c
10108 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10109 Transformed into C. Made static.
10110 * grub-core/kern/i386/pc/startup.S
10111 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10112 * grub-core/disk/i386/pc/biosdisk.c
10113 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10114 Transformed into C. Made static.
10115 * grub-core/kern/i386/pc/startup.S
10116 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10117 * grub-core/disk/i386/pc/biosdisk.c
10118 (grub_biosdisk_get_diskinfo_standard): ... here.
10119 Transformed into C. Made static.
10120 * grub-core/kern/i386/pc/startup.S
10121 (grub_biosdisk_get_num_floppies): Moved from here ...
10122 * grub-core/disk/i386/pc/biosdisk.c
10123 (grub_biosdisk_get_num_floppies): ... here.
10124 Transformed into C. Made static.
10125 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10126 New function.
10127 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10128 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10129 Transformed into C. Made static.
10130 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10131 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10132 Transformed into C. Made static.
10133 * grub-core/kern/i386/ieee1275/init.c: Removed.
10134 * grub-core/kern/i386/misc.S: Likewise.
10135 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10136 Splitted from here ...
10137 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10138 Transformed into C. Made static. All users updated.
10139 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10140 Transformed into C. Made static. All users updated.
10141 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10142 Moved from here...
10143 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10144 Transformed into C. Made static. All users updated.
10145 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10146 Moved from here...
10147 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10148 Transformed into C. Made static. All users updated.
10149 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10150 Removed (replaced by C version).
10151 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10152 Moved from here...
10153 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10154 Transformed into C. Made static.
10155 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10156 Moved from here...
10157 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10158 ... here. Transformed into C.
10159 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10160 Moved from here...
10161 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10162 ... here. Transformed into C.
10163 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10164 Moved from here...
10165 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10166 ... here. Transformed into C. Made static.
10167 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10168 Moved from here...
10169 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10170 ... here. Transformed into C.
21ed554b
VS
10171 * grub-core/kern/i386/pc/startup.S
10172 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10173 * grub-core/video/i386/pc/vbe.c
10174 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10175 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10176 Moved from here...
10177 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10178 ... here. Transformed into C.
10179 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10180 Moved from here...
10181 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10182 ... here. Transformed into C.
10183 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10184 Moved from here...
10185 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10186 ... here. Transformed into C.
10187 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10188 Moved from here...
10189 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10190 ... here. Transformed into C.
10191 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10192 Moved from here...
10193 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10194 ... here. Transformed into C. Made static.
10195 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10196 Moved from here...
10197 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10198 ... here. Transformed into C. Made static.
10199 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10200 Moved from here...
10201 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10202 ... here. Transformed into C. Made static.
10203 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10204 pxe_rm_entry as third argument.
10205 (grub_bios_interrupt): New function.
10206 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10207 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10208 of calling grub_stop.
10209 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10210 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10211 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10212 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10213 * grub-core/lib/i386/halt.c: Moved from here ...
10214 * grub-core/lib/i386/halt.c: ... here.
10215 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10216 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10217 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10218 grub_stop_floppy.
10219 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10220 * include/grub/i386/coreboot/init.h: Removed.
10221 * include/grub/i386/multiboot/init.h: Likewise.
10222 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10223 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10224 * include/grub/i386/pc/int.h: New file.
10225 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10226 (grub_pxe_scan): Removed.
10227 (grub_pxe_call): Update prototype.
10228 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10229 prototypes.
10230 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10231 * include/grub/i386/qemu/init.h: Removed.
10232 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10233 noreturn.
10234 (grub_halt): Likewise.
10235 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10236 (grub_reboot): Likewise.
10237 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10238 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
10239 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10240
215dd471
RM
102412010-08-30 Robert Millan <rmh@gnu.org>
10242
10243 * NEWS: Document addition of ZFS support in `grub-install' and
10244 `grub-mkconfig'.
10245
ebd65b82
BC
102462010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10247
10248 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10249 dprintf output.
10250
11721d19
VS
102512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 Remove leftover embedding of font objects.
10254
10255 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10256 * util/grub-install.in (font): Removed.
10257 * util/grub-mkimage.c (generate_image): Remove font support. All users
10258 updated.
10259
37837d4e
VS
102602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 Remove leftover embedding of font objects.
10263
10264 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10265 * util/grub-install.in (font): Removed.
10266 * util/grub-mkimage.c (generate_image): Remove font support. All users
10267 updated.
10268
b4c1aae0
VS
102692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 10272 Reported by: Ian Turner
b4c1aae0 10273
8920a08d
VS
102742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10277 timeout to avoid indefinite boot stalling.
10278
f21db033
VS
102792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10282 (grub_env_write_color_highlight): Likewise.
10283
9a9de209
VS
102842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * grub-core/normal/term.c (print_more): Return to normal and not
10287 to standard state after printing "---MORE---".
10288
3dca01d7
VS
102892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10292 Mask out the bit 0x80 since it has other meaning that specifiing color.
10293
0b986c40
VS
102942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 New relocator. Allows for more kernel support and more straightforward
10297 loader writing.
10298
10299 * Makefile.am (BOOTTARGET): New variable.
10300 (QEMU32): Likewise.
10301 (linux.init.x86_64): New target.
10302 (linux.init.i386): Likewise.
10303 (multiboot.elf): Likewise.
10304 (kfreebsd.elf): Likewise.
10305 (kfreebsd.aout): Likewise.
10306 (pc-chainloader.elf): Likewise.
10307 (pc-chainloader.bin): Likewise.
10308 (ntldr.elf): Likewise.
10309 (ntldr.bin): Likewise.
10310 (multiboot2.elf): Likewise.
10311 (kfreebsd.init.x86_64): Likewise.
10312 (kfreebsd.init.i386): Likewise.
10313 (knetbsd.init.i386): Likewise.
10314 (kopenbsd.init.i386): Likewise.
10315 (knetbsd.init.x86_64): Likewise.
10316 (kopenbsd.init.x86_64): Likewise.
10317 (linux-initramfs.i386): Likewise.
10318 (linux-initramfs.x86_64): Likewise.
10319 (kfreebsd-mfsroot.i386.img): Likewise.
10320 (knetbsd.image.i386): Likewise.
10321 (kopenbsd.image.i386): Likewise.
10322 (kopenbsd.image.x86_64): Likewise.
10323 (knetbsd.miniroot-image.i386.img): Likewise.
10324 (kfreebsd-mfsroot.x86_64.img): Likewise.
10325 (knetbsd.image.x86_64): Likewise.
10326 (knetbsd.miniroot-image.x86_64.img): Likewise.
10327 (kfreebsd-mfsroot.i386.gz): Likewise.
10328 (bootcheck-kfreebsd-i386): Likewise.
10329 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10330 (bootcheck-kfreebsd-x86_64): Likewise.
10331 (knetbsd.miniroot-image.i386.gz): Likewise.
10332 (bootcheck-knetbsd-i386): Likewise.
10333 (bootcheck-kopenbsd-i386): Likewise.
10334 (bootcheck-kopenbsd-x86_64): Likewise.
10335 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10336 (bootcheck-knetbsd-x86_64): Likewise.
10337 (bootcheck-linux-i386): Likewise.
10338 (bootcheck-linux-x86_64): Likewise.
10339 (bootcheck-linux16-i386): Likewise.
10340 (bootcheck-linux16-x86_64): Likewise.
10341 (bootcheck-multiboot): Likewise.
10342 (bootcheck-multiboot2): Likewise.
10343 (bootcheck-kfreebsd-aout): Likewise.
10344 (bootcheck-pc-chainloader): Likewise.
10345 (bootcheck-ntldr): Likewise.
10346 (CLEANFILES): Add new targets.
10347 (BOOTCHECKS): New variable.
10348 (.PHONY): Add bootchecks.
10349 (SUCCESSFUL_BOOT_STRING): New variable.
10350 (BOOTCHECK_TIMEOUT): Likewise.
10351 (bootcheck): New target
10352 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10353 * configure.ac: Correct efiemu excuse.
10354 * docs/grub.texi (Supported kernels): New chapter.
10355 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10356 include/grub/mm_private.h. Simplify inclusion of
10357 include/grub/boot.h, include/grub/loader.h
10358 and include/grub/msdos_partition.h
10359 (KERNEL_HEADER_FILES) [i386_coreboot]:
10360 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10361 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10362 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10363 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10364 include/grub/machine/loader.h.
10365 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10366 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10367 extra_dist.
10368 (pci.mod): Enable on i386-multiboot.
10369 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10370 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10371 i386-qemu.
10372 (relocator.mod): Rewritten.
10373 (aout.mod): Enable on all x86.
10374 (bsd.mod): Likewise.
10375 (ntldr.mod): New module.
10376 (linux.mod): Use loader/i386/linux.c on all x86.
10377 (xnu.mod): Enable on all x86.
10378 (vga_text.mod): disable on EFI and QEMU.
10379 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10380 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10381 * grub-core/efiemu/loadcore.c: Likewise.
10382 * grub-core/efiemu/main.c: Likewise.
10383 (grub_efiemu_exit_boot_services): Removed.
10384 (grub_efiemu_finish_boot_services): Likewise.
10385 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10386 function.
10387 * grub-core/efiemu/i386/nocfgtables.c: New file.
10388 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10389 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10390 (grub_efi_finish_boot_services): Moved from here ...
10391 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10392 Fille finish memory map and related data.
10393 (finish_mmap_buf): New variable.
10394 (grub_efi_uintn_t finish_mmap_size): Likewise.
10395 (grub_efi_uintn_t finish_key): Likewise.
10396 (grub_efi_uintn_t finish_desc_size): Likewise.
10397 (grub_efi_uint32_t finish_desc_version): Likewise.
10398 (grub_efi_is_finished): Likewise.
10399 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10400 finished.
10401 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10402 (grub_elf64_phdr_iterate): Likewise.
10403 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10404 (grub_os_area_size): Likewise.
10405 (grub_machine_init): Don't reserve os area.
10406 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10407 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10408 * grub-core/kern/i386/loader.S: Removed.
10409 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10410 (grub_os_area_size): Likewise.
10411 (grub_machine_init): Don't reserve os area.
10412 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10413 Don't call grub_dl_unload_all.
10414 Don't include loader.S.
10415 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10416 Declare the memory after _end as available.
10417 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10418 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10419 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10420 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10421 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10422 * include/grub/mm_private.h (grub_mm_header): ... here.
10423 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10424 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10425 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10426 (grub_mm_region): ..here. Removed addr. Added pre_size.
10427 All users updated.
10428 * grub-core/kern/mm.c (base): Renamed to ...
10429 (grub_mm_base): ... this. Made global.
10430 (grub_real_malloc): Alloc from end of region.
10431 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10432 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10433 * grub-core/kern/powerpc/cache_flush.S: ... here.
10434 * grub-core/lib/efi/relocator.c: New file.
10435 * grub-core/lib/i386/relocator.c: Rewritten.
10436 * grub-core/lib/i386/relocator16.S: New file.
10437 * grub-core/lib/i386/relocator32.S: Likewise.
10438 * grub-core/lib/i386/relocator64.S: Likewise.
10439 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10440 * grub-core/lib/i386/relocator_common.S: New file.
10441 * grub-core/lib/ieee1275/relocator.c: Likewise.
10442 * grub-core/lib/mips/relocator.c: Rewritten.
10443 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10444 stylistic adjustments.
10445 * grub-core/lib/powerpc/relocator.c: New file.
10446 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10447 * grub-core/lib/relocator.c: Rewritten.
10448 * grub-core/lib/x86_64/relocator_asm.S: New file.
10449 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10450 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10451 (bsd_tag): New struct.
10452 (tags): New variable.
10453 (tags_last): Likewise.
10454 (netbsd_module): New struct.
10455 (netbsd_mods): New variable.
10456 (netbsd_mods_last): Likewise.
10457 (openbsd_opts): New parameter "serial".
10458 (OPENBSD_SERIAL_ARG): New definition.
10459 (netbsd_opts): New parameter "serial".
10460 (NETBSD_SERIAL_ARG): New definition.
10461 (grub_freebsd_add_meta): Reorganised into ...
10462 (grub_bsd_add_meta): ...this. All users updated.
10463 (grub_freebsd_add_mmap): Reorganised into ...
10464 (generate_e820_mmap): ...this...
10465 (grub_bsd_add_mmap): ...and this. All users updated.
10466 (grub_freebsd_list_modules): Use tags.
10467 (grub_netbsd_add_meta_module): New function.
10468 (grub_netbsd_list_modules): Likewise.
10469 (grub_freebsd_boot): Use relocator and finish EFI.
10470 (grub_openbsd_boot): Likewise.
10471 (grub_netbsd_setup_video): New function.
10472 (grub_netbsd_add_modules): Likewise.
10473 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10474 and finish EFI.
10475 (grub_bsd_unload): Unload tags.
10476 (grub_bsd_load_aout): Use relocator.
10477 (grub_bsd_elf32_size_hook): New function.
10478 (grub_bsd_elf32_hook): Use relocator.
10479 (grub_bsd_elf64_size_hook): New function.
10480 (grub_bsd_elf64_hook): Use relocator.
10481 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10482 (grub_bsd_load): Zero-out openbsd_ramdisk.
10483 (grub_bsd_load): Use relocator.
10484 (grub_cmd_openbsd): Support serial.
10485 (grub_cmd_netbsd): Support modules.
10486 (grub_cmd_freebsd_module): Use relocator.
10487 (grub_netbsd_module_load): New function.
10488 (grub_cmd_netbsd_module): Likewise.
10489 (grub_cmd_openbsd_ramdisk): Likewise.
10490 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10491 kopenbsd_ramdisk.
10492 (GRUB_MOD_FINI): Unregister new commands.
10493 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10494 (grub_freebsd_load_elfmodule_obj): Use relocator.
10495 (grub_freebsd_load_elfmodule): Likewise.
10496 (grub_freebsd_load_elf_meta): Likewise.
10497 (grub_netbsd_load_elf_meta): New function.
10498 (grub_openbsd_find_ramdisk): Likewise.
10499 * grub-core/loader/i386/bsd_helper.S: Removed.
10500 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10501 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10502 * grub-core/loader/i386/efi/linux.c: Likewise.
10503 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10504 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10505 (DEFAULT_VIDEO_MODE): Likewise.
10506 (real_mode_target): New variable.
10507 (prot_mode_target): Likewise.
10508 (initrd_mem_target): Likewise.
10509 (relocator): Likewise.
10510 (efi_mmap_buf): Likewise.
10511 (efi_mmap_size): Likewise.
10512 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10513 (free_pages): Use relocator.
10514 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10515 (grub_linux_setup_video): Return error.
10516 (grub_linux_trampoline_start): Removed.
10517 (grub_linux_trampoline_end): Likewise.
10518 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10519 andd video parameters depending on firmware.
10520 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10521 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10522 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10523 (grub_cmd_initrd): Use relocator.
10524 * grub-core/loader/i386/linux_trampoline.S: Removed.
10525 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10526 (elf_sec_entsize): Likewise.
10527 (elf_sec_shstrndx): Likewise.
10528 (elf_sections): Likewise.
10529 (grub_multiboot_load): Use relocator.
10530 (grub_multiboot_get_mbi_size): Account for sections.
10531 (grub_multiboot_make_mbi): Use relocator and support sections.
10532 (grub_multiboot_add_elfsyms): New function.
10533 (grub_multiboot_free_mbi): Free sections.
10534 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10535 (grub_linux_real_target): Likewise.
10536 (grub_linux_real_chunk): Likewise.
10537 (grub_linux16_prot_size): Likewise.
10538 (grub_linux16_boot): Use relocator.
10539 (grub_linux_unload): Unload relocator.
10540 (grub_cmd_linux): Use relocator.
10541 (grub_cmd_initrd): Likewise.
10542 * grub-core/loader/i386/pc/ntldr.c: New file.
10543 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10544 Don't try to guess CPU frequency.
10545 (grub_xnu_set_video): Stretch bitmap.
10546 (grub_xnu_boot): Use relocator.
10547 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10548 (grub_linux_unload): Free relocator.
10549 (grub_linux_load32): Use relocator.
10550 (grub_linux_load64): Likewise.
10551 (grub_cmd_initrd): Likewise.
10552 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10553 (grub_multiboot_unload): Unload relocator.
10554 (grub_cmd_multiboot): Use relocator.
10555 (grub_cmd_module): Likewise.
10556 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10557 Use relocator and support sections.
10558 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10559 (elf_sec_entsize): Likewise.
10560 (elf_sec_shstrndx): Likewise.
10561 (elf_sections): Likewise.
10562 (grub_multiboot_load): Use relocator.
10563 (grub_multiboot_get_mbi_size): Account for sections.
10564 (grub_multiboot_make_mbi): Use relocator and support sections.
10565 (grub_multiboot_add_elfsyms): New function.
10566 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10567 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10568 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10569 Prototype changed. All users updated.
10570 (grub_xnu_align_heap): Simplified.
10571 (grub_xnu_writetree_toheap): Likewise.
10572 (grub_xnu_unload): Unload relocator.
10573 (grub_cmd_xnu_kernel): Use relocator.
10574 (grub_cmd_xnu_kernel64): Likewise.
10575 (grub_xnu_register_memory): Simplified.
10576 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
10577 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10578 EFI is finished.
10579 (grub_console_checkkey): Likewise.
10580 (grub_console_getkey): Likewise.
10581 (grub_console_getwh): Likewise.
10582 (grub_console_getxy): Likewise.
10583 (grub_console_gotoxy): Likewise.
10584 (grub_console_cls): Likewise.
10585 (grub_console_setcolorstate): Likewise.
10586 (grub_console_setcursor): Likewise.
10587 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10588 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10589 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10590 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10591 * grub-core/tests/boot/kernel-8086.S: Likewise.
10592 * grub-core/tests/boot/kernel-i386.S: Likewise.
10593 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10594 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10595 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10596 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10597 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10598 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10599 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10600 * grub-core/tests/boot/linux.cfg: Likewise.
10601 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10602 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10603 * grub-core/tests/boot/linux16.cfg: Likewise.
10604 * grub-core/tests/boot/multiboot.cfg: Likewise.
10605 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10606 * grub-core/tests/boot/ntldr.cfg: Likewise.
10607 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10608 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10609 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10610 New definition.
10611 * include/grub/dl.h (grub_dl_unload_all): Removed.
10612 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10613 (grub_efi_finish_boot_services): Change prototype.
10614 (grub_efi_is_finished): New variable.
10615 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10616 Changed prototype.
10617 (grub_efiemu_finish_boot_services): Removed.
10618 (grub_machine_efiemu_init_tables): New prototype.
10619 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10620 (grub_elf64_phdr_iterate): Likewise.
10621 * include/grub/i386/bsd.h: Include relocator.h.
10622 (freebsd_tag_header): New struct.
10623 (grub_openbsd_bios_mmap): Removed.
10624 (grub_unix_real_boot): Removed.
10625 (grub_freebsd_load_elfmodule32): Changed prototype.
10626 (grub_freebsd_load_elfmodule_obj64): Likewise.
10627 (grub_freebsd_load_elf_meta32): Likewise.
10628 (grub_freebsd_load_elf_meta64): Likewise.
10629 (grub_freebsd_add_meta): Removed.
10630 (grub_netbsd_load_elf_meta32): New prototype.
10631 (grub_netbsd_load_elf_meta64): Likewise.
10632 (grub_bsd_add_meta): Likewise.
10633 (grub_openbsd_ramdisk_descriptor): New struct.
10634 (grub_openbsd_find_ramdisk32): New prototype.
10635 (grub_openbsd_find_ramdisk64): Likewise.
10636 * include/grub/i386/coreboot/loader.h: Removed.
10637 * include/grub/i386/efi/loader.h: Likewise.
10638 * include/grub/i386/ieee1275/loader.h: Likewise.
10639 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10640 to grub_uint32_t.
10641 * include/grub/i386/loader.h: Removed.
10642 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10643 value.
10644 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10645 (grub_phys_addr_t): New type.
10646 (grub_vtop): New inline function.
10647 (grub_map_memory): Likewise.
10648 (grub_unmap_memory): Likewise.
10649 * include/grub/i386/multiboot/loader.h: Removed.
10650 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10651 (NETBSD_BTINFO_CONSOLE): New definition.
10652 (NETBSD_BTINFO_SYMTAB): Likewise.
10653 (NETBSD_BTINFO_MODULES): Likewise.
10654 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10655 (grub_netbsd_bootinfo): New struct.
10656 (grub_netbsd_btinfo_common): Use explicit bitsize.
10657 (grub_netbsd_btinfo_mmap_entry): Removed.
10658 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10659 (grub_netbsd_btinfo_bootdisk): New struct.
10660 (grub_netbsd_btinfo_symtab): Likewise.
10661 (grub_netbsd_btinfo_serial): Likewise.
10662 (grub_netbsd_btinfo_modules): Likewise.
10663 (grub_netbsd_btinfo_framebuf): Likewise.
10664 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10665 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10666 Likewise.
10667 (grub_openbsd_bootargs): Use explicit bitsize.
10668 (grub_openbsd_bootarg_console): New struct.
10669 (GRUB_OPENBSD_COM_MAJOR): New definition.
10670 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10671 * include/grub/i386/pc/efiemu.h: Removed.
10672 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10673 * include/grub/i386/qemu/loader.h: Removed.
10674 * include/grub/i386/relocator.h: Rewritten.
10675 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10676 * include/grub/mips/memory.h: New file.
10677 * include/grub/mips/multiboot.h: Rewritten.
10678 * include/grub/mips/relocator.h: Rewritten.
10679 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10680 (grub_vtop): New function.
10681 (grub_map_memory): Likewise.
10682 (grub_unmap_memory): Likewise.
10683 * include/grub/misc.h (ALIGN_DOWN): New definition.
10684 * include/grub/mm.h (grub_mm_check_real): New proto.
10685 (GRUB_MM_CHECK): New definition.
10686 * include/grub/mm_private.h: New file.
10687 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10688 (grub_multiboot_get_mbi_size): Removed.
10689 (grub_multiboot_make_mbi): Change prottype.
10690 (grub_multiboot_set_accepts_video): New proto.
10691 (grub_multiboot_add_elfsyms): Likewise.
10692 (grub_multiboot_payload_eip): New variable.
10693 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10694 New prototype.
10695 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10696 New definition.
10697 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10698 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10699 * include/grub/powerpc/ieee1275/loader.h: Removed.
10700 * include/grub/powerpc/memory.h: New file.
10701 * include/grub/powerpc/relocator.h: Likewise.
10702 * include/grub/relocator.h: Likewise.
10703 * include/grub/relocator_private.h: Likewise.
10704 * include/grub/sparc64/ieee1275/loader.h: Removed.
10705 * include/grub/x86_64/memory.h: New file.
10706 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10707 (grub_xnu_heap_malloc): Likewise.
10708 (grub_xnu_heap_real_start): Removed.
10709 (grub_xnu_heap_start): Likewise.
10710 (grub_xnu_relocator): New variable.
10711 (grub_xnu_heap_target_start): Likewise.
10712 * tests/util/grub-shell.in: Support non-pc.
10713 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 10714
5303b85d
VS
107152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10718 on malloc error.
10719 (grub_bidi_logical_to_visual): Check that malloc succeded.
10720 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10721 puts.
10722 (grub_xputs_normal): Likewise.
10723
d768d159
VS
107242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10727 extra_dist.
10728
107292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10732
5bf84df4
VS
107332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10736
3626810e
VS
107372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10740 dprintf.
10741
a7363f53
BC
107422010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10743
10744 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10745
902f75f6
VS
107462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/normal/term.c (print_more): Fix a memory leak.
10749 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10750 (grub_xputs_normal): Likewise.
10751
3c707967
VS
107522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10755 the begining of the string
10756
2053cc07
VS
107572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * grub-core/script/script.c (grub_script_parse): Free parsed on
10760 failure.
10761
46422ebf
VS
107622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10765 on failure.
10766
9e0fa3f6
VS
107672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10770 return.
10771
3393cf16
VS
107722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10775 (scroll_up): Fix a memory leak.
10776
b17540cb
VS
107772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10780 errors.
10781
67140446
VS
107822010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 Handle USB pendrives exposed as floppies.
10785
10786 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10787 floppy.
10788 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10789 Check for partitions on all devices.
10790
e35e46fc
VS
107912010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10794 (readkey): Likewise.
10795
d24c6190
BC
107962010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10797
10798 Multiple variable names support to "export" command.
10799
10800 * normal/context.c (grub_cmd_export): "export" command supports
10801 multiple variable names.
10802
04ddcc6a
ST
108032010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10804
10805 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10806 --target=drive output to Mach device name.
10807
0c8b61d8
BC
108082010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10809
10810 New Automake based build system for GRUB.
10811
10812 * ABOUT-NLS: New file.
10813 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10814 in Makefile.util.def file.
10815 * Makefile.util.def: New file. Autogen build definitions file for
10816 GRUB host utils.
10817 * conf/Makefile.common: New file. Common variables for GRUB host
10818 utils and target modules.
10819 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10820 * docs/Makefile.am: New file. Automake file for docs.
10821 * gentpl.py: New file. Python script to generate Autogen
10822 template.
10823 * grub-core/Makefile.am: New file. GRUB target modules' rules
10824 that doesn't fit in Makefile.core.def file.
10825 * grub-core/Makefile.core.def: New file. Autogen build
10826 definitions file for GRUB target modules.
10827 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10828 specific setjmp.S file.
10829 * po/Makefile.am: New file.
10830
10831 * .bzrignore: New ignores.
10832 * INSTALL: New requirements, without Ruby.
10833 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10834 * autogen.sh: Updated to invoke autogen as necessary.
10835 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10836 and defines for Automake conditionals.
10837 * geninit.sh: Refactoring.
10838
10839 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10840 necessary.
10841 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10842 New prototype.
10843
10844 * include/grub/test.h: Fix functional test modules' naming.
10845 * grub-core/tests/example_functional_test.c: Fix test module name.
10846
10847 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10848 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10849 * util/grub-editenv.c: Likewise.
10850 * util/grub-fstest.c: Likewise.
10851 * util/grub-mkdevicemap.c: Likewise.
10852 * util/grub-mkfont.c: Likewise.
10853 * util/grub-mkimage.c: Likewise.
10854 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10855 * util/grub-probe.c: Likewise.
10856 * util/grub-script-check.c: Likewise.
10857 * util/i386/pc/grub-setup.c: Likewise.
10858 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10859
10860 * tests/util/grub-shell.in: Fix override directory path.
10861 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10862 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10863
10864 * util/lvm.c: Update #includes.
10865 * util/raid.c: Likewise.
10866 * util/resolve.c: Likewise.
10867 * grub-core/bus/emu/pci.c: Likewise.
10868 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10869 * grub-core/lib/posix_wrap/string.h: Likewise.
10870 * grub-core/kern/emu/main.c: Likewise.
10871
10872 * grub-core/gensymlist.sh: New file. Script for generating kernel
10873 symbols file.
10874 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10875
10876 * grub-core/gentrigtables.c: Fix unused variable warnings.
10877
10878 * Makefile.in: Removed.
10879 * conf/any-emu.rmk: Removed.
10880 * conf/common.rmk: Removed.
10881 * conf/i386-coreboot.rmk: Removed.
10882 * conf/i386-efi.rmk: Removed.
10883 * conf/i386-ieee1275.rmk: Removed.
10884 * conf/i386-multiboot.rmk: Removed.
10885 * conf/i386-pc.rmk: Removed.
10886 * conf/i386-qemu.rmk: Removed.
10887 * conf/i386.rmk: Removed.
10888 * conf/mips-yeeloong.rmk: Removed.
10889 * conf/mips.rmk: Removed.
10890 * conf/powerpc-ieee1275.rmk: Removed.
10891 * conf/sparc64-ieee1275.rmk: Removed.
10892 * conf/tests.rmk: Removed.
10893 * conf/x86-efi.rmk: Removed.
10894 * conf/x86_64-efi.rmk: Removed.
10895 * gendistlist.sh: Removed.
10896 * geninitheader.sh: Removed.
10897 * genkernsyms.sh.in: Removed.
10898 * genmk.rb: Removed.
10899 * gensymlist.sh.in: Removed.
10900 * mkinstalldirs: Removed.
10901 * boot: Moved ...
10902 * grub-core/boot: ... to here.
10903 * bus: Moved ...
10904 * grub-core/bus: ... to here.
10905 * commands: Moved ...
10906 * grub-core/commands: ... to here.
10907 * disk: Moved ...
10908 * grub-core/disk: ... to here.
10909 * efiemu: Moved ...
10910 * grub-core/efiemu: ... to here.
10911 * font: Moved ...
10912 * grub-core/font: ... to here.
10913 * fs: Moved ...
10914 * grub-core/fs: ... to here.
10915 * gencmdlist.sh: Moved ...
10916 * grub-core/gencmdlist.sh: ... to here.
10917 * genemuinit.sh: Moved ...
10918 * grub-core/genemuinit.sh: ... to here.
10919 * genemuinitheader.sh: Moved ...
10920 * grub-core/genemuinitheader.sh: ... to here.
10921 * genfslist.sh: Moved ...
10922 * grub-core/genfslist.sh: ... to here.
10923 * genhandlerlist.sh: Moved ...
10924 * grub-core/genhandlerlist.sh: ... to here.
10925 * genmoddep.awk: Moved ...
10926 * grub-core/genmoddep.awk: ... to here.
10927 * genmodsrc.sh: Moved ...
10928 * grub-core/genmodsrc.sh: ... to here.
10929 * genpartmaplist.sh: Moved ...
10930 * grub-core/genpartmaplist.sh: ... to here.
10931 * genparttoollist.sh: Moved ...
10932 * grub-core/genparttoollist.sh: ... to here.
10933 * genterminallist.sh: Moved ...
10934 * grub-core/genterminallist.sh: ... to here.
10935 * gentrigtables.c: Moved ...
10936 * grub-core/gentrigtables.c: ... to here.
10937 * genvideolist.sh: Moved ...
10938 * grub-core/genvideolist.sh: ... to here.
10939 * gettext: Moved ...
10940 * grub-core/gettext: ... to here.
10941 * gfxmenu: Moved ...
10942 * grub-core/gfxmenu: ... to here.
10943 * gnulib: Moved ...
10944 * grub-core/gnulib: ... to here.
10945 * hello: Moved ...
10946 * grub-core/hello: ... to here.
10947 * hook: Moved ...
10948 * grub-core/hook: ... to here.
10949 * io: Moved ...
10950 * grub-core/io: ... to here.
10951 * kern: Moved ...
10952 * grub-core/kern: ... to here.
10953 * lib: Moved ...
10954 * grub-core/lib: ... to here.
10955 * loader: Moved ...
10956 * grub-core/loader: ... to here.
10957 * mmap: Moved ...
10958 * grub-core/mmap: ... to here.
10959 * normal: Moved ...
10960 * grub-core/normal: ... to here.
10961 * partmap: Moved ...
10962 * grub-core/partmap: ... to here.
10963 * parttool: Moved ...
10964 * grub-core/parttool: ... to here.
10965 * script: Moved ...
10966 * grub-core/script: ... to here.
10967 * term: Moved ...
10968 * grub-core/term: ... to here
10969 * tests/example_functional_test.c: Moved ...
10970 * grub-core/tests/example_functional_test.c: ... to here.
10971 * tests/lib/functional_test.c: Moved ...
10972 * grub-core/tests/lib/functional_test.c: ... to here.
10973 * tests/lib/test.c: Moved ...
10974 * grub-core/tests/lib/test.c: ... to here.
10975 * video: Moved ...
10976 * grub-core/video: ... to here.
10977
645586e6
BC
109782010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10979
10980 Replace --enable-grub-emu-modules with grub-emu-lite.
10981
10982 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10983 cache.S.
10984
10985 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10986 * kern/emu/full.c: New file. For grub-emu specific initialization.
10987 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10988 * kern/emu/main.c: Call initialization function grub_emu_init.
10989
10990 * Makefile.in: Include grub-emu-lite in install.
10991 * commands/parttool.c: Use grub_no_autoload to differentiate
10992 between grub-emu and grub-emu-lite.
10993 * include/grub/misc.h: New variable grub_no_autoload.
10994
10995 * conf/any-emu.rmk: New rules for grub-emu-lite.
10996 * configure.ac: Remove --enable-grub-emu-modules.
10997 * genmk.rb: Cleanup unnecessary rules.
10998 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10999
11000 * normal/main.c: Don't load list files on grub-emu-lite.
11001 * util/misc.c (grub_arch_sync_caches): Removed.
11002
f86a4030
CW
110032010-08-23 Colin Watson <cjwatson@ubuntu.com>
11004
11005 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11006 grub-mkimage rather than grub-mkelfimage.
11007 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11008
06776944
VS
110092010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11012 a key after CapsLock or NumLock. It's just a qemu bug.
11013
df262419
VS
110142010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11017 needed by libusb wrapper.
11018
b40ea81b
ST
110192010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11020
11021 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11022
dee50575
VS
110232010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11026 --nounzip is passed.
11027
fb1d7b79
VS
110282010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 USB hotunplugging and USB serial support.
11031
11032 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11033 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11034 (grub_uhci_transfer): Respect timeout and set *actual.
11035 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11036 non-standard length.
11037 (grub_usb_device_attach): Autoload modules.
11038 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11039 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11040 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11041 users updated.
11042 (grub_usb_add_hub): Fill nports and children.
11043 (attach_root_port): Receive hub instead of controller.
11044 All users updated. Fill hub->devices.
11045 (grub_usb_root_hub): Allocate hub->devices.
11046 (detach_device): New function.
11047 (poll_nonroot_hub): Fill children and detach devices.
11048 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11049 actual arguments. All users updated.
11050 (grub_usb_bulk_read_extended): New function.
11051 * bus/usb/serial/common.c: New file.
11052 * bus/usb/serial/ftdi.c: Likewise.
11053 * bus/usb/serial/pl2303.c: Likewise.
11054 * commands/terminal.c (handle_command): Support wildcard.
11055 * commands/usbtest.c: Output "Unknown" instead of empty string.
11056 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11057 (usbserial_common_mod_SOURCES): New variable.
11058 (usbserial_common_mod_CFLAGS): Likewise.
11059 (usbserial_common_mod_LDFLAGS): Likewise.
11060 (pkglib_MODULES): Add usbserial_pl2303.mod.
11061 (usbserial_pl2303_mod_SOURCES): New variable.
11062 (usbserial_pl2303_mod_CFLAGS): Likewise.
11063 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11064 (pkglib_MODULES): Add usbserial_ftdi.mod.
11065 (usbserial_ftdi_mod_SOURCES): New variable.
11066 (usbserial_ftdi_mod_CFLAGS): Likewise.
11067 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11068 (pkglib_MODULES): Add serial.mod.
11069 (serial_mod_SOURCES): New variable.
11070 (serial_mod_CFLAGS): Likewise.
11071 (serial_mod_LDFLAGS): Likewise.
11072 * conf/i386-pc.rmk: Likewise.
11073 * conf/mips-yeeloong.rmk: Likewise.
11074 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11075 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11076 * disk/usbms.c (first_available_slot): New variable.
11077 (grub_usbms_attach): Don't reuse free slots due to potential cache
11078 problems.
11079 * include/grub/serial.h: Moved to ..
11080 * include/grub/ns8250.h: ...this.
11081 * include/grub/serial.h: New file.
11082 * include/grub/term.h (grub_term_poll_usb): New variable.
11083 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11084 readkey. All users updated.
11085 (grub_terminfo_output_state): Pass term to put.
11086 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11087 (grub_usb_controller_dev): Add timeout and actual arguments to
11088 transfer. All users updated.
11089 (grub_usb_interface): New field detach_data.
11090 (grub_usb_device): New fields children and nports.
11091 (grub_usb_ep_type_t): New type.
11092 (grub_usb_get_ep_type): New function.
11093 (grub_usb_bulk_read_extended): Likewise.
11094 * include/grub/usbdesc.h (grub_usb_desc): New type.
11095 * include/grub/usbserial.h: New file.
11096 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11097 * kern/term.c (grub_term_poll_usb): New variable.
11098 (grub_getkey): Call grub_term_poll_usb if set.
11099 (grub_checkkey): Likewise.
11100 (grub_getkeystatus): Likewise.
11101 * term/serial.c: Moved controller-specific parts to ...
11102 * term/ns8250.c: ... here.
11103 * term/serial.c: Mostly rewritten.
11104 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11105 according to spec.
11106
21a313de
RM
111072010-08-20 Robert Millan <rmh@gnu.org>
11108
11109 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11110 a separate module and maybe other interesting combinations.
11111
11112 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11113 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11114 (kfreebsd_entry): Add generic filesystem module load routine.
11115 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11116
63c734a6
CW
111172010-08-20 Colin Watson <cjwatson@ubuntu.com>
11118
11119 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11120 "numcenter" (I misunderstood the purpose of this entry).
11121 * docs/grub.texi (sendkey): Likewise.
11122
c4d16542
CW
111232010-08-20 Colin Watson <cjwatson@ubuntu.com>
11124
11125 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11126 status flag options; simply omitting the option is equivalent and
11127 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11128 (keysym_table): Rename "num5numlock" to "numlock".
11129 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11130 can uniformly say that only the last of multiple `sendkey'
11131 invocations has any effect.
11132 * docs/grub.texi (sendkey): New section.
11133
93541d66
CW
111342010-08-19 Colin Watson <cjwatson@ubuntu.com>
11135
11136 * commands/i386/pc/sendkey.c (options): Fix three typos.
11137
b4ece5e1
VS
111382010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 Implement sendkey support.
11141
11142 * commands/i386/pc/sendkey.c: New file.
11143 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11144 (sendkey_mod_SOURCES): New variable.
11145 (sendkey_mod_CFLAGS): Likewise.
11146 (sendkey_mod_LDFLAGS): Likewise.
11147
51f1f5af
CW
111482010-08-18 Colin Watson <cjwatson@ubuntu.com>
11149
11150 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11151 fix warnings from Autoconf.
11152
9da94e05
CW
111532010-08-18 Colin Watson <cjwatson@ubuntu.com>
11154
11155 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11156 to avoid false positives with some assemblers that output things
11157 like "someprefix_func" as part of their output.
11158
729a0f2e
RM
111592010-08-15 Robert Millan <rmh@gnu.org>
11160
11161 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11162 errors.
11163 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11164 grub_get_libzfs_handle() errors.
11165
f3710e08
RM
111662010-08-14 Robert Millan <rmh@gnu.org>
11167
11168 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11169 filesystem is not ZFS.
11170
7a3c13de
BC
111712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11172
11173 Fix for misspelled color names defaulting to black/black (bug
11174 reported by Doug Nazar)
11175
11176 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11177 status to prototype.
11178 * normal/color.c (grub_parse_color_name_pair): Return failure
11179 status.
11180 (grub_env_write_color_normal): Ignore bad color names.
11181 (grub_env_write_color_highlight): Likewise.
11182 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11183
ab8ba50d
BC
111842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11185
11186 "shift" command support to GRUB script.
11187
11188 * include/grub/script_sh.h (grub_script_shift): New prototype.
11189 * script/execute.c (grub_script_shift): New function.
11190 * script/main.c (grub_script_init): Register shift command.
11191 (grub_script_fini): Unregister shift command.
11192 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11193
11194 * tests/grub_script_shift.in: New testcase.
11195 * conf/tests.rmk: Rules for new testcase.
11196
4d61999e
BC
111972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11198
11199 "continue" command support to GRUB script.
11200
11201 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11202 (grub_script_break): Continue support.
11203 * script/main.c (grub_script_init): Register continue command.
11204 (grub_script_fini): Unregister continue command.
11205
11206 * tests/grub_script_continue.in: New testcase.
11207 * conf/tests.rmk: Rules for new testcase.
11208
4df51e00
BC
112092010-08-12 BVK Chaitanya <bvk@dbook>
11210
11211 "break" command support to GRUB script.
11212
11213 * conf/common.rmk: Rule updates to grub-script-check.
11214 * include/grub/misc.h (grub_min): New function.
11215 * include/grub/script_sh.h (grub_script_init): New prototype.
11216 (grub_script_fini): New prototype.
11217 (grub_script_break): New prototype.
11218 * script/main.c (grub_script_init): New function.
11219 (grub_script_fini): New function.
11220 * script/execute.c (grub_script_break): New function.
11221 * normal/main.c: Calls to grub_script_{init,fini}.
11222 * util/grub-script-check.c (grub_script_break): New function.
11223
11224 * tests/grub_script_break.in: New testcase.
11225 * conf/tests.rmk: Rules for new test case.
11226
f12c8420
BC
112272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11228
11229 Function parameters support to GRUB script.
11230
11231 * script/yylex.l (VARIABLE): Regular expression update.
11232 * script/function.c (grub_script_function_call): Moved ...
11233 * script/execute.c (grub_script_function_call): ... to here.
11234 (grub_script_execute_arglist_to_argv): Removed.
11235 (grub_script_arglist_to_argv): New function.
11236 * script/argv.c: New file.
11237 (grub_script_argv_free): New function.
11238 (grub_script_argv_next): Likewise.
11239 (grub_script_argv_append): Likewise.
11240 (grub_script_argv_split_append): Likewise.
11241 * include/grub/script_sh.h (grub_script_argv): New struct.
11242 (grub_script_argv_free): New function.
11243 (grub_script_argv_next): Likewise.
11244 (grub_script_argv_append): Likewise.
11245 (grub_script_argv_split_append): Likewise.
11246
11247 * conf/common.rmk (normal.mod): New source script/argv.c.
11248
11249 * tests/grub_script_echo1.in: More tests.
11250 * tests/grub_script_vars1.in: Likewise.
11251 * tests/grub_script_functions.in: New test case.
11252 * conf/tests.rmk: Rules for new testcase.
11253
8022b748
BC
112542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11255
11256 Remove grub_script_cmdblock struct.
11257
11258 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11259 * script/parser.y: Likewise.
11260 * script/execute.c: Rename cmdblock suffix to cmdlist.
11261 * script/script.c: Likewise.
11262 * util/grub-script-check.c: Likewise.
11263
79a6ba61
YB
112642010-08-11 Yves Blusseau <blusseau@zetam.org>
11265
11266 * .bzrignore: add grub-macho2img
11267
d04b9414
VS
112682010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11271
f947ab49
VS
112722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 Remove the dump of sm712 initialisation sequence.
11275
11276 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11277 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11278 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11279 (GRUB_VGA_CR_*): Added many registers.
11280 (GRUB_VGA_SR_*): Likewise.
11281 (GRUB_VGA_GR_*): Likewise.
11282 (grub_vga_write_arx): New function.
11283 (grub_video_hw_config): New struct.
11284 (grub_vga_set_geometry): New function.
11285 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11286 GRUB_PCI_CLASS_SUBCLASS_VGA.
11287 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11288 * video/sm712.c (grub_sm712_write_reg): New function
11289 (grub_sm712_read_reg): Likewise.
11290 (grub_sm712_sr_write): Likewise.
11291 (grub_sm712_gr_write): Likewise.
11292 (grub_sm712_cr_write): Likewise.
11293 (grub_sm712_write_arx): Likewise.
11294 (grub_sm712_cr_shadow_write): Likewise.
11295 (grub_sm712_write_dda_lookup): Likewise.
11296 (grub_video_sm712_setup): Initialise the video rather then
11297 blindly replay the dump.
11298 (main) [TEST]: Add a routine to be able to compile as standalone for
11299 tests.
11300 * video/sm712_init.c (sm712_init): Removed.
11301 (sm712_sr_seq1): New array.
11302 (sm712_sr_seq2): Likewise.
11303
f0206638
VS
113042010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * include/grub/vga.h: Add missing grub/pci.h include.
11307
2764da3b
YB
113082010-08-10 Yves Blusseau <blusseau@zetam.org>
11309
11310 * util/grub-macho2img.c (main): fix typo
11311
cf0c775e
VS
113122010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11315 (grub_vga_gr_read): Likewise.
11316 (grub_vga_cr_write): Likewise.
11317 (grub_vga_cr_read): Likewise.
11318 (grub_vga_sr_write): Likewise.
11319 (grub_vga_sr_read): Likewise.
11320 (grub_vga_palette_read): Likewise.
11321 (grub_vga_palette_write): Likewise.
11322 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11323 (grub_sm712_sr_read): New function.
11324 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11325 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11326
07f360e9
RM
113272010-08-09 Robert Millan <rmh@gnu.org>
11328
11329 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11330 out unused variables on non-ZFS build.
11331
346c2072
RM
113322010-08-08 Robert Millan <rmh@gnu.org>
11333
11334 Fix path generation for sub-filesystems in ZFS.
11335
11336 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11337 missing slash.
11338
71175420
RM
113392010-08-08 Robert Millan <rmh@gnu.org>
11340
11341 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11342
0d8286f3
RM
113432010-08-08 Robert Millan <rmh@gnu.org>
11344
11345 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11346 exist, issue a proper error message (rely on `ls' for translated
11347 strings).
11348
55dd2924
RM
113492010-08-08 Robert Millan <rmh@gnu.org>
11350
11351 Fix grub-probe invocation.
11352
11353 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11354
d3dd9e80
RM
113552010-08-04 Robert Millan <rmh@gnu.org>
11356
11357 * configure.ac: Remove checks for getfsstat() and getmntany().
11358 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11359 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11360 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11361 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11362 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11363 function.
11364 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11365 via find_mount_point_from_dir() and getfsstat() / getmntany().
11366
0de22aa9
RM
113672010-08-04 Robert Millan <rmh@gnu.org>
11368
11369 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11370 (grub_find_zpool_from_mount_point): Merge into ...
11371 (grub_find_zpool_from_dir): ... this.
11372 * kern/emu/misc.c: Likewise.
11373
11374 * kern/emu/misc.c
11375 (grub_make_system_path_relative_to_its_root): Replace
11376 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11377 with grub_find_zpool_from_dir().
11378 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11379
62858144
RM
113802010-08-04 Robert Millan <rmh@gnu.org>
11381
11382 Support OpenSolaris in ZFS device resolution.
11383
11384 * configure.ac: Check for getmntany().
11385 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11386 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11387 support.
11388
9dd6fd50
RM
113892010-08-03 Robert Millan <rmh@gnu.org>
11390
11391 Fix grub-emu build.
11392
11393 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11394 * include/grub/emu/misc.h: ... here.
11395
11396 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11397 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11398
11399 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11400 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11401 (grub_get_libzfs_handle): Move to ...
11402 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11403 (grub_get_libzfs_handle): ... here.
11404
c9f7ff97
BC
114052010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11406
11407 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11408 as command name case.
11409
a870a783
CW
114102010-08-02 Colin Watson <cjwatson@ubuntu.com>
11411
11412 * disk/raid.c (insert_array): Select unique numbers for named arrays
11413 as well, for use as keys in the disk cache.
11414
c7db243b
RM
114152010-08-01 Robert Millan <rmh@gnu.org>
11416
11417 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11418 kFreeBSD device name, except on ZFS where the filesystem label is
11419 used.
11420 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11421 `/boot/zfs/zpool.cache'.
11422 Set mountfrom kernel variable using ${kfreebsd_device}.
11423
f7abdefb
RM
114242010-08-01 Robert Millan <rmh@gnu.org>
11425
11426 Make it even harder to use uninitialized `libzfs_handle' (and
11427 make the interface a bit simpler).
11428
11429 * include/grub/util/misc.h (grub_util_init_libzfs)
11430 (libzfs_handle): Remove.
11431 (grub_get_libzfs_handle): New prototype.
11432
11433 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11434 attribute.
11435 (grub_util_init_libzfs): Remove.
11436 (grub_get_libzfs_handle): New function.
11437
11438 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11439 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11440 accessing `libzfs_handle' directly.
11441
c882acc0
RM
114422010-08-01 Robert Millan <rmh@gnu.org>
11443
11444 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11445 (grub_find_zpool_from_mount_point): New function prototypes.
11446
11447 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11448 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11449
11450 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11451 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11452 `static' attribute.
11453
11454 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11455 finding zpool from mount point into ...
11456 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11457
11458 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11459 requested path is part of a ZFS pool, use
11460 grub_find_zpool_from_mount_point() to detect its filesystem name,
11461 and generate a path with `/fsname@path' syntax.
11462
8bfe31d8
CW
114632010-08-01 Colin Watson <cjwatson@ubuntu.com>
11464
11465 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11466 (void) rather than () so that this is a proper prototype.
11467
553df63d
VS
114682010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11471
8687cf07
VS
114722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11475 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11476
ea9be8ea
CW
114772010-08-01 Colin Watson <cjwatson@ubuntu.com>
11478
11479 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11480
6eea041a
CW
114812010-08-01 Colin Watson <cjwatson@ubuntu.com>
11482
11483 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11484
2cfb45df
CW
114852010-08-01 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11488 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11489 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11490 disable gfxpayload.
11491 (Shell-like scripting): Add real content.
11492 (Serial terminal): Suggest `terminal_input serial; terminal_output
11493 serial' rather than putting the two commands on separate lines,
11494 since console input will be inoperative after the first command.
11495 (menuentry): Document --class, --users, and --hotkey options.
11496 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11497 Vladimir Serbinenko).
11498
7decd202
VS
114992010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
115002010-08-01 Colin Watson <cjwatson@ubuntu.com>
11501
11502 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11503
c882acc0
RM
115042010-08-01 Robert Millan <rmh@gnu.org>
11505
11506 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11507 (grub_find_zpool_from_mount_point): New function prototypes.
11508
11509 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11510 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11511
11512 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11513 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11514 `static' attribute.
11515
11516 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11517 finding zpool from mount point into ...
11518 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11519
11520 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11521 requested path is part of a ZFS pool, use
11522 grub_find_zpool_from_mount_point() to detect its filesystem name,
11523 and generate a path with `/fsname@path' syntax.
11524
deb0caa3
RM
115252010-08-01 Robert Millan <rmh@gnu.org>
11526
11527 Prevent accidental use of uninitialized libzfs_handle.
11528
11529 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11530 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11531 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11532
ce04ef47
CW
115332010-08-01 Colin Watson <cjwatson@ubuntu.com>
11534
11535 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11536 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11537
ebf53056
RM
115382010-08-01 Robert Millan <rmh@gnu.org>
11539
11540 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 11541
3710bb6b
RM
115422010-07-31 Robert Millan <rmh@gnu.org>
11543
11544 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11545
8072efeb
RM
115462010-07-31 Robert Millan <rmh@gnu.org>
11547
11548 * kern/emu/misc.c: Add missing license header.
11549
3169f4c7
RM
115502010-07-31 Robert Millan <rmh@gnu.org>
11551
11552 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11553
11554 * include/grub/util/libnvpair.h: Include `<config.h>'.
11555 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11556 declaring libnvpair prototypes ourselves.
11557 * include/grub/util/libzfs.h: Include `<config.h>'.
11558 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11559 declaring libzfs prototypes ourselves.
11560
11561 (libzfs_handle): Moved to ...
11562 * include/grub/util/misc.h (libzfs_handle): ... here.
11563 Include `<grub/util/libzfs.h>'.
11564
c9a00aee
RM
115652010-07-30 Robert Millan <rmh@gnu.org>
11566
11567 * include/grub/emu/misc.h: Add missing license header.
11568
a184f9c8
RM
115692010-07-30 Robert Millan <rmh@gnu.org>
11570
11571 Enable `grub-probe -t device' resolution on ZFS.
11572
11573 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11574 * include/grub/util/libnvpair.h: New file.
11575 * include/grub/util/libzfs.h: New file.
11576
11577 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11578 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11579 `<grub/util/libnvpair.h>'.
11580 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11581
11582 (find_mount_point_from_dir): New static function.
11583 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11584 function.
11585 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11586 find_root_device_from_libzfs() before ressorting to find_root_device().
11587
11588 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11589 prototype.
11590 * util/misc.c: Include `<grub/util/libzfs.h>'.
11591 (grub_util_init_libzfs): New function.
11592 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11593 [HAVE_LIBZFS] (fini_libzfs): New static function.
11594 (grub_util_init_libzfs): New function.
11595 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11596
f7790cdd
RM
115972010-07-30 Robert Millan <rmh@gnu.org>
11598
11599 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11600 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11601 `warn_unused_result' attribute.
11602 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11603 (grub_xasprintf, grub_xvasprintf): Likewise.
11604 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11605
0806b63c
RM
116062010-07-29 Robert Millan <rmh@gnu.org>
11607
11608 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11609 (probe): Handle `PRINT_FS_LABEL'.
11610 (main): Handle `-t fs_label'.
11611
9f841f5c
RM
116122010-07-29 Robert Millan <rmh@gnu.org>
11613
11614 * configure.ac: Remove grub-mkisofs checks.
11615
46371121
VS
116162010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11619 Reported by: Lennart Sorensen.
11620
116212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11624 prior to terminal_input/terminal_output separation. It's been over 1.5
11625 years and those versions weren't widely deployed.
11626
a9600892
CW
116272010-07-22 Colin Watson <cjwatson@ubuntu.com>
11628
11629 * disk/raid.c (insert_array): Don't count named arrays when looking
11630 for unused array numbers.
697e053c 11631 Reported and tested by: Michael Guntsche.
a9600892 11632
c03507df
CW
116332010-07-20 Colin Watson <cjwatson@ubuntu.com>
11634
11635 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11636 implementation of this so that grub-emu links again, with a note
11637 that this should support hotplugging in the future.
11638
b26f1c11
CW
116392010-07-20 Colin Watson <cjwatson@ubuntu.com>
11640
11641 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11642
efc9d7f1
CW
116432010-07-20 Colin Watson <cjwatson@ubuntu.com>
11644
11645 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11646 handle on failure.
11647 (grub_loopback_close): Remove empty function.
11648 (grub_loopback_dev): Remove close method.
11649
dd8ff5c9
CW
116502010-07-20 Colin Watson <cjwatson@ubuntu.com>
11651
11652 Disable EFI cursor when the EFI console becomes inactive.
11653
11654 * term/efi/console.c (grub_efi_console_init): New function.
11655 (grub_efi_console_fini): New function.
11656 (grub_console_term_output): Register init and fini methods.
11657
5e3bec67
VS
116582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11659
11660 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11661 sh script.
11662
afaec079
VS
116632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * disk/loopback.c (grub_loopback): Replace filename with file.
11666 (delete_loopback): Handle new semantics.
11667 (grub_cmd_loopback): Likewise.
11668 (grub_loopback_iterate): Likewise.
11669 (grub_loopback_close): Likewise.
11670
a6a11f3c
VS
116712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11674 with -p "".
11675 Reported by: Tito Keitel.
11676
64a638b0
VS
116772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * docs/grub.texi (Naming convention): Document new naming convention.
11680
ab8ba957
VS
116812010-07-20 Vadim Solomin <vadic052@gmail.com>
116822010-07-20 Colin Watson <cjwatson@ubuntu.com>
11683
11684 Generate device.map in something closer to the old ordering.
11685
11686 * util/deviceiter.c (struct device): New declaration.
11687 (compare_file_names): Rename to ...
11688 (compare_devices): ... this. Sort by kernel name in preference to
11689 the stable by-id name, but keep the latter as a fallback comparison.
11690 Update header comment.
11691 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11692 of `struct device' rather than of plain file names.
11693
a29d6a4b
TF
116942010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11695
11696 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11697 on i386.
11698
39d824e8
VS
116992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11702 hardcoding size.
11703 (setv1table): Likewise.
11704
f058276b
FZ
117052010-07-20 Colin Watson <cjwatson@ubuntu.com>
11706
11707 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11708 removing the homehost if present.
11709 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11710 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11711 removing the homehost if present.
11712 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11713 if possible.
11714 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11715
11716 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11717 parameter. Set its pointer target to 0.
11718 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11719 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11720 `data_offset' value from the superblock for 1.x metadata.
11721 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11722 data on the device.
11723 (insert_array): Record the start sector of data on the device.
11724 (grub_raid_register): Pass start_sector parameters to
11725 grub_raid_list->detect and insert_array.
11726 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11727 member.
11728 (struct grub_raid): Add start_sector parameter to `detect'.
11729
11730 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11731 __attribute__ ((packed)), leaving a comment.
11732 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11733 (grub_mdraid_detect_09): ... here and ...
11734 (grub_mdraid_detect_1x): ... here.
11735
117362010-07-20 Peter Henn <peter.henn@web.de>
11737
11738 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11739 chunk size and disk size, which are already given as sector counts
11740 as distinct from the 0.90 units. Fetch the correct device number
11741 from the role table instead of using the table index.
11742
117432010-07-20 Felix Zielcke <fzielcke@z-51.de>
11744
11745 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11746 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11747 (WriteMostly1): New macro.
11748 Set array->name to NULL for metadata format 0.90. Add support for
11749 metadata 1.x. Fix some comments.
11750 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11751 few comments.
11752 * util/getroot.c (grub_util_get_grub_dev): Add support for
11753 /dev/md/name style devices.
11754
4b761da9
CW
117552010-07-20 Colin Watson <cjwatson@ubuntu.com>
11756
11757 * .bzrignore: Ignore 20_linux_xen.
11758
5771289a
CW
117592010-07-17 Colin Watson <cjwatson@ubuntu.com>
11760
11761 * util/import_unicode.py: Remove unnecessary imports.
11762
5dab68df
AN
117632010-07-17 Aleš Nesrsta <starous@volny.cz>
11764
11765 Hotplugging and USB hub support.
11766
11767 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11768 (grub_ohci): Likewise.
11769 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11770 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11771 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11772 (GRUB_OHCI_CTRL_EDS): Likewise.
11773 (GRUB_OHCI_BULK_EDS): Likewise.
11774 (GRUB_OHCI_TDS): Likewise.
11775 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11776 (grub_ohci_ed_phys2virt): New function.
11777 (grub_ohci_virt_to_phys): Likewise.
11778 (grub_ohci_td_phys2virt): Likewise.
11779 (grub_ohci_td_virt2phys): Likewise.
11780 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11781 attachment.
11782 (grub_ohci_find_ed): New function.
11783 (grub_ohci_alloc_td): Likewise.
11784 (grub_ohci_free_td): Likewise.
11785 (grub_ohci_free_tds): Likewise.
11786 (grub_ohci_transfer): Use previously allocated memory.
11787 (grub_ohci_portstatus): Reset status changed bit.
11788 (grub_ohci_detect_dev): Supply status changed.
11789 (grub_ohci_fini_hw): Free memory.
11790 (grub_ohci_restore_hw): Reallocate memory.
11791 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11792 Reset status change.
11793 (grub_uhci_detect_dev): Supply status_change.
11794 * bus/usb/usb.c (attach_hooks): New var.
11795 (grub_usb_device_attach): New function.
11796 (grub_usb_register_attach_hook_class): Likewise.
11797 (grub_usb_unregister_attach_hook_class): Likewise.
11798 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11799 (grub_usb_add_hub): Reset connection changed bit.
11800 (attach_root_port): New function.
11801 (grub_usb_root_hub): Likewise.
11802 (poll_nonroot_hub): Likewise.
11803 (grub_usb_poll_devices): Likewise.
11804 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11805 * disk/usbms.c (grub_usbms_open): Use device hooks.
11806 (grub_usbms_iterate) :Poll devices.
11807 (grub_usbms_finddevs): Split into ...
11808 (grub_usbms_attach): ... this ...
11809 (grub_usbms_attach): ... and this.
11810 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11811 in detect_dev.
11812 (grub_usb_interface): New fields attached and detach_hook.
11813 (grub_usb_attach_hook_class): New type.
11814 (grub_usb_attach_desc): New struct.
11815 (grub_usb_register_attach_hook_class): New function.
11816 (grub_usb_unregister_attach_hook_class): Likewise.
11817 (grub_usb_poll_devices): Likewise.
11818 (grub_usb_device_attach): Likewise.
11819 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11820 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11821
3222efaf
VS
118222010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11825 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11826 delta determination style. Works with most NetBSD partitions too.
11827
139b714a
VS
118282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11831 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11832
986aad56
VS
118332010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11836
99be513c
AB
118372010-07-14 Anton Blanchard <anton@samba.org>
11838
11839 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11840 ET_DYN files.
11841
18075f62
GS
118422010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11843
11844 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11845
8d9a5b15
GS
118462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11847
11848 * kern/partition.c (grub_partition_check_containment): New function to
11849 check that a partition is physically contained in a parent. Since
11850 offsets are relative (and non-negative), this reduces to checking that
11851 the partition ends before its parent.
11852 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11853 (grub_partition_iterate): Likewise.
11854 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11855 comments.
11856 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11857 partitions that start before their parent, and add debug printfs.
11858
19563c25
CW
118592010-07-13 Colin Watson <cjwatson@ubuntu.com>
11860
11861 * Makefile.in (.SUFFIX): Spell correctly, as ...
11862 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11863 bare module name without `.mod', e.g. `test') tried to invoke a
11864 Modula-2 compiler.
11865
1a1f1e67
CW
118662010-07-13 Colin Watson <cjwatson@ubuntu.com>
11867
11868 * README: Point to the Info manual.
11869
811b0dca
JS
118702010-07-13 Jiro SEKIBA <jir@unicus.jp>
11871
11872 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11873 2nd superblock position from partition size.
11874
e4f4eafc
CW
118752010-07-10 Colin Watson <cjwatson@ubuntu.com>
11876
11877 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11878 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11879 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11880 outputs.
11881
4274c30f
VS
118822010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11883
11884 Restructure SCSI .id handling.
11885 Reported and tested by: Aleš Nesrsta.
11886
11887 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11888 (grub_atapi_dev): Changed .name to "ata". New field .id.
11889 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11890 (grub_usbms_dev): New field .id.
11891 * disk/scsi.c (grub_scsi_iterate): Generate name.
11892 (grub_scsi_open): Parse name.
11893 * include/grub/scsi.h (grub_make_scsi_id): New function.
11894 (grub_scsi_dev): Change iterate and open to number instead of naming
11895 busses. All users updated.
11896 (grub_scsi): Remove name. Add .bus.
11897
5bc24388
VS
118982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * commands/help.c (grub_cmd_help): Fix a typo.
11901
249975ba
VS
119022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11905 Reported and tested by: Colin Watson.
11906
3eaac1a1
VS
119072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11910 in this context.
11911
becce1b1
VS
119122010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11915
f7bf0918
CW
119162010-07-07 Colin Watson <cjwatson@ubuntu.com>
11917
11918 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11919 indentation.
11920
0b0f9620
CW
119212010-07-06 Colin Watson <cjwatson@ubuntu.com>
11922
11923 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11924 and disk/raid6_recover.c.
11925 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11926 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11927
1e545469
CW
119282010-07-06 Colin Watson <cjwatson@ubuntu.com>
11929
11930 * term/gfxterm.c (repaint_schedulded): Rename to ...
11931 (repaint_scheduled): ... this. Update all callers.
11932 (repaint_was_schedulded): Rename to ...
11933 (repaint_was_scheduled): ... this. Update all callers.
11934
5357687a
CW
119352010-07-06 Colin Watson <cjwatson@ubuntu.com>
11936
11937 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11938 which we expect to be handled by upper layers.
11939
29d7e783
BC
119402010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11941
11942 * bus/usb/usbhub.c: #include time.h header.
11943
37582066
CW
119442010-07-06 Colin Watson <cjwatson@ubuntu.com>
11945
11946 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11947 entry_name also for entries without stat blocks (e.g. ".."); fixes
11948 corruption of the first entry in a directory.
11949
c8c06953
CW
119502010-07-06 Colin Watson <cjwatson@ubuntu.com>
11951
11952 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11953 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11954 doesn't work otherwise.
11955
e75056f1
CW
119562010-07-05 Colin Watson <cjwatson@ubuntu.com>
11957
11958 * docs/grub.texi (Features): Update list of supported file systems.
11959 (GNU/Linux): Update for GRUB 2.
11960 (Serial terminal): Remove mention of --disable-serial, which was a
11961 GRUB Legacy configure option. Update instructions to use
11962 `terminal_input' and `terminal_output' rather than `terminal'.
11963 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11964 configuration' and `Installing GRUB using grub-install'.
11965 (Menu entry editor): Update for GRUB 2.
11966 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11967 Document new -a, -u, and -v options.
11968 (initrd): New section.
11969 (initrd16): New section.
11970 (linux): New section.
11971 (linux16): New section.
11972 (search): The `var' argument to `--set' is optional.
11973 (GRUB only offers a rescue shell): Go into a little more detail on
11974 drive ordering.
11975
5cf69151
CW
119762010-07-05 Colin Watson <cjwatson@ubuntu.com>
11977
11978 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11979
e3f90044
CW
119802010-07-05 Colin Watson <cjwatson@ubuntu.com>
11981
11982 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11983 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11984
38d8f4f3
CW
119852010-07-05 Colin Watson <cjwatson@ubuntu.com>
11986
11987 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11988 install_prefix, in line with install_dos_part and install_bsd_part.
11989 Add new prefix variable, which is copied to install_prefix after
11990 comparing core.img in memory with the one read from disk in the
11991 no-embedding case, and use that rather than overwriting
11992 install_prefix immediately when installing to a partition.
11993 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11994 Bicakci.
11995
57ebd41e
GS
119962010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11997
11998 * configure.ac: Avoid == in test command, it's not portable.
11999 * util/grub.d/30_os-prober.in: Likewise.
12000
cb7f64b2
CW
120012010-07-04 Colin Watson <cjwatson@ubuntu.com>
12002
12003 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12004
6b654bb0
GS
120052010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12006
12007 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12008 multiple (top-level) partmaps.
12009
72a2026d
VS
120102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 12013 Reported by: Tino Keitel.
72a2026d 12014
df3eb88f
VS
120152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 Bidi and diacritics support.
12018
12019 * Makefile.in (widthspec.bin): New target.
12020 (widthspec.h): Likewise.
12021 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12022 * autogen.sh: Generate unidata.c.
12023 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12024 * commands/ls.c (grub_ls_list_devices): Likewise.
12025 (grub_ls_list_files): Likewise.
12026 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12027 (grub_mini_cmd_lsmod): Likewise.
12028 * commands/read.c: Likewise.
12029 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12030 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12031 * lib/arg.c (grub_arg_show_help): Likewise.
12032 * lib/crypto.c (grub_password_get): Likewise.
12033 * normal/auth.c (grub_username_get): Likewise.
12034 * normal/misc.c (grub_normal_print_device_info): Likewise.
12035 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12036 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12037 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12038 (normal/charset.c_DEPENDENCIES): New variable.
12039 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12040 (pkglib_MODULES): Remove charset.mod.
12041 (charset_mod_SOURCES): Removed.
12042 (charset_mod_CFLAGS): Likewise.
12043 (charset_mod_LDFLAGS): Likewise.
12044 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12045 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12046 and term/tparm.c.
12047 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12048 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12049 (kernel_img_HEADERS): Add terminfo.h.
12050 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12051 Fill ->font. Reverse ascii bitmaps.
12052 (grub_font_get_xheight): New function.
12053 * font/font.c (grub_font_get_string_width): Moved from here ...
12054 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12055 * font/font.c (grub_font_draw_string): Moved from here ...
12056 * gfxmenu/font.c (grub_font_draw_string): ... here.
12057 * font/font.c (grub_font_dup_glyph): New function.
12058 (grub_font_blit_glyph): Likewise.
12059 (grub_font_blit_glyph_mirror): Likewise.
12060 (blit_comb): Likewise.
12061 (grub_font_construct_dry_run): Likewise.
12062 (grub_font_get_constructed_device_width): Likewise.
12063 (grub_font_construct_glyph): Likewise.
12064 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12065 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12066 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12067 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12068 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12069 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12070 (grub_font_get_xheight): New proto.
12071 (grub_font_get_constructed_device_width): Likewise.
12072 (grub_font_construct_glyph): Likewise.
12073 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12074 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12075 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12076 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12077 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12078 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12079 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12080 (grub_console_getcharwidth): Likewise.
12081 * include/grub/misc.h (grub_xputs): New proto.
12082 (grub_puts): Inlined.
12083 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12084 (grub_normal_get_line_counter): Removed.
12085 (grub_install_newline_hook): Likewise.
12086 (grub_normal_get_char_counter): New proto.
12087 (grub_normal_reset_more): Likewise.
12088 (grub_xputs_normal): Likewise.
12089 * include/grub/powerpc/ieee1275/console.h: Removed.
12090 * include/grub/sparc64/ieee1275/console.h: Likewise.
12091 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12092 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12093 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12094 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12095 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12096 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12097 (grub_term_input): Pass reference to self. All users updated.
12098 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12099 Pass reference to self. New fields normal_color, highlight_color and
12100 data. All users updated.
12101 (grub_putchar): Removed.
12102 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12103 (grub_unicode_estimate_width): New function.
12104 (grub_term_getcharwidth): Add defaults.
12105 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12106 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12107 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12108 (grub_cls): Remove EXPORT_FUNC.
12109 (grub_setcolorstate): Inline.
12110 (grub_newline_hook): Removed.
12111 * include/grub/terminfo.h: Rewritten. All users updated.
12112 * include/grub/unicode.h: New file.
12113 * include/grub/video.h (grub_video_signed_rect): New type.
12114 * kern/emu/console.c (grub_console_highlight_color): Removed.
12115 (grub_console_normal_color): Likewise.
12116 (grub_console_standard_color): Made static.
12117 (grub_ncurses_putchar): Remove mapping.
12118 (grub_ncurses_getcharwidth): Removed.
12119 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12120 (grub_ncurses_setcolor): Removed.
12121 (grub_ncurses_getcolor): Likewise.
12122 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12123 (grub_console_putchar): ... this.
12124 (grub_console_putchar): Handle argument difference.
12125 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12126 console_init_early and console_init_lately.
12127 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12128 * kern/misc.c (grub_puts): Removed.
12129 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12130 (grub_vsnprintf_real): Remove str = NULL support.
12131 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12132 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12133 * kern/term.c (grub_putcode): Renamed to ...
12134 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12135 (grub_putchar): Removed.
12136 (grub_xputs_dumb): New function.
12137 (grub_xputs): New variable.
12138 * lib/charset.c: Move from here ...
12139 * normal/charset.c: ... to here.
12140 (grub_ucs4_to_utf8): New function.
12141 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12142 (join_types): New variable.
12143 (unpack_join): New function.
12144 (bidi_types): New variable.
12145 (unpack_bidi): New function.
12146 (get_bidi_type): Likewise.
12147 (get_join_type): Likewise.
12148 (is_mirrored): Likewise.
12149 (grub_unicode_get_comb_type): Likewise.
12150 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12151 (is_type_after): Likewise.
12152 (grub_unicode_aglomerate_comb): Likewise.
12153 (bidi_line_wrap): Likewise.
12154 (grub_bidi_line_logical_to_visual): Likewise.
12155 (grub_bidi_logical_to_visual): Likewise.
12156 (grub_unicode_mirror_code): Likewise.
12157 (grub_unicode_shape_code): Likewise.
12158 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12159 Don't use grub_putchar.
12160 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12161 (grub_normal_reader_init): Likewise.
12162 (grub_xputs_saved): New variable.
12163 (GRUB_MOD_INIT): Set grub_xputs.
12164 (GRUB_MOD_FINI): Restore grub_xputs.
12165 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12166 (menu_init): Avoid printing gfxmenu error.
12167 (show_menu): Use grub_normal_get_char_counter.
12168 * normal/menu_entry.c (update_screen): Fix out-of-array.
12169 (complete): Avoid NULL dereferencing.
12170 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12171 * normal/menu_text.c (print_spaces): Removed.
12172 (grub_print_ucs4): Likewise.
12173 (grub_print_message_indented): Use grub_print_ucs4.
12174 (print_message): Use grub_putcode.
12175 (print_entry): Hanlde diacritics.
12176 * normal/term.c (term_state): New type.
12177 (grub_more_lines): Removed.
12178 (term_states): New variable.
12179 (grub_normal_line_counter): Renamed to ..
12180 (grub_normal_char_counter): ...this. All users updated.
12181 (grub_normal_get_line_counter): Renamed to ...
12182 (grub_normal_get_char_counter): ... this.
12183 (grub_normal_reset_more): New function.
12184 (process_newline): Removed.
12185 (print_more): New function.
12186 (grub_install_newline_hook): Removed.
12187 (map_code): New function.
12188 (grub_puts_terminal): Use grub_print_ucs4.
12189 (putglyph): New function.
12190 (putcode_real): Likewise.
12191 (grub_putcode): Use putcode_real.
12192 (get_maxwidth): New function.
12193 (get_startwidth): Likewise.
12194 (print_ucs4_terminal): Likewise.
12195 (find_term_state): Likewise.
12196 (put_glyphs_terminal): Likewise.
12197 (print_backlog): Likewise.
12198 (print_ucs4_real): Likewise.
12199 (grub_print_ucs4): Likewise.
12200 (grub_xputs_normal): Likewise.
12201 * term/efi/console.c (grub_console_putchar): Output diacritics.
12202 (grub_console_getcharwidth): Removed.
12203 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12204 * term/gfxterm.c (clear_char): Free chars.
12205 (scroll_up): Avoid leaking memory.
12206 (grub_gfxterm_putchar): Support diacritics.
12207 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12208 * term/i386/pc/console.c (grub_console_term_output): Declare as
12209 GRUB_TERM_CODE_TYPE_VGA.
12210 * term/i386/pc/vga.c (grub_vga_term): Declare as
12211 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12212 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12213 GRUB_TERM_CODE_TYPE_VGA.
12214 * term/i386/vga_common.c (map_char): Removed.
12215 (grub_console_putchar): Likewise.
12216 (grub_console_getcharwidth): Likewise.
12217 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12218 (colors): Reordered to match terminfo.
12219 (grub_ofconsole_normal_color): Removed.
12220 (grub_ofconsole_writeesc): Likewise.
12221 (grub_ofconsole_highlight_color): Likewise.
12222 (grub_ofconsole_getcharwidth): Likewise.
12223 (grub_ofconsole_setcolorstate): Likewise.
12224 (grub_ofconsole_setcolor): Likewise.
12225 (grub_ofconsole_getcolor): Likewise.
12226 (grub_ofconsole_readkey): Renamed to ...
12227 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12228 key.
12229 (grub_ofconsole_checkkey): Removed.
12230 (grub_ofconsole_getkey): Likewise.
12231 (grub_ofconsole_getxy): Likewise.
12232 (grub_ofconsole_gotoxy): Likewise.
12233 (grub_ofconsole_cls): Likewise.
12234 (grub_ofconsole_refresh): Likewise.
12235 (grub_ofconsole_terminfo_input): New struct.
12236 (grub_ofconsole_terminfo_output): Likewise.
12237 (grub_ofconsole_term_input): Use terminfo.
12238 (grub_ofconsole_term_output): Likewise.
12239 (grub_console_init): Split into ...
12240 (grub_console_init_early): ...this and ...
12241 (grub_console_init_lately): ...this. Use terminfo.
12242 (grub_ofconsole_putchar): Renamed to ...
12243 (put): ... this. Remove mapping.
12244 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12245 * term/serial.c: Simplify using terminfo.
12246 (xpos): Removed.
12247 (ypos): Likewise.
12248 (keep_track): Likewise.
12249 (registered): Likewise.
12250 (input_buf): Likewise.
12251 (npending): Likewise.
12252 (serial_translate_key_sequence): Likewise.
12253 (fill_input_buf): Likewise.
12254 (grub_serial_checkkey): Likewise.
12255 (grub_serial_getkey): Likewise.
12256 (grub_serial_getxy): Likewise.
12257 (grub_serial_gotoxy): Likewise.
12258 (grub_serial_putchar): Likewise.
12259 (grub_serial_cls): Likewise.
12260 (grub_serial_setcolorstate): Likewise.
12261 (grub_serial_setcursor): Likewise.
12262 (serial_hw_init): Use serial_hw_fetch.
12263 (grub_serial_terminfo_input): New variable.
12264 (grub_serial_terminfo_output): Likewise.
12265 (grub_serial_term_input): Use terminfo.
12266 (grub_serial_term_output): Likewise.
12267 * term/terminfo.c (putstr): Use put.
12268 (grub_terminfo_all_free): New function
12269 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12270 (grub_terminfo_output_register): New function.
12271 (grub_terminfo_output_unregister): Likewise.
12272 (grub_terminfo_getxy): Likewise.
12273 (grub_terminfo_readkey): Likewise.
12274 (grub_terminfo_checkkey): Likewise.
12275 (grub_terminfo_getkey): Likewise.
12276 (grub_terminfo_input_init): Likewise.
12277 (print_terminfo): Likewise.
12278 (grub_cmd_terminfo): Handle encoding.
12279 (grub_terminfo_gotoxy): Track position.
12280 (grub_terminfo_cls): Likewise.
12281 (grub_terminfo_putchar): Likewise.
12282 (grub_terminfo_setcolorstate): Handle colors
12283 (grub_terminfo_cursor_on): This ...
12284 (grub_terminfo_cursor_off): ... and this merged into ...
12285 (grub_terminfo_setcursor): ... this.
12286 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12287 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12288 * unicode/BidiMirroring.txt: Likewise.
12289 * unicode/UnicodeData.txt: Likewise.
12290 * unicode/COPYING: Likewise.
12291 * util/grub-editenv.c (grub_putchar): Removed.
12292 (grub_xputs_real): New function.
12293 (grub_xputs): New variable.
12294 * util/grub-fstest.c (grub_putchar): Removed.
12295 (grub_xputs_real): New function.
12296 (grub_xputs): New variable.
12297 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12298 (grub_xputs_real): New function.
12299 (grub_xputs): New variable.
12300 * util/grub-probe.c (grub_putchar): Removed.
12301 (grub_xputs_real): New function.
12302 (grub_xputs): New variable.
12303 * util/grub-script-check.c (grub_putchar): Removed.
12304 (grub_xputs_real): New function.
12305 (grub_xputs): New variable.
12306 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12307 (grub_xputs_real): New function.
12308 (grub_xputs): New variable.
12309 * util/import_unicode.py: New file.
12310 * util/grub-mkfont.c (ft_errmsgs): New array.
12311 (grub_glyph_info): Make bitmap a pointer.
12312 (file_formats): New type WIDTH_SPEC.
12313 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12314 (options): Add width-spec.
12315 (help): Likewise.
12316 (add_char): Renamed to ...
12317 (add_glyph): ... this.
12318 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12319 (glyph_replace): New type.
12320 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12321 (add_char): New function.
12322 (add_subst): Likewise.
12323 (process_cursive): Likewise.
12324 (add_font): Handle GSUB.
12325 (write_font_width_spec): New function.
12326 (main): Sort glyphs.
12327 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12328 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12329 * kern/term.c (grub_cls): Moved from here...
12330 * normal/term.c (grub_cls): ... here.
12331
50f0bcda
CW
123322010-07-02 Colin Watson <cjwatson@ubuntu.com>
12333
12334 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12335 suitable for using within the format argument of printf when
12336 converting grub_size_t.
12337 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12338 "x" to convert grub_size_t arguments.
12339
40372103
VS
123402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12343 too long captions.
12344 (list_get_minimal_size): Take selection box into account.
12345
942a10c7
VS
123462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12349 NULL font.
12350
2bdb2892
CW
123512010-07-02 Colin Watson <cjwatson@ubuntu.com>
12352
12353 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12354 devices when iterating over /dev/disk/by-id; they will be handled
12355 later if appropriate, which they aren't always (e.g. LVM).
12356
e03ed6c1
CW
123572010-07-02 Colin Watson <cjwatson@ubuntu.com>
12358
12359 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12360 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12361 fails.
12362 (grub_halt): Likewise.
12363 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12364 reset-all fails.
12365 (grub_halt): Don't return, even if all of shut-down, power-off, and
12366 poweroff fail.
12367
47695765
CW
123682010-07-02 Colin Watson <cjwatson@ubuntu.com>
12369
12370 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12371 arguments, not three.
12372
507736c8
CW
123732010-07-02 Colin Watson <cjwatson@ubuntu.com>
12374
12375 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12376 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12377 LVM-on-RAID is handled correctly.
12378
e3c8cd37
CW
123792010-07-02 Colin Watson <cjwatson@ubuntu.com>
12380
12381 * docs/grub.texi (Changes from GRUB Legacy): New section.
12382 (Future): Fix typo.
12383
8d4a2fec
CW
123842010-07-02 Colin Watson <cjwatson@ubuntu.com>
12385
12386 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12387 grub.d/README accidentally ends up executable for one reason or
12388 another. Ignore it.
12389
1c4827be
VS
123902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12393 (gpt_partition_map_iterate): Support non-512B sectors.
12394
d9a0c941
VS
123952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12398 Tested by: Seth Goldberg.
12399
48f27e87
VS
124002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12403 Properly align mbi.
12404 Reported by: Seth Goldberg.
12405
b0c4f956
VS
124062010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * util/grub-mkrescue.in: Avoid module duplication.
12409
105a2e8c
SF
124102010-07-01 Sean Finney <seanius@seanius.net>
12411
12412 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12413
5944958c
SF
124142010-07-01 Sean Finney <seanius@seanius.net>
12415
12416 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12417
124182010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * disk/lvm.c (grub_lvm_checkvalue): New function.
12421 (grub_lvm_check_flag): Likewise.
12422
b79889ba
RM
124232010-07-01 Robert Millan <rmh@gnu.org>
12424
12425 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12426 Support 'p' as partition separator on kernel of FreeBSD (used
12427 with GPT labels).
12428 (grub_util_biosdisk_get_grub_dev): Likewise.
12429
ec1d04f1
VS
124302010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Yeeloong firmware port.
12433
12434 * boot/mips/yeeloong/fwstart.S: New file.
12435 * bus/cs5536.c (gpiodump): New const.
12436 (set_io_space): New function.
12437 (set_iod): Likewise.
12438 (set_p2d): Likewise.
12439 (grub_cs5536_init_geode): Likewise.
12440 * commands/mips/yeeloong/lsspd.c: New file.
12441 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12442 (serial_mod_SOURCES): New variable.
12443 (serial_mod_CFLAGS): Likewise.
12444 (serial_mod_LDFLAGS): Likewise.
12445 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12446 term/terminfo.c and term/tparm.c.
12447 (pkglib_IMAGES): Add fwstart.img.
12448 (fwstart_img_SOURCES): New variable.
12449 (fwstart_img_CFLAGS): Likewise.
12450 (fwstart_img_ASFLAGS): Likewise.
12451 (fwstart_img_LDFLAGS): Likewise.
12452 (fwstart_img_FORMAT): Likewise.
12453 (pkglib_MODULES): Add lsspd.mod.
12454 (lsspd_mod_SOURCES): New variable.
12455 (lsspd_mod_CFLAGS): Likewise.
12456 (lsspd_mod_LDFLAGS): Likewise.
12457 (pkglib_MODULES): Add halt.mod.
12458 (halt_mod_SOURCES): New variable.
12459 (halt_mod_CFLAGS): Likewise.
12460 (halt_mod_LDFLAGS): Likewise.
12461 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12462 (serial_mod_SOURCES): Removed.
12463 (serial_mod_CFLAGS): Likewise.
12464 (serial_mod_LDFLAGS): Likewise.
12465 * disk/ata.c (check_device): New function.
12466 (grub_ata_device_initialize): Use check_device.
12467 (grub_ata_iterate): Recheck devices.
12468 (grub_ata_open): Likewise.
12469 (grub_atapi_iterate): Likewise.
12470 (grub_atapi_open): Likewise.
12471 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12472 (GRUB_ATA_CH1_PORT1): Likewise.
12473 (GRUB_ATA_CH0_PORT2): Likewise.
12474 (GRUB_ATA_CH1_PORT2): Likewise.
12475 * include/grub/mips/loongson.h: New file.
12476 * include/grub/mips/yeeloong/ec.h: Likewise.
12477 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12478 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12479 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12480 * include/grub/misc.h (grub_halt): Declare as noreturn.
12481 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12482 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12483 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12484 (UART_ENABLE_DTRRTS): Likewise.
12485 (UART_ENABLE_MODEM): Removed.
12486 (UART_ENABLE_OUT2): New const.
12487 * include/grub/term.h (grub_term_register_input_active): New function.
12488 (grub_term_register_output_active): Likewise.
12489 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12490 argument.
12491 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12492 (init_pci): New function.
12493 (grub_machine_init): Execute platform init when firmware. Init serial.
12494 (grub_halt): Implement.
12495 (grub_exit): Likewise.
12496 (grub_reboot): Likewise.
12497 * term/serial.c (serial_hw_init): Update macros.
12498 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12499 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12500 (image_targets): New target mipsel-yeeloong-flash.
12501 (generate_image): Support IMAGE_YEELOONG_FLASH.
12502 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12503 (grub_video_sm712_setup): Init card.
12504 (grub_video_sm712_set_palette): Removed.
12505 * video/sm712_init.c: New file.
12506
ff4a70d2
CW
125072010-06-30 Colin Watson <cjwatson@ubuntu.com>
12508
12509 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12510 PATH when running help2man and then run it on the unadorned
12511 executable names, rather than passing $(builddir)/* paths to
12512 help2man. This avoids the build directory ending up in generated
12513 manual pages.
12514
1246efeb
CW
125152010-06-29 Colin Watson <cjwatson@ubuntu.com>
12516
12517 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12518 to avoid accidents when debugging with 'sh -x'.
12519 * util/grub-mkrescue.in: Likewise.
12520 * util/grub.d/00_header.in: Likewise.
12521 * util/grub.d/10_hurd.in: Likewise.
12522 * util/grub.d/10_kfreebsd.in: Likewise.
12523 * util/grub.d/10_linux.in: Likewise.
12524 * util/grub.d/10_netbsd.in: Likewise.
12525 * util/grub.d/10_windows.in: Likewise.
12526 * util/grub.d/20_linux_xen.in: Likewise.
12527 * util/grub.d/30_os-prober.in: Likewise.
12528 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12529
1ba9b889
CW
125302010-06-29 Colin Watson <cjwatson@ubuntu.com>
12531
12532 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12533 last character in the buffer.
12534 Reported by: Vladimir Serbinenko.
12535
dccaf99d
RM
125362010-06-29 Robert Millan <rmh@gnu.org>
12537
12538 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12539 (Command-line and menu entry commands): Document `badram' command.
12540
d500ed12
RM
125412010-06-28 Robert Millan <rmh@gnu.org>
12542
12543 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12544 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12545 command using ${GRUB_BADRAM} as parameter.
12546
20bc84a6
CW
125472010-06-28 Colin Watson <cjwatson@ubuntu.com>
12548
12549 * docs/grub.texi (Device map): New section.
12550 (Themes): New section (stub).
12551 * Makefile.in (docs/grub.info): The info documentation now builds
12552 without errors. Make sure it stays that way.
12553
4045dee1
VS
125542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 Use normal parser for menu entries.
12557 Reported by: Thomas Frauendorfer
12558
12559 * include/grub/parser.h (grub_parser_execute): Don't export.
12560 * normal/menu.c (grub_menu_execute_entry_real): New function.
12561 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12562
bca58c7b
CW
125632010-06-28 Colin Watson <cjwatson@ubuntu.com>
12564
12565 * docs/grub.texi (Embedded configuration): New section (replacing
12566 old "Preset Menu" stub).
12567 (Images): New section.
12568 (configfile): Note that any menu entries defined in `file' are shown
12569 immediately.
12570
dec53e63
JT
125712010-06-28 Josh Triplett <josh@joshtriplett.org>
12572
12573 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12574
c06e40f7
CW
125752010-06-28 Colin Watson <cjwatson@ubuntu.com>
12576
12577 * util/grub-install.in: Add --debug-image= option.
12578
cb88052b
CW
125792010-06-28 Colin Watson <cjwatson@ubuntu.com>
12580
12581 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12582 possible on Linux.
12583
12584 * util/deviceiter.c (check_device): Rename to ...
12585 (check_device_readable_unique): ... this. Update all callers.
12586 Maintain and check a list of which devices (by canonicalized name)
12587 have already been seen.
12588 (clear_seen_devices): New function.
12589 (compare_file_names) [__linux__]: New function.
12590 (grub_util_iterate_devices): Clear the list of seen devices on exit
12591 and (just in case) on entry.
12592 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12593 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12594 seen-devices list, superseded by general code in check_device.
12595
bbe34652
CW
125962010-06-28 Colin Watson <cjwatson@ubuntu.com>
12597
12598 * commands/cat.c (options): New variable.
12599 (grub_cmd_cat): Parse options. If the --dos option is given, print
12600 DOS-style "\r\n" line endings as simple newlines (Debian bug
12601 #586358).
12602 (GRUB_MOD_INIT): Use extcmd.
12603 (GRUB_MOD_FINI): Likewise.
12604 * docs/grub.texi (cat): Document --dos.
12605
412e09f3
VS
126062010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 XEN with Linux grub-mkconfig support.
12609
12610 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12611 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12612 GRUB_CMDLINE_XEN_DEFAULT.
12613 * util/grub.d/20_linux_xen.in: New file.
12614
53f3ef38 126152010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
12616
12617 Initialise VGA video on qemu ourselves.
12618
12619 * boot/i386/qemu/boot.S: Don't call 0xc000.
12620 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12621 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12622 (kernel_img_HEADERS): Add pci.h.
12623 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12624 * configure.ac: Force unifont on qemu and yeeloong.
12625 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12626 (grub_vga_palette_write): Use correct register.
12627 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12628 Call grub_qemu_init_cirrus.
12629 * kern/i386/qemu/init.c: New file.
12630 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12631
12632 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12633
c75be4fb
PR
126342010-06-26 Pavel Roskin <proski@gnu.org>
12635
12636 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12637 13.
12638
d8034603
CW
126392010-06-26 Colin Watson <cjwatson@ubuntu.com>
12640
12641 * docs/grub.texi (Simple configuration): Explain that
12642 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12643 set to `true' to disable their respective recovery entries, not
12644 merely set.
12645
3fa06487
CW
126462010-06-26 Colin Watson <cjwatson@ubuntu.com>
12647
12648 Make the `source' command slightly faster.
12649
12650 * normal/main.c (grub_normal_execute): Don't re-read list files when
12651 nested.
12652
e9b29642
CW
126532010-06-23 Colin Watson <cjwatson@ubuntu.com>
12654
12655 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12656 field position and mask size to red fields from mode_info, not
12657 green.
12658 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12659 Remove redundant tag->common.framebuffer_type assignment.
12660 Reported by: Seth Goldberg.
12661
e726542f
CW
126622010-06-23 Colin Watson <cjwatson@ubuntu.com>
12663
12664 Sync up other versions of the Linux loader with Robert Millan's
12665 change of 2010-01-09, "Make loader output a bit more user-friendly".
12666
12667 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12668 grub_dprintf().
12669 (grub_cmd_linux): Likewise.
12670 (grub_cmd_initrd): Likewise.
12671 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12672 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12673
d6e98a17
CW
126742010-06-21 Colin Watson <cjwatson@ubuntu.com>
12675
12676 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12677 larger than MEMORY_MAP_SIZE.
12678
14d3f08e
BC
126792010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12680
12681 Fix parallel build.
12682
12683 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12684 dependency.
12685 * script/parser.y: #include grub_script.tab.h header.
12686
4f9613a3
VS
126872010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Support >3GiB and <16MiB RAM in i386-qemu.
12690
12691 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12692 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12693 (grub_lower_mem): Removed.
12694 (grub_upper_mem): Likewise.
12695 (mem_size): Made static.
12696 (above_4g): New variable.
12697 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12698 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12699 support.
12700
05e51879
VS
127012010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 Cirrus 5446 and Bochs video cards support.
12704
12705 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12706 video_bochs.mod
12707 (video_cirrus_mod_SOURCES): New variable.
12708 (video_cirrus_mod_CFLAGS): Likewise.
12709 (video_cirrus_mod_LDFLAGS): Likewise.
12710 (video_bochs_mod_SOURCES): Likewise.
12711 (video_bochs_mod_CFLAGS): Likewise.
12712 (video_bochs_mod_LDFLAGS): Likewise.
12713 * include/grub/vga.h: New file.
12714 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12715 (grub_video_fb_set_page_t): New type.
12716 (grub_video_fb_setup): New prototype.
12717 (grub_video_fb_swap_buffers): Likewise.
12718 (grub_video_fb_get_info_and_fini): Likewise.
12719 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12720 (CRTC_DATA_PORT): Likewise.
12721 (CRTC_CURSOR): Likewise.
12722 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12723 (CRTC_CURSOR_ADDR_LOW): Likewise.
12724 (CRTC_CURSOR_DISABLE): Likewise.
12725 (update_cursor): Use grub_vga_cr_write.
12726 (grub_vga_text_setcursor): Likewise.
12727 * video/bochs.c: New file.
12728 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12729 (palette): Likewise.
12730 (palette_size): Likewise.
12731 (framebuffer): New variable.
12732 (grub_video_fb_init): Use 'framebuffer'.
12733 (grub_video_fb_fini): Likewise.
12734 (grub_video_fb_get_info): Likewise.
12735 (grub_video_fb_get_palette): Likewise.
12736 (grub_video_fb_set_palette): Likewise.
12737 (grub_video_fb_set_viewport): Likewise.
12738 (grub_video_fb_get_viewport): Likewise.
12739 (grub_video_fb_map_color): Likewise.
12740 (grub_video_fb_map_rgb): Likewise.
12741 (grub_video_fb_map_rgba): Likewise.
12742 (grub_video_fb_unmap_color): Likewise.
12743 (grub_video_fb_unmap_color_int): Likewise.
12744 (grub_video_fb_fill_rect): Likewise.
12745 (grub_video_fb_blit_bitmap): Likewise.
12746 (grub_video_fb_blit_render_target): Likewise.
12747 (grub_video_fb_scroll): Likewise.
12748 (grub_video_fb_create_render_target): Likewise.
12749 (grub_video_fb_doublebuf_blit_init): Likewise.
12750 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12751 (doublebuf_pageflipping_update_screen): New function.
12752 (doublebuf_pageflipping_init): Likewise.
12753 (grub_video_fb_setup): Likewise.
12754 (grub_video_fb_swap_buffers): Likewise.
12755 (grub_video_fb_get_info_and_fini): Likewise.
12756 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12757 All users updated.
12758 (doublebuf_pageflipping_commit): Restructured into ...
12759 (doublebuf_pageflipping_set_page): ... this.
12760 (doublebuf_pageflipping_update_screen): Removed.
12761 (doublebuf_pageflipping_init): Likewise.
12762 (double_buffering_init): Likewise.
12763 (grub_video_vbe_setup): Use grub_video_fb_setup.
12764 (grub_video_vbe_swap_buffers): Removed.
12765 (grub_video_vbe_set_active_render_target): Likewise.
12766 (grub_video_vbe_get_active_render_target): Likewise.
12767 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12768 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12769 grub_video_fb_set_active_render_target and
12770 grub_video_fb_get_active_render_target.
12771 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12772 (SEQUENCER_DATA_PORT): Likewise.
12773 (MAP_MASK_REGISTER): Likewise.
12774 (CRTC_ADDR_PORT): Likewise.
12775 (CRTC_DATA_PORT): Likewise.
12776 (START_ADDR_HIGH_REGISTER): Likewise.
12777 (START_ADDR_LOW_REGISTER): Likewise.
12778 (GRAPHICS_ADDR_PORT): Likewise.
12779 (GRAPHICS_DATA_PORT): Likewise.
12780 (READ_MAP_REGISTER): Likewise.
12781 (INPUT_STATUS1_REGISTER): Likewise.
12782 (INPUT_STATUS1_VERTR_BIT): Likewise.
12783 (get_map_mask): Use grub_vga_sr_read.
12784 (set_map_mask): Use grub_vga_sr_write.
12785 (set_read_map): Use grub_vga_gr_write.
12786 (set_start_address): Use grub_vga_cr_write.
12787 * video/sm712.c (framebuffer): Remove leftover fields.
12788
4321c64a
CW
127892010-06-20 Colin Watson <cjwatson@ubuntu.com>
12790
12791 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12792 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12793 instead. Replace the gfxterm backend check with a check that
12794 ${GRUB_PREFIX}/video.lst is non-empty.
12795 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12796 again.
12797 (load_video): New generated function. Call it before loading
12798 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12799 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12800 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12801 * docs/grub.texi (Simple configuration): Document
12802 GRUB_VIDEO_BACKEND.
12803
128042010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 Use video functions in linux and xnu loaders.
12807
12808 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12809 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12810 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12811 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12812 loader/i386/pc/linux.c.
12813 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12814 (find_line_len): Removed.
12815 (find_framebuf): Likewise.
12816 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12817 * loader/i386/efi/xnu.c: Removed.
12818 * loader/i386/pc/xnu.c: Moved from here...
12819 * loader/i386/xnu.c: ...here.
12820
12821 Enable priorities in video drivers.
12822
12823 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12824 (grub_video_adapter): New field prio.
12825 (grub_video_register): Respect prio when inserting.
12826 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12827 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12828 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12829 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12830 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12831 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12832 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12833
12834 Fix SDL driver ID.
12835
12836 * include/grub/video.h (grub_video_driver_id_t): New value
12837 GRUB_VIDEO_DRIVER_SDL.
12838 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12839
7d24e434
CW
128402010-06-17 Colin Watson <cjwatson@ubuntu.com>
12841
12842 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12843 argument to printf.
12844 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12845
c88a83f6
CW
128462010-06-17 Colin Watson <cjwatson@ubuntu.com>
12847
12848 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12849 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12850
094dfb69
CW
128512010-06-17 Colin Watson <cjwatson@ubuntu.com>
12852
12853 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12854 directly, and recommend grub-install instead.
12855 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12856
2164da6b
CW
128572010-06-17 Colin Watson <cjwatson@ubuntu.com>
12858
12859 Fix i386-pc prefix handling with nested partitions (Debian bug
12860 #585068). Note that the case where the core image is booted using
12861 multiboot and relocated from its original location still requires
12862 more work.
12863
12864 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12865 with "(,", fill the boot drive in between those two characters, but
12866 expect that a full partition specification including partition map
12867 names will follow.
12868 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12869 specified, write a prefix without the drive name but including a
12870 full partition specification.
12871
044e2e60
CW
128722010-06-16 Colin Watson <cjwatson@ubuntu.com>
12873
12874 * util/grub-mkconfig.in: Ignore non-option arguments, for
12875 compatibility with older versions (before 2010-06-12) which did the
12876 same. In particular, this makes it easier to ship an update-grub
12877 wrapper which is compatible with that used with GRUB Legacy (Debian
12878 bug #586056).
12879
5591324f
GS
128802010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12881
12882 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12883 for manual page generation.
12884
662e24d5
GS
128852010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12886
12887 * po/POTFILES: Remove leftover commands/handler.c.
12888
8d70754e
CW
128892010-06-14 Colin Watson <cjwatson@ubuntu.com>
12890
12891 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12892 left this script non-functional.
12893
41160e2e
CW
128942010-06-14 Colin Watson <cjwatson@ubuntu.com>
12895
12896 * docs/man/grub-emu.h2m: New file.
12897
b5309cc1
CW
128982010-06-13 Colin Watson <cjwatson@ubuntu.com>
12899
12900 * docs/grub.texi (Commands): Document reduced command set in rescue
12901 mode.
12902 (cpuid): New section.
12903
fcb2d090
GS
129042010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12905
12906 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12907 new partition naming style.
12908 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12909
96e5c556
BC
129102010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12911
12912 Add "-o grub.iso" like cmdline options support.
12913
12914 * util/grub-install.in: Improve cmdline option parsing.
12915 * util/grub-mkconfig.in: Likewise.
12916 * util/grub-mkrescue.in: Likewise.
12917 * util/grub-reboot.in: Likewise.
12918 * util/grub-set-default.in: Likewise.
12919 * util/i386/efi/grub-install.in: Likewise.
12920 * util/ieee1275/grub-install.in: Likewise.
12921 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12922
c16be99b
CW
129232010-06-12 Colin Watson <cjwatson@ubuntu.com>
12924
12925 * .bzrignore: Ignore 41_custom.
12926
ce08a9fb
TS
129272010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12928
12929 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12930
7beac90c
CW
129312010-06-12 Colin Watson <cjwatson@ubuntu.com>
12932
12933 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12934 prototype declarations.
12935
12936 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12937 generating fs, partmap, and video lists.
12938 * include/grub/fs.h (grub_fs_register): Omit prototype if
12939 GRUB_LST_GENERATOR is defined.
12940 * include/grub/partition.h (grub_partition_map_register): Likewise.
12941 * include/grub/video.h (grub_video_register): Likewise.
12942
1c8f0f8d
JM
129432010-06-12 Javier Martín <lordhabbit@gmail.com>
12944
12945 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12946
a6085973
TS
129472010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12948
12949 * util/grub-mkrescue.in: Support --xorriso argument.
12950
25c56d29
VS
129512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12954 Suggested by: Thomas Schmitt.
12955
e03e4b24
VS
129562010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12959 Suggested by: Thomas Schmitt.
12960
57711df6
VS
129612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 custom.cfg support.
12964
12965 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12966 * util/grub.d/41_custom.in: New file.
12967
ee62c427
CW
129682010-06-12 Colin Watson <cjwatson@ubuntu.com>
12969
12970 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12971 been merged back into normal.
12972
283af07a
CW
129732010-06-11 Colin Watson <cjwatson@ubuntu.com>
12974
12975 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12976 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12977
56a0d956
CW
129782010-06-11 Colin Watson <cjwatson@ubuntu.com>
12979
12980 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12981 when generating manual pages.
12982 * docs/man/grub-bin2h.h2m: New file.
12983 * docs/man/grub-editenv.h2m: New file.
12984 * docs/man/grub-fstest.h2m: New file.
12985 * docs/man/grub-install.h2m: New file.
12986 * docs/man/grub-macho2img.h2m: New file.
12987 * docs/man/grub-mkconfig.h2m: New file.
12988 * docs/man/grub-mkdevicemap.h2m: New file.
12989 * docs/man/grub-mkfont.h2m: New file.
12990 * docs/man/grub-mkimage.h2m: New file.
12991 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12992 * docs/man/grub-mkrelpath.h2m: New file.
12993 * docs/man/grub-mkrescue.h2m: New file.
12994 * docs/man/grub-ofpathname.h2m: New file.
12995 * docs/man/grub-pe2elf.h2m: New file.
12996 * docs/man/grub-probe.h2m: New file.
12997 * docs/man/grub-reboot.h2m: New file.
12998 * docs/man/grub-script-check.h2m: New file.
12999 * docs/man/grub-set-default.h2m: New file.
13000 * docs/man/grub-setup.h2m: New file.
13001
3a37e322
VS
130022010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 Use FOR_* macros instead of *_iterate whenever possible.
13005
13006 * commands/handler.c: Removed.
13007 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13008 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13009 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13010 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13011 (grub_probe_SOURCES): Remove kern/parser.c.
13012 (util/grub-script-check.c_DEPENDENCIES): Removed.
13013 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13014 and grub_script_check_init.c.
13015 (grub_script_check_init.lst): Removed.
13016 (grub_script_check_init.h): Likewise.
13017 (grub_script_check_init.c): Likewise.
13018 (pkglib_MODULES): Remove handler.mod and sh.mod.
13019 (handler_mod_SOURCES): Removed.
13020 (handler_mod_CFLAGS): Likewise.
13021 (handler_mod_LDFLAGS): Likewise.
13022 (normal_mod_SOURCES): Remove normal/handler.c.
13023 Add script/main.c, script/script.c, script/execute.c,
13024 script/function.c, script/lexer.c, grub_script.tab.c
13025 and grub_script.yy.c.
13026 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13027 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13028 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13029 (grub_setup_SOURCES): Remove kern/parser.c.
13030 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13031 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13032 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13033 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13034 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13035 (grub_setup_SOURCES): Remove kern/parser.c.
13036 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13037 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13038 * include/grub/command.h (grub_command_iterate): Removed.
13039 (FOR_COMMANDS): New macro.
13040 * include/grub/dl.h (grub_dl): New member next.
13041 (grub_dl_iterate): Removed.
13042 (grub_dl_head): New variable declaration.
13043 (FOR_DL_MODULES): New macro.
13044 * include/grub/fs.h: Include list.h.
13045 (grub_fs): Make next first element.
13046 (grub_fs_list): New variable declaration.
13047 (grub_fs_register): Make inline.
13048 (grub_fs_unregister): Likewise.
13049 (grub_fs_iterate): Removed.
13050 (FOR_FILESYSTEMS): New macro.
13051 * include/grub/handler.h: Removed.
13052 * include/grub/list.h (grub_list_hook_t): Removed.
13053 (grub_list_test_t): Likewise.
13054 (grub_list_pop): Likewise.
13055 (grub_list_iterate): Likewise.
13056 (grub_list_insert): Likewise.
13057 (FOR_LIST_ELEMENTS): New macro.
13058 * include/grub/parser.h (grub_parser_class): Removed.
13059 (grub_parser_register): Likewise.
13060 (grub_parser_unregister): Likewise.
13061 (grub_parser_get_current): Likewise.
13062 (grub_parser_set_current): Likewise.
13063 (grub_register_rescue_parser): Likewise.
13064 (grub_rescue_parse_line): New function.
13065 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13066 * include/grub/script_sh.h (grub_script_function_list): New variable
13067 declaration.
13068 (FOR_SCRIPT_FUNCTIONS): New macro.
13069 (grub_script_function_iterate): Removed.
13070 (grub_normal_parse_line): New prototype.
13071 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13072 (FOR_DISABLED_TERM_INPUTS): Likewise.
13073 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13074 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13075 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13076 element.
13077 (grub_video_register): Inline.
13078 (grub_video_unregister): Likewise.
13079 (grub_video_adapter_list): New variable declaration.
13080 (grub_video_iterate): Removed.
13081 (FOR_VIDEO_ADAPTERS): New macro.
13082 * kern/dl.c (grub_dl_list): Removed. All users updated.
13083 (grub_dl_iterate): Removed.
13084 * kern/fs.c (grub_fs_list): Make global.
13085 (grub_fs_register): Removed.
13086 (grub_fs_unregister): Likewise.
13087 (grub_fs_iterate): Likewise.
13088 * kern/handler.c: Removed.
13089 * kern/list.c (grub_list_pop): Removed.
13090 (grub_list_iterate): Likewise.
13091 (grub_list_insert): Likewise.
13092 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13093 (grub_prio_list_insert): Don't use grub_list_insert.
13094 * kern/main.c (grub_register_rescue_parser): Don't call
13095 grub_register_rescue_parser.
13096 * kern/parser.c (grub_parser_class): Removed.
13097 (grub_parser_execute): Use grub_rescue_parse_line.
13098 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13099 (grub_rescue_parser): Removed.
13100 (grub_register_rescue_parser): Likewise.
13101 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13102 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13103 (grub_auth_check_authentication): Likewise.
13104 * normal/completion.c (iterate_command): Removed.
13105 (grub_normal_do_completion): Use FOR_COMMANDS.
13106 * normal/handler.c: Removed.
13107 * normal/main.c (read_config_file): Remove parser changing.
13108 (grub_normal_execute): Don't call read_handler_list.
13109 (grub_normal_read_line_real): Statically allocate prompt.
13110 (grub_cmdline_run): Use grub_normal_parse_line.
13111 (GRUB_MOD_FINI): Don't call free_handler_list.
13112 * normal/menu_entry.c (run): Likewise.
13113 * script/function.c (grub_script_function_list): Make global.
13114 (grub_script_function_iterate): Removed.
13115 * script/main.c (grub_normal_parse_line): Make global.
13116 (grub_sh_parser): Removed.
13117 (GRUB_MOD_INIT): Likewise.
13118 (GRUB_MOD_FINI): Likewise.
13119 * tests/lib/functional_test.c (grub_functional_test): Use
13120 FOR_LIST_ELEMENTS.
13121 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13122 (grub_test_run): Use FOR_LIST_ELEMENTS.
13123 * tests/lib/unit_test.c (main): Likewise.
13124 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13125 grub_list_pop.
13126 * util/grub-fstest.c (grub_term_input_class): Removed.
13127 (grub_term_output_class): Likewise.
13128 * util/grub-probe.c: Likewise.
13129 * util/i386/pc/grub-setup.c: Likewise.
13130 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13131 * util/grub-script-check.c (main): Don't call grub_init_all and
13132 grub_fini_all.
13133 * video/video.c (grub_video_adapter_list): Make global.
13134 (grub_video_register): Removed.
13135 (grub_video_unregister): Likewise.
13136 (grub_video_iterate): Likewise.
13137
6289c3a7
VS
131382010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13141 reported by Henrique Ferreiro.
13142
91460247
RM
131432010-06-09 Robert Millan <rmh@gnu.org>
13144
13145 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13146 ones, when both are available.
13147
0ea7c4f9
GS
131482010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13149
13150 Make --version uniform and avoid hard-coded program name.
13151
13152 * util/grub-mkimage.c (main): Use `program_name' instead of
13153 hard-coded string.
13154 * util/i386/pc/grub-setup.c (main): Likewise.
13155 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13156 * util/grub-install.in: Save the basename of $0 in $self, and use the
13157 latter in informational messages. Use the same format for --version
13158 as the binary programs.
13159 * util/grub-mkconfig.in: Likewise.
13160 * util/grub-mkrescue.in: Likewise.
13161 * util/grub-reboot.in: Likewise.
13162 * util/grub-set-default.in: Likewise.
13163 * util/i386/efi/grub-install.in: Likewise.
13164 * util/ieee1275/grub-install.in: Likewise.
13165 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13166
e8a6f3b6
GS
131672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13168
13169 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13170 embedding area. Use <= instead of == when checking for non-emptiness.
13171
f4d095d7
GS
131722010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13173
13174 * configure.ac: Add `.' to the directories searched for unifont.
13175
50e532ca
CW
131762010-06-08 Colin Watson <cjwatson@ubuntu.com>
13177
13178 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13179 grub_script.yy.h.
13180
d39f3dec
CW
131812010-06-08 Colin Watson <cjwatson@ubuntu.com>
13182
13183 * docs/grub.texi (History): Expand to cover GRUB 2.
13184 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13185 commands, not `terminal'.
13186 (serial): Likewise.
13187 (terminal_input): New section.
13188 (terminal_output): New section.
13189 (uppermem): New section (stub).
13190 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13191
6ef0ddb4
CW
131922010-06-08 Colin Watson <cjwatson@ubuntu.com>
13193
13194 * docs/grub.texi (Security): Menu entries are unrestricted by
13195 default, not restricted to superusers as I had previously thought.
13196 Reword to account for this.
13197
e0f4c438
CW
131982010-06-07 Colin Watson <cjwatson@ubuntu.com>
13199
13200 * kern/emu/misc.c (device_mapper_null_log): New function.
13201 (grub_device_mapper_supported): New function.
13202 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13203 prototype.
13204 * kern/emu/hostdisk.c (find_partition_start): Check whether
13205 device-mapper is supported before trying to use it.
13206 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13207
da908200
CW
132082010-06-07 Colin Watson <cjwatson@ubuntu.com>
13209
13210 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13211 (File name syntax): Likewise.
13212 (help): --all is no longer supported in GRUB 2. Be more precise
13213 about pattern matching.
13214
fb55c3ac
CW
132152010-06-07 Colin Watson <cjwatson@ubuntu.com>
13216
13217 * normal/completion.c (grub_normal_do_completion): When completing
13218 arguments to "set" and the current word contains an equals sign,
13219 skip to after the equals sign before starting completion.
13220
258c2573
CW
132212010-06-07 Colin Watson <cjwatson@ubuntu.com>
13222
13223 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13224
ee75515e
CW
132252010-06-07 Colin Watson <cjwatson@ubuntu.com>
13226
13227 * docs/grub.texi (Network): New section.
13228 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13229 `(nd)' as in GRUB Legacy.
13230 (pxe_unload): New section.
13231
a6a700aa
CW
132322010-06-07 Colin Watson <cjwatson@ubuntu.com>
13233
13234 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13235 in the rescue shell, so recommend using `set' instead. Thanks,
13236 Jordan Uggla.
13237
4003dd38
CW
132382010-06-07 Colin Watson <cjwatson@ubuntu.com>
13239
13240 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13241 (password): New section.
13242 (password_pbkdf2): New section.
13243 (search): New section.
13244 (Security): New section.
13245 (Troubleshooting): New section, currently very incomplete.
13246 (Invoking grub-mkpasswd-pbkdf2): New section.
13247 (Internals): New section, currently very incomplete.
13248
e1cbcc40
CW
132492010-06-07 Colin Watson <cjwatson@ubuntu.com>
13250
13251 * util/grub.d/00_header.in: Add some more quoting (of
13252 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13253 work again.
13254 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13255
db8fa1ad
CW
132562010-06-07 Colin Watson <cjwatson@ubuntu.com>
13257
13258 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13259 to `count', fixing variable shadowing that broke the -c option.
13260
132612010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
13262
13263 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13264 in case they contain spaces.
13265
f28a9212
CW
132662010-06-04 Colin Watson <cjwatson@ubuntu.com>
13267
13268 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13269 "part_" to partmap module names, in line with grub-install.
13270 Reported by: Jindřich Makovička (Debian bug #584426).
13271
9cdfe32f
CW
132722010-06-04 Colin Watson <cjwatson@ubuntu.com>
13273
13274 * util/grub-mkimage.c: Make target-related error messages slightly
13275 more helpful; -O talks about "format". Explicitly point to the use
13276 of -O if no target is specified.
13277 Reported by: Didier Raboud (Debian bug #584415).
13278
795b593a
CW
132792010-06-03 Colin Watson <cjwatson@ubuntu.com>
13280
13281 * INSTALL: Document several build requirements for optional features
13282 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13283
9d9b5833
GS
132842010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13285
13286 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13287 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13288 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13289
0819fec8
CW
132902010-06-02 Colin Watson <cjwatson@ubuntu.com>
13291
13292 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13293 Thanks to Jordan Uggla for spotting this.
13294
49396b4f
VS
132952010-06-02 Aleš Nesrsta <starous@volny.cz>
13296
13297 Finally make USB usable.
13298
13299 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13300 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13301 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13302 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13303 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13304 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13305 (GRUB_OHCI_FSMPS): Likewise.
13306 (GRUB_OHCI_PERIODIC_START): Likewise.
13307 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13308 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13309 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13310 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13311 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13312 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13313 (grub_ohci_transaction): Likewise.
13314 (grub_ohci_transfer): Improve condition detection algorithms.
13315 Handle toggle property. Program the transactions correctly.
13316 Improve error handling. Various important fixups.
13317 (grub_ohci_portstatus): Put register writes in right order.
13318 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13319 (grub_uhci_transfer): Don't show "failed" message on success.
13320 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13321 array.
13322 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13323 determine its size.
13324 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13325 before initialization is completed. Use IN direction for empty
13326 transfers. Use last_trans and compute toggle.
13327 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13328 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13329 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13330 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13331 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13332 (grub_usb_device): Increase toggle to 256.
13333 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13334 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13335 GRUB_USBMS_SUBCLASS_SFF8070.
13336 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13337 (grub_scsi_inquiry): New member page and alloc_length.
13338 (grub_scsi_request_sense): New structure.
13339 (grub_scsi_request_sense_data): Likewise.
13340 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13341 control.
13342 * disk/scsi.c (grub_scsi_request_sense): New function.
13343 (grub_scsi_test_unit_ready): Likewise.
13344 (grub_scsi_inquiry): Fill new fields.
13345 (grub_scsi_read_capacity): Likewise.
13346 (grub_scsi_read10): Add request sense at the end.
13347 (grub_scsi_read12): Likewise.
13348 (grub_scsi_write10): Likewise.
13349 (grub_scsi_write12): Likewise.
13350 (grub_scsi_open): Add Test Unit Ready.
13351 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13352 Support additional subclasses. Con't clear halt yet. Activate the
13353 proper config. Calculate LUNs correctly.
13354 (grub_usbms_transfer): Various important fixups.
13355
133562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13359 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13360 (grub_ohci_fini_hw): New function.
13361 (grub_ohci_restore_hw): Likewise.
13362 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13363 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13364 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13365
133662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 Dedicated DMA allocations.
13369
13370 * bus/pci.c (grub_memalign_dma32): New function
13371 (grub_dma_free): Likewise.
13372 (grub_dma_get_virt): Likewise.
13373 (grub_dma_get_phys): Likewise.
13374 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13375 (grub_ohci_pci_iter): Use dma32_alloc.
13376 (grub_ohci_transfer): Likewise.
13377 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13378 (grub_usb_bulk_readwrite): Likewise.
13379 * include/grub/pci.h: Add declarations.
13380
133812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 CS5536 support.
13384
13385 * bus/cs5536.c: New file.
13386 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13387 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13388 (cs5536_mod_SOURCES): New variable.
13389 (cs5536_mod_CFLAGS): Likewise.
13390 (cs5536_mod_LDFLAGS): Likewise.
13391 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13392 machine/pci.h.
13393 (kernel_img_SOURCES): Add bus/cs5536.c.
13394 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13395 usb_keyboard.mod.
13396 (usb_mod_SOURCES): New variable.
13397 (usb_mod_CFLAGS): New variable.
13398 (usb_mod_LDFLAGS): New variable.
13399 (usbtest_mod_SOURCES): New variable.
13400 (usbtest_mod_CFLAGS): New variable.
13401 (usbtest_mod_LDFLAGS): New variable.
13402 (ohci_mod_SOURCES): New variable.
13403 (ohci_mod_CFLAGS): New variable.
13404 (ohci_mod_LDFLAGS): New variable.
13405 (usbms_mod_SOURCES): New variable.
13406 (usbms_mod_CFLAGS): New variable.
13407 (usbms_mod_LDFLAGS): New variable.
13408 (usb_keyboard_mod_SOURCES): New variable.
13409 (usb_keyboard_mod_CFLAGS): New variable.
13410 (usb_keyboard_mod_LDFLAGS): New variable.
13411 * include/grub/smbus.h: New file.
13412 * include/grub/cs5536.h: New file.
13413
0b35b2a9
CW
134142010-06-02 Colin Watson <cjwatson@ubuntu.com>
13415
13416 * util/grub.d/00_header.in: Add safety check to make sure that
13417 ${locale_dir} exists before trying to probe it.
13418
ca0afd5b
CW
134192010-06-02 Colin Watson <cjwatson@ubuntu.com>
13420
13421 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13422 per the GNU Coding Standards; this is now too obscure to be worth
13423 documenting.
13424 (QNX): Likewise.
13425 (chainloader): Remove cross-reference to `SCO UnixWare'.
13426
1c41aa78
CW
134272010-06-02 Colin Watson <cjwatson@ubuntu.com>
13428
13429 * docs/grub.texi (Chain-loading): New section.
13430 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13431 adjusted for GRUB 2.
13432 (SCO UnixWare): Likewise.
13433 (QNX): Likewise.
13434 (chainloader): Add reference to `Block list syntax'.
13435 (drivemap): New section.
13436 (parttool): New section.
13437
bb8ea0f5
CW
134382010-06-02 Colin Watson <cjwatson@ubuntu.com>
13439
13440 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13441 the grub shell'.
13442 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13443 (Installing GRUB using grub-install): Remove reference to the grub
13444 shell; mention `grub-mkimage' and `grub-setup' instead.
13445 (Invoking grub-install): Likewise.
13446 (Interface): Add reference to `Menu entry editor'.
13447 (serial): Remove `--device' option.
13448
288dd6ed
CW
134492010-06-02 Colin Watson <cjwatson@ubuntu.com>
13450
13451 * docs/grub.texi (Configuration): New section, documenting
13452 configuration file generation using grub-mkconfig. I've left a slot
13453 for documenting the full shell scripting format but have not yet
13454 started on writing that up.
13455 (Invoking grub-mkconfig): New section.
13456
34c9f0e9
CW
134572010-06-02 Colin Watson <cjwatson@ubuntu.com>
13458
13459 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13460 (GNU GRUB manual): Likewise.
13461 (General commands): Update description of `terminfo' for GRUB 2.
13462
9121567e
CW
134632010-06-02 Colin Watson <cjwatson@ubuntu.com>
13464
13465 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13466 (GRUB_MOD_INIT): Fix capitalisation.
13467 * docs/grub.texi (Command-line and menu entry commands): Document
13468 gettext and gptsync commands.
13469
ab631611
CW
134702010-06-02 Colin Watson <cjwatson@ubuntu.com>
13471
13472 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13473 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13474
bde4a9ac
CW
134752010-06-01 Colin Watson <cjwatson@ubuntu.com>
13476
13477 Add btrfs probing support, currently only in the single-device case.
13478
13479 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13480 function.
13481 (grub_guess_root_device): Call find_root_device_from_mountinfo
13482 before looking in /dev.
13483
b1d17e10
VS
134842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13485
13486 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13487 GRUB_DISK_SIZE_UNKNOWN.
13488 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13489
dfbfe004
JS
134902010-05-31 Jiro SEKIBA <jir@unicus.jp>
13491
13492 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13493 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13494 corrupted or not synced properly.
13495
c2ffc8e9
VS
134962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13499 Reported by: Seth Goldberg.
13500
56293166
VS
135012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13504 addition of dest.
13505 Reported by: Seth Goldberg.
13506
7620e7de
VS
135072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13510 Reported by: Seth Goldberg.
13511
c837af3f
VS
135122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13515 64-bit address as signed on MIPS.
13516
c7c75cf4
CW
135172010-05-28 Colin Watson <cjwatson@ubuntu.com>
13518
13519 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13520 to the empty string.
13521
fa4b8490
BC
135222010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13523
13524 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13525
13526 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13527 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13528 * kern/misc.c (__enable_execute_stack): Disable on
13529 GRUB_MACHINE_EMU.
13530
a33075b9
CW
135312010-05-28 Colin Watson <cjwatson@ubuntu.com>
13532
13533 Make grub-probe work with symbolic links under /dev/mapper as well
13534 as with real block devices. The Linux world seems to be (at best)
13535 in transition here, and GRUB shouldn't get caught in the middle.
13536
13537 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13538 /dev/mapper.
13539
d8708134
CW
135402010-05-27 Colin Watson <cjwatson@ubuntu.com>
13541
13542 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13543 input files (in which case exit zero).
13544
db2102a0
CW
135452010-05-27 Colin Watson <cjwatson@ubuntu.com>
13546
13547 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13548 return NULL for various reasons even if it has a maximum-length
13549 buffer: for example, there might be a symlink loop, or the path
13550 might exceed PATH_MAX. If this happens, return NULL.
13551
5fdba519
RM
135522010-05-27 Robert Millan <rmh@gnu.org>
13553
13554 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13555 partmap module to handle cross-partmap setups.
13556 Reported by Orestes Mas. Gràcies!
13557
d1d368e4
CW
135582010-05-27 Colin Watson <cjwatson@ubuntu.com>
13559
13560 * util/grub-mkrescue.in: Initialise override_dir rather than
13561 assuming that it's unset or empty in the environment.
13562
95ac3c73
GS
135632010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13564
13565 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13566 variable index into p_index to suppress a warning with -Wshadow.
13567
7d8c0213
BC
135682010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13569
13570 * INSTALL: Added flex >= 2.5.35 requirement.
13571
db4d5813
VS
135722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13575
f24f4300
VS
135762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 cmostest support.
13579
13580 * commands/i386/cmostest.c: New file.
13581 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13582 (cmostest_mod_SOURCES): New variable.
13583 (cmostest_mod_CFLAGS): Likewise.
13584 (cmostest_mod_LDFLAGS): Likewise.
13585 * conf/i386-pc.rmk: Likewise.
13586 * docs/grub.texi (Vendor power-on keys): New section.
13587 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13588 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13589 and GRUB_BUTTON_CMOS_ADDRESS.
13590 * util/grub.d/00_header.in: Handle powering-on by separate button.
13591
ad603f61
VS
135922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13595 Removed drawing_scrollbar argument. All users updated
13596 Fixes #29792.
13597 Reported by Jo Shields
13598
3ecb080a
VS
135992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13602 buffer since gfxterm handles double repaint.
13603
5f2316c1
VS
136042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13607 * term/gfxterm.c (real_scroll): Likewise.
13608
9a25f885
VS
136092010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13612 before calling BIOS.
13613
39fbb79a
VS
136142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 * include/grub/i18n.h: Always enable grub_gettext.
13617
228cfa97
VS
136182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13621 partition naming style.
13622
21717c8f
CW
136232010-05-21 Colin Watson <cjwatson@ubuntu.com>
13624
13625 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13626 not the first option.
13627
c0f48e65
CW
136282010-05-20 Colin Watson <cjwatson@ubuntu.com>
13629
13630 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13631
96779aec
CW
136322010-05-20 Colin Watson <cjwatson@ubuntu.com>
13633
13634 * util/misc.c: Move inclusion of <limits.h> to ...
13635 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13636
fa9d256e
GS
136372010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13638
13639 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13640 Fix merge error in NetBSD code.
13641 (find_partition_start) [__NetBSD__]: Likewise.
13642
123b7a85
BC
136432010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13644
13645 Fix grub-mkrescue usage unit testing.
13646
13647 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13648
74276c0d
CF
136492010-05-18 Christian Franke <franke@computer.org>
13650
13651 * util/grub.d/10_windows.in: Use path names instead of
13652 drive letters to prevent warning from Cygwin 1.7.
13653 Add drivemap command to menuentry if needed.
13654
c4f7b523
ST
136552010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13656
13657 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13658 gnumach and gnumach.gz.
13659
95b97950
VS
136602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 * include/grub/i18n.h (gettext): Inline instead of using #define.
13663 (grub_gettext): Likewise.
13664 (_): Likewise.
13665
01b8d2d7
VS
136662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13669 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13670 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13671 (main): Add a slash after pkglibdirroot.
13672
654e1d1e
VS
136732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * util/grub-install.in: Add missing "in" keyword.
13676
26966aeb
VS
136772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13680 Reported by: Seth Goldberg.
13681
75006747
VS
136822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13685
74cbf5bd
CW
136862010-05-18 Colin Watson <cjwatson@ubuntu.com>
13687
13688 * configure.ac: Check for Linux device-mapper support.
13689
13690 * util/hostdisk.c (device_is_mapped): New function.
13691 (find_partition_start): New function, partly broken out from
13692 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13693 device-mapper support added.
13694 (linux_find_partition): Use find_partition_start.
13695 (convert_system_partition_to_system_disk): Add `st' argument.
13696 Support Linux /dev/mapper/* devices if device-mapper support is
13697 available; only DM-RAID devices are understood at present.
13698 (find_system_device): Add `st' argument. Pass it to
13699 convert_system_partition_to_system_disk.
13700 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13701 find_system_device and convert_system_partition_to_system_disk. Use
13702 find_partition_start.
13703
13704 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13705 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13706 * util/deviceiter.c [__linux__]: Define MINOR.
13707 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13708 * util/mkdevicemap.c (grub_putchar): New function.
13709 (grub_getkey): New function.
13710 (grub_refresh): New function.
13711 (main): Set debug=all if -v -v is used.
13712
355b51e9
CW
137132010-05-18 Colin Watson <cjwatson@ubuntu.com>
13714
13715 Fix build with non-GNU libcs.
13716
13717 * util/misc.c (canonicalize_file_name): Move to ...
13718 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13719 grub_make_system_path_relative_to_its_root.
13720
7fb5c25f
CW
137212010-05-18 Colin Watson <cjwatson@ubuntu.com>
13722
13723 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13724 we handle finding grub-mkimage. Default to finding grub-mkimage in
13725 ${bindir} with program_transform_name applied, and provide a
13726 --grub-mkimage option to override this.
13727
1d3293d6
VS
137282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 Remove grub-mkisofs.
13731
13732 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13733 (grub_mkisofs_SOURCES): Removed.
13734 (grub_mkisofs_CFLAGS): Removed.
13735 * util/mkisofs/defaults.h: Removed.
13736 * util/mkisofs/eltorito.c: Likewise.
13737 * util/mkisofs/exclude.h: Likewise.
13738 * util/mkisofs/hash.c: Likewise.
13739 * util/mkisofs/include/: Likewise.
13740 * util/mkisofs/include/fctldefs.h: Likewise.
13741 * util/mkisofs/include/mconfig.h: Likewise.
13742 * util/mkisofs/include/prototyp.h: Likewise.
13743 * util/mkisofs/include/statdefs.h: Likewise.
13744 * util/mkisofs/iso9660.h: Likewise.
13745 * util/mkisofs/joliet.c: Likewise.
13746 * util/mkisofs/match.c: Likewise.
13747 * util/mkisofs/match.h: Likewise.
13748 * util/mkisofs/mkisofs.c: Likewise.
13749 * util/mkisofs/mkisofs.h: Likewise.
13750 * util/mkisofs/msdos_partition.h: Likewise.
13751 * util/mkisofs/multi.c: Likewise.
13752 * util/mkisofs/name.c: Likewise.
13753 * util/mkisofs/rock.c: Likewise.
13754 * util/mkisofs/tree.c: Likewise.
13755 * util/mkisofs/write.c: Likewise.
13756
5dde9afe
VS
137572010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 Unify grub-mkimage accross platforms.
13760
13761 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13762 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13763 (grub_mkelfimage_SOURCES): Removed.
13764 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13765 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13766 (bin_UTILITIES): Add grub-mkimage.
13767 (grub_mkimage_SOURCES): New variable.
13768 (kernel_img_HEADERS): Remove machine/kernel.h.
13769 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13770 (pkglib_PROGRAMS): Add kernel.img.
13771 (kernel_img_HEADERS): Add machine/kernel.h.
13772 (kernel_img_FORMAT): Removed.
13773 (bin_UTILITIES): Remove grub-mkimage.
13774 (grub_mkimage_SOURCES): Removed.
13775 (grub_mkimage_CFLAGS): Likewise.
13776 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13777 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13778 (pkglib_PROGRAMS): Add kernel.img.
13779 (bin_UTILITIES): Remove grub-mkimage.
13780 (grub_mkimage_SOURCES): Removed.
13781 (grub_mkimage_CFLAGS): Likewise.
13782 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13783 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13784 (pkglib_PROGRAMS): Add kernel.img.
13785 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13786 (pkglib_PROGRAMS): Add kernel.img.
13787 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13788 (grub_mkimage_SOURCES): Removed.
13789 (grub_mkimage_CFLAGS): Likewise.
13790 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13791 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13792 (pkglib_PROGRAMS): Add kernel.img.
13793 (bin_UTILITIES): Remove grub-mkimage.
13794 (grub_mkimage_SOURCES): Removed.
13795 (grub_mkimage_CFLAGS): Likewise.
13796 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13797 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13798 (grub_mkimage_SOURCES): Removed.
13799 (grub_mkimage_CFLAGS): Likewise.
13800 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13801 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13802 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13803 (grub_pe32_optional_header): ... this.
13804 (grub_pe64_optional_header): ... and this. All users updated.
13805 (GRUB_PE32_PE32_MAGIC): Split into ..
13806 (GRUB_PE32_PE32_MAGIC): .. this.
13807 (GRUB_PE32_PE64_MAGIC): .. and this.
13808 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13809 * include/grub/elf.h (PT_GNU_STACK): New definition.
13810 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13811 * include/grub/i386/efi/kernel.h: Likewise.
13812 * include/grub/i386/kernel.h: Likewise.
13813 * include/grub/i386/pc/kernel.h: Likewise.
13814 * include/grub/i386/qemu/boot.h: Likewise.
13815 * include/grub/mips/kernel.h: Likewise.
13816 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13817 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13818 * include/grub/powerpc/kernel.h: Likewise.
13819 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13820 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13821 * include/grub/sparc64/kernel.h: Likewise.
13822 * include/grub/x86_64/efi/kernel.h: Likewise.
13823 * include/grub/x86_64/kernel.h: Likewise.
13824 * include/grub/offsets.h: New file.
13825 * include/grub/kernel.h (grub_module_info): Split into ...
13826 (grub_module_info32): ... this.
13827 (grub_module_info64): ... and this.
13828 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13829 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13830 (grub_boot_blocklist): Moved from here ...
13831 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13832 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13833 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13834 * include/grub/types.h (grub_target_to_host16): Removed.
13835 (grub_target_to_host32): Likewise.
13836 (grub_target_to_host64): Likewise.
13837 (grub_host_to_target16): Likewise.
13838 (grub_host_to_target32): Likewise.
13839 (grub_host_to_target64): Likewise.
13840 (grub_host_to_target_addr): Likewise.
13841
13842 Support grub-mkrescue for efi, coreboot and qemu.
13843
13844 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13845 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13846 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13847 * util/grub-mkrawimage.c: Moved from here ...
13848 * util/grub-mkimage.c: ... here. All users updated.
13849 (ALIGN_ADDR): Use image_target.
13850 (TARGET_NO_FIELD): New const.
13851 (image_target_desc): New type.
13852 (image_targets): New array.
13853 (grub_target_to_host64): Use image_target.
13854 (grub_target_to_host32): Likewise.
13855 (grub_target_to_host16): Likewise.
13856 (grub_host_to_target64): Likewise.
13857 (grub_host_to_target32): Likewise.
13858 (grub_host_to_target16): Likewise.
13859 (grub_host_to_target_addr): Likewise.
13860 (generate_image): Handle multiimage.
13861 (main): Require -O parameter. All users updated.
13862 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13863 util/efi/grub-mkimage.c
13864 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13865 New option --rom-directory.
13866 Use xorriso.
13867 * util/i386/efi/grub-mkimage.c: Removed.
13868 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13869 (grub_target_to_host32): Likewise.
13870 (grub_target_to_host64): Likewise.
13871 (grub_host_to_target16): Likewise.
13872 (grub_host_to_target32): Likewise.
13873 (grub_host_to_target64): Likewise.
13874 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13875 (grub_target_to_host32): Likewise.
13876 (grub_target_to_host64): Likewise.
13877 (grub_host_to_target16): Likewise.
13878 (grub_host_to_target32): Likewise.
13879 (grub_host_to_target64): Likewise.
13880
f4fc97d0
BC
138812010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13882
13883 Source tree is reorganized for emu build.
13884
13885 * include/grub/util/console.h: Move from here...
13886 * include/grub/emu/console.h: ...to here.
13887 * include/grub/util/getroot.h: Move from here...
13888 * include/grub/emu/getroot.h: ...to here.
13889 * include/grub/util/hostdisk.h: Move from here...
13890 * include/grub/emu/hostdisk.h: ...to here.
13891 * util/console.c: Move from here...
13892 * kern/emu/console.c: ...to here.
13893 * util/getroot.c: Move from here...
13894 * kern/emu/getroot.c: ...to here.
13895 * util/grub-emu.c: Move from here...
13896 * kern/emu/main.c: ...to here.
13897 * util/hostdisk.c: Move from here...
13898 * kern/emu/hostdisk.c: ...to here.
13899 * util/hostfs.c: Move from here...
13900 * kern/emu/hostfs.c: ...to here.
13901 * util/mm.c: Move from here...
13902 * kern/emu/mm.c: ...to here.
13903 * util/pci.c: Move from here...
13904 * bus/emu/pci.c: ...to here.
13905 * util/sdl.c: Move from here...
13906 * video/emu/sdl.c: ...to here.
13907 * util/time.c: Move from here...
13908 * kern/emu/time.c: ...to here.
13909 * util/usb.c: Move from here...
13910 * bus/usb/emu/usb.c: ...to here.
13911
13912 * include/grub/emu/misc.h: New header for grub-emu functions.
13913 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13914
13915 * conf/any-emu.rmk: Rule updates for above renames.
13916 * conf/common.rmk: Likewise.
13917 * conf/i386-pc.rmk: Likewise.
13918 * conf/i386-qemu.rmk: Likewise.
13919 * conf/mips.rmk: Likewise.
13920 * conf/sparc64-ieee1275.rmk: Likewise.
13921 * conf/x86-efi.rmk: Likewise.
13922
13923 * disk/lvm.h: #include updates for above renames.
13924 * util/grub-mkrelpath.c: Likewise.
13925 * util/grub-probe.c: Likewise.
13926 * util/i386/pc/grub-setup.c: Likewise.
13927 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13928 * kern/emu/console.c: Likewise.
13929 * kern/emu/getroot.c: Likewise.
13930 * kern/emu/hostdisk.c: Likewise.
13931 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13932
13933 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13934 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13935 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13936 * util/misc.c: Remove grub-emu functions.
13937
cced9145
VS
139382010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 Fix gfxmenu crash.
13941 Reported by: Thorsten Grützmacher.
13942
13943 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13944 timeout hook.
13945 (circprog_set_property): Register and unregister timeout hook.
13946 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13947 (label_destroy): Free template. and unregister hook.
13948 (label_set_state): New function.
13949 (label_set_property): Handle templates and hooks.
13950 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13951 timeout hook.
13952 (progress_bar_set_property): Register and unregister timeout hook.
13953 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13954 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13955 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13956 (update_timeout_visit): Removed.
13957 (update_timeouts): New function.
13958 (redraw_timeouts): Likewise.
13959 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13960 (grub_gfxmenu_clear_timeout): Likewise.
13961 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13962 (grub_gfxmenu_timeout_notify): Likewise.
13963 (grub_gfxmenu_timeout_notifications): New external variable.
13964 (grub_gfxmenu_timeout_register): New function.
13965 (grub_gfxmenu_timeout_unregister): Likewise.
13966
c6e5caab
VS
139672010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 Transform (broken) vga terminal into (working) vga video driver.
13970
13971 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13972 video/i386/pc/vga.c.
13973 * include/grub/video.h (grub_video_driver_id):
13974 Add GRUB_VIDEO_DRIVER_VGA.
13975 * term/i386/pc/vga.c: Renamed to ...
13976 * video/i386/pc/vga.c: ...this
13977 (DEBUG_VGA): Removed.
13978 (CHAR_WIDTH): Likewise.
13979 (CHAR_HEIGHT): Likewise.
13980 (TEXT_WIDTH): Likewise.
13981 (TEXT_HEIGHT): Likewise.
13982 (DEFAULT_FG_COLOR): Likewise.
13983 (DEFAULT_BG_COLOR): Likewise.
13984 (colored_char): Likewise.
13985 (xpos): Likewise.
13986 (ypos): Likewise.
13987 (cursor_state): Likewise.
13988 (fg_color): Likewise.
13989 (bg_color): Likewise.
13990 (text_buf): Likewise.
13991 (page): Likewise.
13992 (font): Likewise.
13993 (framebuffer): New variable.
13994 (set_read_map): Disabled.
13995 (setup): New variable.
13996 (is_target): Likewise.
13997 (grub_vga_mod_init): Likewise.
13998 (grub_vga_mod_fini): Likewise.
13999 (check_vga_mem): Likewise.
14000 (write_char): Likewise.
14001 (write_cursor): Likewise.
14002 (scroll_up): Likewise.
14003 (grub_vga_putchar): Likewise.
14004 (grub_vga_getcharwidth): Likewise.
14005 (grub_vga_getwh): Likewise.
14006 (grub_vga_getxy): Likewise.
14007 (grub_vga_gotoxy): Likewise.
14008 (grub_vga_cls): Likewise.
14009 (grub_vga_setcolorstate): Likewise.
14010 (grub_vga_setcursor): Likewise.
14011 (grub_video_vga_init): New function.
14012 (grub_video_vga_setup): Likewise.
14013 (grub_video_vga_fini): Likewise.
14014 (update_target): Likewise.
14015 (grub_video_vga_blit_bitmap): Likewise.
14016 (grub_video_vga_blit_render_target): Likewise.
14017 (grub_video_vga_set_active_render_target): Likewise.
14018 (grub_video_vga_get_active_render_target): Likewise.
14019 (grub_video_vga_swap_buffers): Likewise.
14020 (grub_video_vga_set_palette): Likewise.
14021 (grub_video_vga_get_info_and_fini): Likewise.
14022 (grub_vga_term): Removed.
14023 (grub_video_vga_adapter): New variable.
14024 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14025 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14026
2bf61a98
VS
140272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * video/readers/jpeg.c: Indented.
14030
09ddcd11
VS
140312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 Various jpeg cleanups.
14034
14035 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14036 (grub_jpeg_decode_quan_table): Use sizeof.
14037 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14038
e5507505
PH
140392010-05-05 Peter Hurley <No e-mail available> (tiny change)
14040
14041 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14042 tables. Ignore non-last ac bit.
14043 (grub_jpeg_decode_quan_table): Likewise.
14044
7e720a9b
VS
140452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14046
14047 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14048 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14049 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14050 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14051 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14052 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14053
a7fc080b
VS
140542010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14057 error.
14058
2bf6012d
VS
140592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14062
265d68cd
VS
140632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14066 condition.
14067
140682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
14069
14070 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14071 part.
14072
265d68cd 140732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
14074
14075 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14076 pointers.
14077
265d68cd 140782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
14079
14080 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14081
d1b61374
CF
140822010-05-01 Christian Franke <franke@computer.org>
14083
14084 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14085 Remove broken Cygwin path conversion.
14086 * util/misc.c: [__CYGWIN__] Add include and define.
14087 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14088 for Cygwin 1.7.
14089 (make_system_path_relative_to_its_root): Simplify loop, replace early
14090 return by break.
14091 [__CYGWIN__] Add conversion to win32 path.
14092 Include "/" case in trailing slash removal.
14093
3558c6e9
VS
140942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14097 Reported by: Seth Goldberg
14098
f5f3ff93
VS
140992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 * commands/help.c (grub_cmd_help): Fix a typo.
14102 Reported by: Seth Goldberg
14103
d8b5cd40
VS
141042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14107 name and add N_.
14108 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14109 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14110 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14111 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14112 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14113 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14114 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14115 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14116 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14117 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14118 * normal/context.c (GRUB_MOD_INIT): Likewise.
14119 * normal/main.c (GRUB_MOD_INIT): Likewise.
14120 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14121 * term/serial.c (GRUB_MOD_INIT): Likewise.
14122 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14123
88c14915
VS
141242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14127 extra == 0.
14128
165134bc
VS
141292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * commands/iorw.c: New file.
14132 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14133 (iorw_mod_SOURCES): New variable.
14134 (iorw_mod_CFLAGS): Likewise.
14135 (iorw_mod_LDFLAGS): Likewise.
14136
c5ac9b32
VS
141372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 Hotkey support
14140
14141 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14142 * normal/main.c (hotkey_aliases): New variable.
14143 (grub_normal_add_menu_entry): Parse "--hotkey".
14144 * normal/menu_text.c (run_menu): Handle hotkeys.
14145
ce60689c
VS
141462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * kern/i386/coreboot/init.c (grub_machine_init): Call
14149 grub_machine_mmap_init on qemu.
14150
0359d006
VS
141512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * boot/i386/qemu/boot.S: Add a missing .code16.
14154
7819a456
VS
141552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 Use LBIO on coreboot.
14158
14159 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14160 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14161 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14162 New declaration.
14163 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14164 grub_machine_mmap_init on coreboot.
14165 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14166 GRUB_LINUXBIOS_MEMBER_LINK.
14167 (grub_machine_mmap_iterate): Fix declaration.
14168 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14169
7210dca9
VS
141702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 Split coreboot and multiboot ports.
14173
14174 * conf/i386-multiboot.rmk: New file.
14175 * configure.ac: Add multiboot port.
14176 * include/grub/i386/multiboot/boot.h: New file.
14177 * include/grub/i386/multiboot/console.h: Likewise.
14178 * include/grub/i386/multiboot/init.h: Likewise.
14179 * include/grub/i386/multiboot/kernel.h: Likewise.
14180 * include/grub/i386/multiboot/loader.h: Likewise.
14181 * include/grub/i386/multiboot/memory.h: Likewise.
14182 * include/grub/i386/multiboot/serial.h: Likewise.
14183 * include/grub/i386/multiboot/time.h: Likewise.
14184 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14185 * loader/multiboot.c: Likewise.
14186 * loader/multiboot_mbi2.c: Likewise.
14187 * util/grub-mkrescue.in: Generate multiboot rescue.
14188
6f8aaf68
VS
141892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14190
3080f7a7
VS
14191 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14192
141932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14196
14197 * commands/terminal.c (abstract_terminal): New struct.
14198 (handle_command): New function. Based on grub_cmd_terminal_input.
14199 (grub_cmd_terminal_input): Use handle_command.
14200 (grub_cmd_terminal_output): Use handle_command.
14201
a8ebb841
BC
142022010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14203
14204 Fix comment handling.
14205
14206 * tests/grub_script_comments.in: New testcase.
14207 * conf/tests.rmk: Rules for new testcase.
14208 * script/yylex.l: Updated flex rules.
14209
bb06ba08
ST
142102010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14211
14212 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
14213 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14214 if argc is 1.
bb06ba08 14215
cc9d2425
VS
142162010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14217
14218 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14219 autogen issues.
14220
460d8402
CF
142212010-04-26 Christian Franke <franke@computer.org>
14222
14223 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14224 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14225 (grub_get_prefix): Remove function.
14226 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14227 make_system_path_relative_to_its_root ().
14228 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14229
553c01f9
CF
142302010-04-24 Christian Franke <franke@computer.org>
14231
14232 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14233 (kernel_img_LDFLAGS): Remove -static-libgcc.
14234
2aec1692
CF
142352010-04-24 Christian Franke <franke@computer.org>
14236
14237 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14238 and CHECK_END_SYMBOL if grub-emu is built.
14239 Unset TARGET_OBJ2ELF if grub-emu is built
14240 without module support.
14241
f67dc308
JS
142422010-04-24 Jiro SEKIBA <jir@unicus.jp>
14243
14244 Nilfs2 support.
14245
14246 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14247 (grub_fstest_SOURCES): Likewise.
14248 (pkglib_MODULES): Add nilfs2.mod.
14249 (nilfs2_mod_SOURCES): New variable.
14250 (nilfs2_mod_CFLAGS): Likewise.
14251 (nilfs2_mod_LDFLAGS): Likewise.
14252 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14253 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14254 * fs/nilfs2.c: New file.
14255
4ba8d354
VS
142562010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14259 is not supported.
14260
0d2c20c6
GS
142612010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14262
14263 Add grub-mkconfig support for NetBSD.
14264
14265 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14266 * util/grub-mkconfig.in: export new NetBSD specific variables.
14267 * po/POTFILES-shell: added 10_netbsd.in.
14268 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14269
bc4a2d83
BC
142702010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14271
14272 Fix emu build with grub-emu-pci and grub-emu-modules.
14273
14274 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14275 functions.
14276 * include/grub/libpciaccess.h: New file.
14277 * conf/any-emu.rmk: Update kernel headers for emu build.
14278
f48c87aa
VS
142792010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14280
14281 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14282
18959385
VS
142832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14286
0037de3f
VS
142872010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14290 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14291 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14292 util/ieee1275/ofpath.c.
14293 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14294 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14295 * include/grub/sparc64/ieee1275/boot.h
14296 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14297 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14298 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14299 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14300 const char *.
14301 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14302 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14303 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14304 install.
14305
38e55e90
GS
143062010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14307
14308 * util/grub-mkconfig.in: Corrected two == equality tests.
14309 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14310 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14311 expect a number appended to it.
14312 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14313 expects a number appended to it.
14314
a9e6ff28
VS
143152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14316
14317 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14318
0b830b8f
VS
143192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * util/hostdisk.c (make_device_name): Change to new partition naming.
14322
0973daeb
VS
143232010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14326
460d8402 143272010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
14328
14329 * Makefile.in: Add missing localedir setting.
14330
0b456309
CW
143312010-04-14 Colin Watson <cjwatson@ubuntu.com>
14332
14333 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14334 mistake in r2156. Noticed by Anthony Fok.
14335
14336 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14337 @localedir@.
14338 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14339
08f46d62
BC
143402010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14341
14342 Fix a spurious, uninitialized variable warning.
14343
14344 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14345 Initialize variable, shdr.
14346 (grub_freebsd_load_elfmodule): Likewise.
14347 (grub_freebsd_load_elf_meta): Likewise.
14348
8c4a72d4
BC
143492010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14350
14351 Fix for escaped dollar in double quoted strings.
14352
14353 * script/yylex.l: Updated flex rules.
14354 * conf/tests.rmk: Rule for new testcase.
14355 * tests/grub_script_dollar.in: New testcase.
14356
ce44826e
CPE
143572010-04-13 Carles Pina i Estany <carles@pina.cat>
143582010-04-13 Colin Watson <cjwatson@ubuntu.com>
14359
14360 Enclose all translated strings in grub.cfg in single quotes, and
14361 escape them appropriately (Ubuntu bug #552921).
14362
14363 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14364 * util/grub.d/10_hurd.in: Use it.
14365 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14366 * util/grub.d/10_linux.in (linux_entry): Likewise.
14367
4b0cd8f8
VS
143682010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 Fix cygwin compilation.
14371
14372 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14373 * include/grub/misc.h (__register_frame_info)
14374 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14375 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14376 * kern/misc.c (__register_frame_info)
14377 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14378 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14379
01fcf061
VS
143802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14383
5d04b11e
VS
143842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14385
14386 Unify libgcc processing.
14387
14388 * Makefile.in (kernel_img_LDFLAGS): New variable.
14389 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14390 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14391 overwriting.
14392 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14393 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14394 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14395 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14396 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14397 overwriting. Remove -lgcc and -static-libgcc
14398 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14399 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14400 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14401 (kernel_img_LDFLAGS): Append instead of overwriting.
14402 Remove -lgcc and -static-libgcc
14403 * conf/sparc64-ieee1275.rmk: Likewise.
14404 * include/grub/powerpc/libgcc.h: Move to ...
14405 * include/grub/libgcc.h: .. this.
14406 * include/grub/libgcc.h: Don't export most of the function on x86.
14407 (__bswapsi2): New export.
14408 (__bswapdi2): Likewise.
14409 * include/grub/mips/libgcc.h: Removed.
14410 * include/grub/sparc64/libgcc.h: Likewise.
14411
b7f3ac29
VS
144122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14415 disk_info_msg (conflicts with gettexting into languages with cases).
14416
2c7031b1
GS
144172010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14418
14419 Add grub-probe support for NetBSD.
14420
14421 * util/getroot.c (find_root_device): Convert block device to
14422 character device on NetBSD.
14423 * util/probe.c (probe): Require character device on NetBSD.
14424 * util/hostdisk.c: NetBSD specific headers.
14425 (configure_device_driver): new function to tune device driver
14426 parameters (currently only for NetBSD floppy driver).
14427 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14428 via disklabel ioctl).
14429 (open_device): call configure_device_driver on NetBSD.
14430 (convert_system_partition_to_system_disk): NetBSD specific code.
14431 (device_is_wholedisk): Likewise.
14432 (grub_util_biosdisk_get_grub_dev): Likewise.
14433 (make_device_name): Fixed a typo in bsd_part_str.
14434 * configure.ac: check for opendisk() and getrawpartition() on
14435 NetBSD and set LIBUTIL.
14436 * Makefile.in: add LIBUTIL to LIBS.
14437
f516290c
BC
144382010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14439
14440 Documentation fix.
14441
14442 * util/grub-script-check.c: Better help message.
14443
d8dcc0df
BC
144442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14445
14446 Fix FreeBSD build.
14447
14448 * configure.ac: Flex version check.
14449 * conf/common.rmk: Add -Wno-error to sh.mod.
14450 * script/yylex.l: Remove all #pragma.
14451
6734334a
VS
144522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14455 prototype.
14456 Reported by: Seth Goldberg.
14457
daea6abd
VS
144582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14461 Rename "module" to "module2".
14462 Reported by: Seth Goldberg.
14463
f2fd9d2b
VS
144642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14467 EXPORT_FUNC.
14468 Reported by: Seth Goldberg.
14469
be124579
VS
144702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 * lib/posix_wrap/locale.h: Add missing file.
14473 Reported by: Seth Goldberg.
14474
ef5da797
VS
144752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 grub-emu module load support.
14478
14479 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14480 NO_DYNAMIC_MODULES switched to this.
14481 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14482 (CFLAGS): Likewise.
14483 * conf/any-emu.rmk: Generate symlist.
14484 (kernel_img_HEADERS): Add util/datetime.h.
14485 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14486 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14487 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14488 kern/$(target_cpu)/cache.S.
14489 * configure.ac (grub-emu-modules): New option.
14490 * genmk.rb: Handle multiple source lists.
14491 * include/grub/sdl.h: New file.
14492 * include/grub/libusb.h: Likewise.
14493 * util/grub-emu.c (main): Hanle (host) root.
14494 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14495 GRUB_ERR_UNKNOWN_DEVICE.
14496 * util/misc.c: Move mm functions to ...
14497 * util/mm.c: ... here. All users updated.
14498
47822096
VS
144992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14502 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14503 missing files.
14504 (maintainer-clean): Remove libgcrypt-grub.
14505
5d7e7445
VS
145062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14509
25f4e252
EC
145102010-04-09 EFI Coder <eficoder@hotmail.com>
14511
14512 * normal/menu_text.c (print_message): Clean up the message and show
14513 the Fn information when on EFI
14514 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14515
027de555
VS
145162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14519 All users updated.
14520 * normal/crypto.c (read_crypto_list): Likewise.
14521 * normal/dyncmd.c (read_command_list): Likewise.
14522 * normal/term.c (read_terminal_list): Likewise.
14523 * normal/main.c (read_lists): Use explicit prefix.
14524 (read_lists_hook): Use read_lists.
14525 (grub_normal_execute): Likewise.
14526
47779711
VS
145272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14530 Reported by: Thomas Schmitt.
14531 Add -no-emul-boot to grub-mkisofs parameters.
14532
1118c32e
VS
145332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * font/font.c: Indented.
14536
7d652447
BC
145372010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14538
14539 Elif support to GRUB script (by Deepak Vankadaru).
14540
14541 * tests/grub_script_if.in: New testcase.
14542 * conf/tests.rmk: Rule for new testcase.
14543 * script/parser.y: Grammar rules for elif.
14544
34bb22df
BC
145452010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14546
14547 While and until loops support to GRUB script.
14548
14549 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14550 (grub_script_create_cmdwhile): New function prototype.
14551 (grub_script_execute_cmdwhile): New function prototype.
14552 * script/execute.c (grub_script_execute_cmdwhile): New function.
14553 * script/parser.y (command): New commands.
14554 (whilecmd): New grammar rule.
14555 (untilcmd): New grammar rule.
14556 * script/script.c (grub_script_create_cmdwhile): New function.
14557 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14558 function.
14559
14560 * tests/grub_script_while1.in: New testcase.
14561 * conf/tests.rmk: Rule for new testcase.
14562
e215d8e0
VS
145632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14564
14565 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14566 as *.jpg.
14567
d7c43ba1
MV
145682010-04-09 Mario Vazquez <mariovazq@gmail.com>
14569
14570 GRUB_BACKGROUND support.
14571
14572 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14573 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14574
d64795c0
VS
145752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 14578 Idea by: Mario Vazquez
d64795c0
VS
14579
14580 * util/grub.d/00_header.in: Load pf2 and image modules.
14581
f267f83a
VS
145822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 grub-mkconfig multiple terminal support.
14585
14586 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14587 * util/grub.d/00_header.in: Likewise.
14588
b7841ceb
VS
145892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14592 we use cd $(srcdir).
14593
df60998c
CW
145942010-04-08 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * util/grub.d/10_linux.in: Only use the first word of
14597 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14598 spaces in GRUB_DISTRIBUTOR.
14599 * util/grub.d/10_kfreebsd.in: Likewise.
14600 * util/grub.d/10_hurd.in: Likewise.
14601
fa09c82e
BC
146022010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14603
14e18ae3 14604 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
14605
14606 * tests/util/grub-shell.in: Remove -serial stdio option.
14607
daf892b3
BC
146082010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 POSIX header file wrappers.
14611
14612 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14613 equivalents.
14614 * lib/posix_wrap/ctype.h: Likewise.
14615 * lib/posix_wrap/errno.h: Likewise.
14616 * lib/posix_wrap/langinfo.h: Likewise.
14617 * lib/posix_wrap/limits.h: Likewise.
14618 * lib/posix_wrap/localcharset.h: Likewise.
14619 * lib/posix_wrap/stdint.h: Likewise.
14620 * lib/posix_wrap/stdio.h: Likewise.
14621 * lib/posix_wrap/stdlib.h: Likewise.
14622 * lib/posix_wrap/string.h: Likewise.
14623 * lib/posix_wrap/sys/types.h: Likewise.
14624 * lib/posix_wrap/unistd.h: Likewise.
14625 * lib/posix_wrap/wchar.h: Likewise.
14626 * lib/posix_wrap/wctype.h: Likewise.
14627 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14628 (grub_script.yy.h): Likewise.
14629 * script/yylex.l: Remove POSIX emulation #defines.
14630 * Makefile.in (POSIX_CFLAGS): New variable.
14631 (GNULIB_UTIL_CFLAGS): Likewise.
14632
14633 Regexp support.
14634
14635 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14636 (regexp_mod_SOURCES): New variable.
14637 (regexp_mod_CFLAGS): Likewise.
14638 (regexp_mod_LDFLAGS): Likewise.
14639 * commands/regexp.c: New file.
14640 * gnulib/regcomp.c: New file. Imported from gnulib.
14641 * gnulib/regex.c: Likewise.
14642 * gnulib/regex_internal.c: Likewise.
14643 * gnulib/regex_internal.h: Likewise.
14644 * gnulib/regexec.c: Likewise.
14645 * gnulib/regex.h: Likewise.
14646
974ac4f7
VS
146472010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14650 unsupported video mode types.
14651
2622c3ff
VS
146522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14655
064cb524
VS
146562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14659 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14660
a8c3b552
VS
146612010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 Remove unused grub_vga_get_font.
14664
14665 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14666 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14667
187bbe3d
GS
146682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14669
14670 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14671 * include/grub/misc.h: Likewise.
14672
b9396631
GS
146732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14674
14675 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14676 for which failure is fatal.
14677
50479feb
GS
146782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14679
14680 * util/grub-install.in: Use mkdir -p to create grub directory.
14681 * util/i386/efi/grub-install.in: Likewise.
14682 * util/ieee1275/grub-install.in: Likewise.
14683
b1654fdf
GS
146842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14685
14686 * Makefile.in (LEX): new variable.
14687
bd5a6415
GS
146882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14689
14690 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14691 `=' and added double quotes on operands of this equality test.
14692
3db3a82b
VS
146932010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 * Makefile.in (uninstall): Remove a leftover debug echo.
14696 Reported by: Grégoire Sutre
14697
38023412
VS
146982010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 MIPS multiboot2 support.
14701
14702 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14703 (multiboot2_mod_SOURCES): New variable.
14704 (multiboot2_mod_CFLAGS): Likewise.
14705 (multiboot2_mod_LDFLAGS): Likewise.
14706 (multiboot2_mod_ASFLAGS): Likewise.
14707 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14708 definition.
14709 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14710 (MULTIBOOT_MBI_REGISTER): Likewise.
14711 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14712 (MULTIBOOT_ELF32_MACHINE): Likewise.
14713 (MULTIBOOT_ELF64_MACHINE): Likewise.
14714 * include/grub/mips/multiboot.h: New file.
14715 * include/grub/video.h (grub_video_driver_id): New type
14716 GRUB_VIDEO_DRIVER_SM712.
14717 (grub_video_get_info_and_fini): Export.
14718 (grub_video_get_palette): Likewise.
14719 (grub_video_get_driver_id): Likewise.
14720 * include/multiboot2.h: Resynced with spec.
14721 * loader/i386/multiboot.c: Moved from here ...
14722 * loader/multiboot.c: ... here. All users updated.
14723 (grub_multiboot_boot): Use platform-specific macros.
14724 * loader/i386/multiboot_elfxx.c: Moved from here ...
14725 * loader/multiboot_elfxx.c: ... here. All users updated.
14726 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14727 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14728 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14729
47674667
VS
147302010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 Import gnulib argp module.
14733
14734 * gnulib/argp-ba.c: New file.
14735 * gnulib/argp-eexst.c: Likewise.
14736 * gnulib/argp-fmtstream.c: Likewise.
14737 * gnulib/argp-fmtstream.h: Likewise.
14738 * gnulib/argp-fs-xinl.c: Likewise.
14739 * gnulib/argp-help.c: Likewise.
14740 * gnulib/argp-namefrob.h: Likewise.
14741 * gnulib/argp-parse.c: Likewise.
14742 * gnulib/argp-pin.c: Likewise.
14743 * gnulib/argp-pv.c: Likewise.
14744 * gnulib/argp-pvh.c: Likewise.
14745 * gnulib/argp-version-etc.c: Likewise.
14746 * gnulib/argp-version-etc.h: Likewise.
14747 * gnulib/argp-xinl.c: Likewise.
14748 * gnulib/argp.h: Likewise.
14749
495442ed
VS
147502010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14751
14752 * kern/device.c (grub_device_iterate): Clear errors after failed
14753 opening device.
14754
f9fd65df
VS
147552010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14758 returned by firmware.
14759
af09641e
VS
147602010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14763 compilation on coreboot and qemu
14764
016883a5
VS
147652010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * include/multiboot2.h: Resync with spec.
14768
f97e1f7d
VS
147692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 Multiboot2 tag support
14772
14773 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14774 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14775 Remove loader/multiboot_loader.c.
14776 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14777 (grub_multiboot2_real_boot): Likewise.
14778 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14779 (grub_get_multiboot_mmap_count): New proto.
14780 (grub_fill_multiboot_mmap): Likewise.
14781 (grub_multiboot_set_video_mode): Likewise.
14782 (grub_multiboot_set_console): Likewise.
14783 (grub_multiboot_load): Likewise.
14784 (grub_multiboot_load_elf): Likewise.
14785 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14786 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14787 * include/multiboot.h: Resynced with specification.
14788 * include/multiboot2.h: Resynced with specification.
14789 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14790 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14791 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14792 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14793 users updated.
14794 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14795 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14796 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14797 Removed.
14798 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14799 Moved from here...
14800 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14801 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14802 Moved from here...
14803 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14804 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14805 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14806 All users updated.
14807 * loader/i386/multiboot_mbi2.c: New file.
14808
3506b90b
VS
148092010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 Resync with gnulib.
14812
14813 * Makefile.in (GNULIB_CFLAGS): New variable.
14814 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14815 (grub_script_check_CFLAGS): New variable.
14816 * gnulib/alloca.h: Resync with gnulib.
14817 * gnulib/error.c: Likewise.
14818 * gnulib/error.h: Likewise.
14819 * gnulib/fnmatch.c: Likewise.
14820 * gnulib/fnmatch_loop.c: Likewise.
14821 * gnulib/getdelim.c: Likewise.
14822 * gnulib/getline.c: Likewise.
14823 * gnulib/getopt.c: Likewise.
14824 * gnulib/getopt1.c: Likewise.
14825 * gnulib/getopt_int.h: Likewise.
14826 * gnulib/gettext.h: Likewise.
14827 * gnulib/progname.c: Likewise.
14828 * gnulib/progname.h: Likewise.
14829
394a3120
GS
148302010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14831
14832 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14833 which is the case with --disabled-nls.
14834
14835 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14836 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14837 * util/misc.c: Likewise.
14838 * util/mkisofs/mkisofs.c: Likewise.
14839 * util/mkisofs/mkisofs.h: Likewise.
14840
969d1c78
VS
148412010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 Simplify Apple CC support.
14844
14845 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14846 Add 0 byte at the end not to have a symbol with empty target.
14847 * mmap/i386/pc/mmap_helper.S: Likewise.
14848 * genmk.rb: Ignore errors 2030 and 2050.
14849 * kern/i386/pc/startup.S: Use LOCAL when possible.
14850
8d2977bb
BC
148512010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14852
14853 Testcase and the fix for final semicolon on cmdline.
14854
14855 * tests/grub_script_final_semicolon.in: New testcase.
14856 * conf/tests.rmk: Rules for the new testcase.
14857 * script/parser.y: Grammar fix.
14858
a7bd6915
BC
148592010-03-26 BVK Chaitanya <bvk@localhost>
14860
14861 Blank lines testcase for GRUB script.
14862
14863 * tests/grub_script_blanklines.in: New testcase.
14864 * conf/tests.rmk: Rules for the new testcase.
14865
e4ff6628
VS
148662010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 Don't use __FILE__.
14869
14870 * genmk.rb: Add -DGRUB_FILE to all C targets.
14871 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14872 * include/grub/list.h: Likewise.
14873 * include/grub/misc.h: Likewise.
14874 * include/grub/mm.h: Likewise.
14875 * include/grub/test.h: Likewise.
14876 * kern/mm.c: Likewise.
14877 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14878
6a5cf6b6
VS
148792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 Sunpc partitions support.
14882
14883 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14884 (grub_fstest_SOURCES): Likewise.
14885 (pkglib_MODULES): Add part_sunpc.mod.
14886 (part_sunpc_mod_SOURCES): New variable.
14887 (part_sunpc_mod_CFLAGS): Likewise.
14888 (part_sunpc_mod_LDFLAGS): Likewise.
14889 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14890 * partmap/sunpc.c: New file.
14891
746d9045
BC
148922010-03-26 BVK Chaitanya <bvk@localhost>
14893
14894 For loop support to GRUB script.
14895
14896 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14897 (grub_script_create_cmdfor): New function prototype.
14898 (grub_script_execute_cmdfor): New function prototype.
14899 * script/execute.c (grub_script_execute_cmdfor): New function.
14900 * script/parser.y (command): New for command.
14901 (forcmd): New grammar rule.
14902 * script/script.c (grub_script_create_cmdfor): New function.
14903 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14904 function.
14905 * tests/grub_script_for1.in: New testcase.
14906 * conf/tests.rmk: Rules for new testcase.
14907
18486b18
VS
149082010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 Nested partitions
14911
14912 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14913 'partition' is NULL, grub_partition_get_start already does that.
14914 * commands/loadenv.c (check_blocklists): Likewise.
14915 (write_blocklists): Likewise.
14916 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14917 (grub_fstest_SOURCES): Likewise.
14918 (pkglib_MODULES): Add part_bsd.mod.
14919 (part_bsd_mod_SOURCES): New variable.
14920 (part_bsd_mod_CFLAGS): Likewise.
14921 (part_bsd_mod_LDFLAGS): Likewise.
14922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14923 (grub_emu_SOURCES): Likewise.
14924 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14925 * include/grub/bsdlabel.h: New file.
14926 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14927 'get_name'.
14928 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14929 (grub_partition_map_list): New variable.
14930 (grub_partition_map_register): Inline.
14931 (grub_partition_map_unregister): Likewise.
14932 (FOR_PARTITION_MAPS): New macro.
14933 (grub_partition_map_iterate): Removed.
14934 (grub_partition_get_start): Handle nested partitions.
14935 * include/grub/msdos_partition.h: Remove bsd-related entries.
14936 (grub_pc_partition): Remove.
14937 * kern/disk.c (grub_disk_close): Free partition data.
14938 (grub_disk_adjust_range): Handle nested partitions.
14939 * kern/partition.c (grub_partition_map_probe): New function.
14940 (grub_partition_probe): Parse name to number, handle subpartitions.
14941 (get_partmap): New function.
14942 (grub_partition_iterate): Handle subpartitions.
14943 (grub_partition_get_name): Likewise.
14944 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14945 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14946 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14947 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14948 Set 'number'.
14949 (acorn_partition_map_probe): Remove.
14950 (acorn_partition_map_get_name): Likewise.
14951 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14952 Set 'number'.
14953 Set 'index' to 0 since there can be only one partition entry per sector.
14954 (amiga_partition_map_probe): Remove.
14955 (amiga_partition_map_get_name): Likewise.
14956 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14957 Set 'number'.
14958 Set 'offset' and 'index' to real positions of partitions.
14959 (apple_partition_map_probe): Remove.
14960 (apple_partition_map_get_name): Likewise.
14961 * partmap/bsdlabel.c: New file.
14962 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14963 Set 'number'.
14964 Allocate 'data' so it can be correctly freed.
14965 Set 'index' to offset inside sector.
14966 (gpt_partition_map_probe): Remove.
14967 (gpt_partition_map_get_name): Likewise.
14968 * partmap/msdos.c (grub_partition_parse): Remove.
14969 (pc_partition_map_iterate): Don't force raw access.
14970 Set 'number'.
14971 Make 'ext_offset' a local variable.
14972 (pc_partition_map_probe): Remove.
14973 (pc_partition_map_get_name): Remove.
14974 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14975 Set 'number'.
14976 (sun_partition_map_probe): Remove.
14977 (sun_partition_map_get_name): Likewise.
14978 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14979 (grub_pcpart_type): Likewise.
14980 * util/hostdisk.c (open_device): Handle new numbering scheme.
14981 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14982 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14983 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14984 * util/grub-install.in: Insert all subpartition modules.
14985 * util/ieee1275/grub-install.in: Likewise.
14986
a3940f88
AG
149872010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14988
14989 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14990 grammar.
14991
21b99926 149922010-03-24 Colin Watson <cjwatson@ubuntu.com>
14993
14994 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14995
bed1d352
CW
149962010-03-21 Colin Watson <cjwatson@ubuntu.com>
14997
14998 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14999 match where 'make install' puts them.
15000 * util/i386/efi/grub-install.in: Likewise.
15001
c9f58427
CW
150022010-03-19 Colin Watson <cjwatson@ubuntu.com>
15003
15004 * .bzrignore: Add gentrigtables, grub-script-check,
15005 grub_script_check_init.c, grub_script_check_init.h, and
15006 trigtables.c.
15007
f84afb27
VS
150082010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 * kern/parser.c: Indented.
15011
ed0e3d30
VS
150122010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15015
0ea81d98
VS
150162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15019 alpha_mask_size == 0 case.
15020
0cdc2a09
BC
150212010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15022
15023 GRUB shell lexer and parser improvements.
15024
15025 * conf/any-emu.rmk: Build rule updates.
15026 * conf/common.rmk: Likewise.
15027 * conf/i386-coreboot.rmk: Likewise.
15028 * conf/i386-efi.rmk: Likewise.
15029 * conf/i386-ieee1275.rmk: Likewise.
15030 * conf/i386-pc.rmk: Likewise.
15031 * conf/powerpc-ieee1275.rmk: Likewise.
15032 * conf/x86_64-efi.rmk: Likewise.
15033
15034 * configure.ac: Configure check for flex.
15035
15036 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15037 types.
15038 (grub_lexer_param): Struct member updates.
15039 (grub_parser_param): Likewise.
15040 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15041 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15042 (grub_script_lexer_init): Prototype update.
15043 (grub_script_lexer_record_start): Likewise.
15044 (grub_script_lexer_record_stop): Likewise.
15045 (grub_script_lexer_yywrap): New function prototype.
15046 (grub_script_lexer_fini): Likewise.
15047 (grub_script_execute_argument_to_string): Removed by...
15048 (grub_script_execute_argument_to_argv): ...better version.
15049
15050 * script/execute.c (ROUND_UPTO): New macro.
15051 (grub_script_execute_cmdline): Out of memory fixes.
15052 (grub_script_execute_menuentry): Likewise.
15053 (grub_script_execute_argument_to_string): Removed. Update all
15054 users by...
15055 (grub_script_execute_argument_to_argv): ...better version.
15056 * script/function.c (grub_script_function_create): Use
15057 grub_script_execute_argument_to_argv instead of
15058 grub_script_execute_argument_to_string.
15059
15060 * script/lexer.c (check_varstate): Removed.
15061 (check_textstate): Removed.
15062 (grub_script_lexer_record_start): Likewise.
15063 (grub_script_lexer_record_stop): Likewise.
15064 (recordchar): Replaced with...
15065 (grub_script_lexer_record): ...new function.
15066 (nextchar): Removed.
15067 (grub_script_lexer_init): Rewritten.
15068 (grub_script_yylex): Rewritten.
15069 (append_newline): New function.
15070 (grub_script_lexer_yywrap): New function.
15071 (grub_script_lexer_fini): New function.
15072 (grub_script_yyerror): Sets error flag.
15073
15074 * script/yylex.l: New file.
15075 (grub_lexer_yyfree): Wrapper for flex yyffre.
15076 (grub_lexer_yyalloc): Likewise.
15077 (grub_lexer_yyrealloc): Likewise.
15078 * script/parser.y: Refactored.
15079
15080 * script/script.c (grub_script_arg_add): Out of memory fixes.
15081 (grub_script_add_arglist): Likewise.
15082 (grub_script_create_cmdline): Likewise.
15083 (grub_script_create_cmdmenu): Likewise.
15084 (grub_script_add_cmd): Likewise.
15085 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15086 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15087 unnecessary code.
15088
15089 * tests/grub_script_echo1.in: New testcase.
15090 * tests/grub_script_vars1.in: New testcase.
15091 * tests/grub_script_echo_keywords.in: New testcase.
15092
1d63a066
VS
150932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 Remove some redundancy in build system.
15096
15097 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15098 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15099 (TARGET_LDFLAGS): Add -nostdlib.
15100 (TARGET_IMG_LDFLAGS): Likewise.
15101 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15102 anything since mmap isn't available.
15103 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15104 Add util/time.c.
15105 (pkglib_MODULES): Remove reboot.mod.
15106 (reboot_mod_SOURCES): Removed.
15107 (reboot_mod_CFLAGS): Likewise.
15108 (reboot_mod_LDFLAGS): Likewise.
15109 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15110 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15111 (DEFSYMFILES): Add kernel_syms.lst.
15112 (kernel_img_HEADERS): Add common headers.
15113 (symlist.c): New target.
15114 (kernel_syms.lst): Likewise.
15115 (pkglib_MODULES): Add memdisk.mod.
15116 (memdisk_mod_SOURCES): New variable.
15117 (memdisk_mod_CFLAGS): Likewise.
15118 (memdisk_mod_LDFLAGS): Likewise.
15119 (pkglib_MODULES): Add reboot.mod.
15120 (reboot_mod_SOURCES): New variable.
15121 (reboot_mod_CFLAGS): Likewise.
15122 (reboot_mod_LDFLAGS): Likewise.
15123 (pkglib_MODULES): Add date.mod.
15124 (date_mod_SOURCES): New variable.
15125 (date_mod_CFLAGS): Likewise.
15126 (date_mod_LDFLAGS): Likewise.
15127 (pkglib_MODULES): Add datehook.mod.
15128 (datehook_mod_SOURCES): New variable.
15129 (datehook_mod_CFLAGS): Likewise.
15130 (datehook_mod_LDFLAGS): Likewise.
15131 (pkglib_MODULES): Add lsmmap.mod.
15132 (lsmmap_mod_SOURCES): New variable.
15133 (lsmmap_mod_CFLAGS): Likewise.
15134 (lsmmap_mod_LDFLAGS): Likewise.
15135 (pkglib_MODULES): Add boot.mod.
15136 (boot_mod_SOURCES): New variable.
15137 (boot_mod_CFLAGS): Likewise.
15138 (boot_mod_LDFLAGS): Likewise.
15139 * conf/i386-coreboot.rmk: Removed redundant parts.
15140 * conf/i386-ieee1275.rmk: Likewise.
15141 * conf/i386-pc.rmk: Likewise.
15142 * conf/mips-yeeloong.rmk: Likewise.
15143 * conf/mips.rmk: Likewise.
15144 * conf/powerpc-ieee1275.rmk: Likewise.
15145 * conf/sparc64-ieee1275.rmk: Likewise.
15146 * conf/x86_64-efi.rmk: Likewise.
15147 * conf/i386-coreboot.rmk: Moved qemu parts ..
15148 * conf/i386-qemu.rmk: ... here
15149 * conf/i386-efi.rmk: Moved common parts to...
15150 * conf/x86-efi.rmk: ... here.
15151 * conf/i386.rmk: Added modules common to all x86 variants.
15152 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15153 * disk/memdisk.c: Remove grub/machine/kernel.h.
15154 * gensymlist.sh.in: Include symbol.h.
15155 * hook/datehook.c: Correct module name.
15156 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15157 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15158 * include/grub/i386/efi/serial.h: New file.
15159 * include/grub/x86_64/efi/serial.h: Likewise.
15160 * util/time.c: Likewise.
15161 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15162
463ac55f
CK
151632010-03-14 Colin King <colin.king@ubuntu.com>
151642010-03-14 Colin Watson <cjwatson@ubuntu.com>
15165
15166 Shrink the pre-partition-table part of boot.img by eight bytes.
15167
15168 * boot/i386/pc/boot.S (ERR): New macro.
15169 (chs_mode): Use ERR.
15170 (geometry_error): Likewise.
15171 (hd_probe_error): Remove. This is only used once, so we wrwite
15172 it inline instead.
15173 (read_error): Instead of printing read_error_string, just set up
15174 %si and fall through to ...
15175 (error_message): ... this new function, also used by ERR.
15176
08e46ede
CW
151772010-03-14 Colin Watson <cjwatson@ubuntu.com>
15178
15179 Speed up consecutive hostdisk operations on the same device.
15180
15181 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15182 (grub_util_biosdisk_open): Initialise disk->data.
15183 (struct linux_partition_cache): New structure.
15184 (linux_find_partition): Cache partition start positions; these are
15185 expensive to compute on every read and write.
15186 (open_device): Cache open file descriptor in disk->data, so that we
15187 don't have to reopen it and flush the buffer cache for consecutive
15188 operations on the same device.
15189 (grub_util_biosdisk_close): New function.
15190 (grub_util_biosdisk_dev): Set `close' member.
15191
15192 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15193 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15194 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15195 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15196 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15197
4a6d2d06
VS
151982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 Compile parts of grub-emu as modules.
15201
15202 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15203 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15204 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15205 (all-local): Add $(GRUB_EMU).
15206 (install-local): Install $(GRUB_EMU).
15207 (uninstall): Uninstall $(GRUB_EMU).
15208 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15209 * kern/dl.c: Likewise.
15210 * commands/sleep.c: Not include machine/time.h.
15211 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15212 (COMMON_CFLAGS): Likewise.
15213 (sbin_UTILITIES): Remove grub-emu.
15214 (grub_emu_SOURCES): Removed.
15215 (kernel_img_RELOCATABLE): New variable.
15216 (pkglib_PROGRAMS): Add kernel.img.
15217 (kernel_img_SOURCES): New variable
15218 (kernel_img_CFLAGS): Likewise.
15219 (kernel_img_LDFLAGS): Likewise.
15220 (TARGET_NO_STRIP): Likewise.
15221 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15222 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15223 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15224 (grub-emu): New target.
15225 (GRUB_EMU): New variable.
15226 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15227 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15228 * loader/xnu.c: Likewise.
15229 * include/grub/pci.h: Likewise.
15230 * genemuinit.sh: New file.
15231 * genemuinitheader.sh: Likewise.
15232 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15233 Support TARGET_NO_DYNAMIC_MODULES.
15234 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15235 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15236 * disk/loopback.c: Likewise.
15237 * font/font_cmd.c: Likewise.
15238 * partmap/acorn.c: Likewise.
15239 * partmap/amiga.c: Likewise.
15240 * partmap/apple.c: Likewise.
15241 * partmap/gpt.c: Likewise.
15242 * partmap/msdos.c: Likewise.
15243 * partmap/sun.c: Likewise.
15244 * parttool/msdospart.c: Likewise.
15245 * term/gfxterm.c: Likewise.
15246 * video/bitmap.c: Likewise.
15247 * video/readers/jpeg.c: Likewise.
15248 * video/readers/png.c: Likewise.
15249 * video/readers/tga.c: Likewise.
15250 * video/video.c: Likewise.
15251 * util/grub-emu.c (read_command_list): Removed.
15252 (main): Don't call util_init_nls.
15253 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15254 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15255
91fdd2ed
VS
152562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15259 date.mod, datehook.mod.
15260 (datetime_mod_SOURCES): New variable.
15261 (datetime_mod_CFLAGS): Likewise.
15262 (datetime_mod_LDFLAGS): Likewise.
15263 (date_mod_SOURCES): Likewise.
15264 (date_mod_CFLAGS): Likewise.
15265 (date_mod_LDFLAGS): Likewise.
15266 (datehook_mod_SOURCES): Likewise.
15267 (datehook_mod_CFLAGS): Likewise.
15268 (datehook_mod_LDFLAGS): Likewise.
15269 * conf/sparc64-ieee1275.rmk: Likewise.
15270 * lib/ieee1275/datetime.c: New file.
15271
873ccae6
VS
152722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15275 (ieee1275_fb_mod_SOURCES): New variable.
15276 (ieee1275_fb_mod_CFLAGS): Likewise.
15277 (ieee1275_fb_mod_LDFLAGS): Likewise.
15278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15279 New proto.
15280 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15281 (HEAP_MAX_ADDR): Likewise.
15282 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15283 type.
15284 Correct stop condition.
15285 (grub_ieee1275_devices_iterate): New function.
15286 * video/ieee1275.c: New file.
15287
601c97c0
VS
152882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15291
15292 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15293 as scratch.
15294 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15295 SCRATCH_PAD_DISKBOOT as scratch.
15296 (bootit): Pass Openfirmware pointer in %o4.
15297 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15298 of 0x200000.
15299 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15300 with util/grub-mkrawimage.c.
15301 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15302 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15303 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15304 (grub_aout_load) [GRUB_UTIL]: Likewise.
15305 * include/grub/kernel.h (grub_modules_get_end): New proto.
15306 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15307 (SCRATCH_PAD_BOOT): New definition.
15308 (SCRATCH_PAD_DISKBOOT): Likewise.
15309 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15310 * include/grub/sparc64/ieee1275/ieee1275.h
15311 (grub_ieee1275_original_stack): New variable
15312 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15313 New definition
15314 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15315 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15316 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15317 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15318 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15319 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15320 (grub_platform_image_format_t): New type.
15321 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15322 * kern/main.c (grub_modules_get_end)
15323 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15324 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15325 (codestart): Switch stacks.
15326 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15327 variable.
15328 (grub_heap_init): Use grub_modules_get_end.
15329 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15330 stack.
15331 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15332 (main): Likewise.
15333 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15334
d68b491e
TG
153352010-03-14 Thorsten Glaser <tg@mirbsd.org>
15336
15337 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15338
4e02ed50
MK
153392010-03-08 Matt Kraai <kraai@ftbfs.org>
15340
15341 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15342 bug #559005).
15343
1f15fc1e
VS
153442010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 * genmoddep.awk: Output all missing symbols and not only first.
15347
fce5d8ff
VS
153482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * NEWS: Put the date of 1.98 release.
15351
d1e8a02f
VS
153522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15355 ft2build.h.
15356
696fd607
VS
153572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15360 completition in the middle of string.
15361
33e2e6f3
VS
153622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * util/grub-mkrescue.in: Use mktemp with explicit template.
15365
b1f6d291
VS
153662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15369
2ac227c7
VS
153702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15373 right pointer.
15374
8f9a632b
VS
153752010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Fix FreeBSD compilation.
15378
15379 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15380 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15381
60b03859
VS
153822010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15385
48a5a769
VS
153862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15389
3ab4bd77
VS
153902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15393
d116e0d8
RM
153942010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15395
15396 Support relative image path in theme file.
15397
15398 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15399 (image_set_property): Handle theme_dir and relative path.
15400
c7ef54aa
VS
154012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 * configure.ac: Alias amd64 to x86_64.
15404
fcee14ed
VS
154052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 * NEWS: mention multiboot on EFI.
15408
d0780363
VS
154092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * kern/main.c (grub_load_modules): Handle errors from init functions of
15412 embeded modules.
15413
41168ea4
VS
154142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * normal/autofs.c (autoload_fs_module): Handle errors.
15417
b54d93ac
VS
154182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15419
15420 Disable linux.mod on qemu-mips since it's not functional and leads
15421 to compilation failure.
15422
15423 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15424 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15425 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15426 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15427 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15428 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15429 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15430 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15431 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15432 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15433 Reported by: BVK Chaitanya
15434
fc8345da
JU
154352010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15436
15437 * INSTALL: Add gettext as a dependency and add qemu to a new section
15438 "Prerequisites for make-check".
15439
4760f979
CF
154402010-03-04 Christian Franke <franke@computer.org>
15441
15442 * util/grub-pe2elf.c: Add missing include "progname.h".
15443
f209b5b2
VS
154442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15445
15446 * normal/crypto.c (read_crypto_list): Fix a typo.
15447 Reported by: Seth Goldberg.
15448
b4b7be98
VS
154492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15452 Reported by: Seth Goldberg.
b4b7be98 15453
c0ee0385
VS
154542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15457 ascii.bitmaps.
15458
a8efbf64
VS
154592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15462 Reported by: Seth Goldberg.
a8efbf64 15463
08dcd913
VS
154642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * util/i386/efi/grub-install.in: Copy gettext files.
15467
c4d0b332
VS
154682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15471
c6f2fe52
VS
154722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 Wait for user entry basing on presence of output rather than on errors.
15475
15476 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15477 (grub_install_newline_hook): Likewise.
15478 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15479 * normal/menu.c (show_menu): Check line_counter to determine presence
15480 of output.
15481 * normal/term.c (grub_normal_line_counter): New variable.
15482 (grub_normal_get_line_counter): New function.
15483 (grub_install_newline_hook): Likewise.
15484
5382b1e4
VS
154852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15488
5519963b
VS
154892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * configure.ac: Update version to 1.98.
15492
72b28631
VS
154932010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * util/grub.d/10_linux.in (linux_entry): Don't default to
15496 gfxpayload=keep if Linux doesn't support video handover.
15497
c140a180
VS
154982010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 Don't compile video modules on yeeloong since video subsystem is part
15501 of kernel.
15502
15503 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15504 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15505 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15506 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15507 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15508 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15509 * include/grub/bitmap_scale.h: Likewise.
15510 * include/grub/bufio.h: Likewise.
15511 * include/grub/font.h: Likewise.
15512 * include/grub/gfxterm.h: Likewise.
15513 * include/grub/video.h: Likewise.
15514 * include/grub/vbe.h: Don't include video_fb.h.
15515 * video/i386/pc/vbe.c: Include video_fb.h.
15516 * commands/i386/pc/vbetest.c: Include video.h.
15517
a0ca21c2
CW
155182010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15519
15520 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15521 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15522 default entry if GRUB_SAVEDEFAULT=true. This allows using
15523 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15524 saving a new default on every boot.
15525
4a8a763c
VS
155262010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15529 * normal/term.c (read_terminal_list): Likewise.
15530 * normal/main.c (grub_normal_init_page): Likewise.
15531 (grub_normal_read_line_real): Likewise.
15532
607ffde2
VS
155332010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15536 memory leak.
15537 Reported by: Seth Goldberg.
15538
2b8fa975
CW
155392010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15540
15541 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15542 duplicate declaration of `start'.
15543
618307dd
VS
155442010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15547 filename.
15548 Reported by: Georgy Buranov
15549
7dd05b96 155502010-02-20 Carles Pina i Estany <carles@pina.cat>
15551
15552 * util/grub-mkrawimage.c (usage): Change string formatting to
15553 improve gettext.
15554
d1484a42
MRA
155552010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15556
15557 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15558 backspace keys.
15559
42b1d186
VS
155602010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15563 Reported by: Michael Suchanek.
15564
155652010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
15566
15567 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15568 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15569
d9f31a41
VS
155702010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 Remove any reference to non-free fonts.
15573
15574 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15575 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15576 uses non-free components.
15577 * font/font.c (grub_font_get_name): Remove example name.
15578 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15579 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15580 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15581 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15582
2793c71e
GB
155832010-02-16 Georgy Buranov <gburanov@gmail.com>
15584
15585 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15586
402e3779
VS
155872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15590 Double divisor.
15591 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15592 features.
15593 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15594
0dd1e0dd
VS
155952010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15598
6fa7cfce
ST
155992010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15600
15601 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15602 * docs/grub.texi (Command-line and menu entry commands): Document play
15603 command.
15604
37c8483b
ST
156052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15606
15607 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15608 parse arguments as inline tempo and notes. Move code for playing notes
15609 to...
15610 (play): ... new function.
15611
14da0fb7
ST
156122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15613
15614 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15615 grub_uint16_t instead of short.
15616 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15617 disk from little endian to cpu endianness.
15618
04459e70
ST
156192010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15620
15621 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15622 GRUB_TICKS_PER_SECOND instead of 120.
15623
a0876943
VS
156242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15627 escape sequence after \e.
15628
e29f95dc
VS
156292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15632 non-ASCII characters.
15633
d27859b2
VS
156342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15637 set root in single quotes to prevent \, from being unescaped.
15638
bc028f2f
VS
156392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 Prevent unknown commands from stopping menuentry execution.
15642
15643 * script/execute.c (grub_script_execute_cmdline): Print error after
15644 unknown command.
15645
095f5f82
VS
156462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15649 Reported by: Pavel Pisa.
15650
8c717950
VS
156512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15654
904935c3
VS
156552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 Merge grub_ieee1275_map_physical into grub_map and rename to
15658 grub_ieee1275_map
15659
15660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15661 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15662 Remove.
15663 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15664 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15665 necessary.
15666 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15667
5b59a4e3
VS
156682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15671 opening and not after.
15672
69e137e8
VS
156732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15676 constants.
15677
2c0fcc36
VS
156782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15681 (alloc_phys): Use ALIGN_UP instead of align_addr.
15682
8c6052ce
VS
156832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15686
17cec782
VS
156872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15690
e0128bbd
VS
156912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15694 verbose dprintf.
15695
ca62070b
VS
156962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Fix over-4GiB seek on sparc64.
15699
15700 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15701 Replace pos_i and pos_lo with pos. All users updated.
15702 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15703 New constant.
15704 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15705 Likewise.
15706 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15707 and pos_lo.
15708
bdca2607
VS
157092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * util/grub-mkrawimage.c (main): Call set_program_name.
15712
da278c4d
VS
157132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 Properly align 64-bit targets.
15716
15717 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15718 (generate_image): Use ALIGN_ADDR.
15719
b274d734
VS
157202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 Properly create cross-endian images.
15723
15724 * include/grub/types.h (grub_host_to_target_addr): New macro
15725 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15726
82da2062
VS
157272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15730
7cae4377
VS
157312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15734
15735 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15736 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15737 (grub_linux_boot): Divide by 64K when on VESA.
15738
65a533e7
VS
157392010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 Support GRUB_GFXPAYLOAD_LINUX.
15742
15743 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15744 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15745
dd01d397
VS
157462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15749 to show messages instead of discarding them.
15750 Process errors after executing command and not before. Keep old method
15751 too as precaution.
15752
660960d6
VS
157532010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * configure.ac: Check for ft2build.h.
15756
62509f04
VS
157572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15760
473df63d
VS
157612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 * genkernsyms.sh.in: Use TARGET_CC.
15764
c98d2a13
CW
157652010-02-07 Colin Watson <cjwatson@ubuntu.com>
15766
15767 * NEWS: Update.
15768
6e14234c
VS
157692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
15772 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15773 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 15774
b255e9cf
YB
157752010-02-07 Yves Blusseau <blusseau@zetam.org>
15776
6e14234c 15777 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 15778
98e6959d
VS
157792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 Fix warnings in grub-emu when compiling with maximum warning options.
15782
15783 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15784 (grub_arch_modules_addr): Return 0 and not NULL.
15785 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 15786 (xstrdup): Use newstr instead of dup.
f88d801b
VS
15787 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15788 of disk to dsk to avoid shadowing.
74e4934e
VS
15789 (find_free_slot): Fix prototype.
15790 * util/getroot.c (grub_util_is_dmraid): Make static.
15791 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15792 Add missing prototype.
15793 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 15794
74e31b5c
VS
157952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15798 appropriately.
15799
6b2ad14b
VS
158002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15803 code out.
15804
8f891adc
VS
158052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15808 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15809 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15810 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15811 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15812 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15813
74b45184
VS
158142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * include/grub/err.h (grub_err_printf): Don't export.
15817
a4bced77
VS
158182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15821
007d0695
VS
158222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15825 * kern/misc.c (grub_gettext_dummy): Make static.
15826
b6c0d9c2
VS
158272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15830 by non-valid ones.
15831 * kern/term.c (grub_putchar): Likewise.
15832
f51a90d0
VS
158332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15836 buggy hook call and memory leak.
15837
6846cec5
VS
158382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15841
468d69fe
VS
158422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15845
51906b8c
VS
158462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15849 modevar.
15850 Return grub_errno on allocation error.
15851
09706ce5
VS
158522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15853
15854 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15855
911df80c
YB
158562010-02-06 Yves Blusseau <blusseau@zetam.org>
15857
15858 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15859 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15860
3746a6bc
VS
158612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15864 non-pxe disk.
15865 (grub_pxefs_open): Likewise.
15866
09706ce5
VS
158672010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15868
15869 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15870 * util/grub.d/10_kfreebsd.in: Likewise.
15871 * util/grub.d/10_linux.in: Likewise.
15872
7cc192d9
VS
158732010-02-06 Colin D Bennett <colin@gibibit.com>
15874
15875 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15876 (gfxmenu_mod_SOURCES): New variable.
15877 (gfxmenu_mod_CFLAGS): Likewise.
15878 (gfxmenu_mod_LDFLAGS): Likewise.
15879 * include/grub/term.h (grub_term_set_current_output): Declare
15880 argument as const.
15881 * docs/gfxmenu-theme-example.txt: New file.
15882 * gfxmenu/gfxmenu.c: Likewise.
15883 * gfxmenu/gui_box.c: Likewise.
15884 * gfxmenu/gui_canvas.c: Likewise.
15885 * gfxmenu/gui_circular_progress.c: Likewise.
15886 * gfxmenu/gui_image.c: Likewise.
15887 * gfxmenu/gui_label.c: Likewise.
15888 * gfxmenu/gui_list.c: Likewise.
15889 * gfxmenu/gui_progress_bar.c: Likewise.
15890 * gfxmenu/gui_string_util.c: Likewise.
15891 * gfxmenu/gui_util.c: Likewise.
15892 * gfxmenu/icon_manager.c: Likewise.
15893 * gfxmenu/model.c: Likewise.
15894 * gfxmenu/named_colors.c: Likewise.
15895 * gfxmenu/theme_loader.c: Likewise.
15896 * gfxmenu/view.c: Likewise.
15897 * gfxmenu/widget-box.c: Likewise.
15898 * include/grub/gfxmenu_model.h: Likewise.
15899 * include/grub/gfxmenu_view.h: Likewise.
15900 * include/grub/gfxwidgets.h: Likewise.
15901 * include/grub/gui.h: Likewise.
15902 * include/grub/gui_string_util.h: Likewise.
15903 * include/grub/icon_manager.h: Likewise.
15904
159052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 Agglomerate scrolling in gfxterm.
15908
15909 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15910 (grub_virtual_screen_setup): Initialise 'total_screen'.
15911 (write_char): Split to ...
15912 (paint_char): ... this ...
15913 (write_char): ... and this.
15914 (paint_char): Handle delayed scrolling.
15915 (draw_cursor): Likewise.
15916 (scroll_up): Split to ...
15917 (real_scroll): ... this ...
15918 (scroll_up): ... and this.
15919 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15920 characters.
15921 (grub_gfxterm_refresh): Call real_scroll.
15922
159232010-02-06 Colin D Bennett <colin@gibibit.com>
15924
15925 * include/grub/misc.h (grub_iscntrl): New inline function.
15926 (grub_isalnum): Likewise.
15927 (grub_strtol): Likewise.
15928
159292010-02-06 Colin D Bennett <colin@gibibit.com>
15930
15931 * normal/menu_text.c (get_entry_number): Move from here ...
15932 * normal/menu.c (get_entry_number): ... moved here.
15933 * include/grub/menu.h (grub_menu_get_default_entry_index):
15934 New prototype.
15935 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15936 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15937 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15938 (grub_menu_viewer_should_return): Likewise.
15939 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15940 * normal/menu_text.c (run_menu): Enable menu switching.
15941 * normal/menu_viewer.c (should_return): New variable.
15942 (menu_viewer_changed): Likewise.
15943 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15944 (grub_menu_viewer_should_return): New function.
15945 (menuviewer_write_hook): Likewise.
15946 (grub_menu_viewer_init): Likewise.
15947
159482010-02-06 Colin D Bennet <colin@gibibit.com>
159492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 Support for gfxterm in a window.
15952
15953 * include/grub/gfxterm.h: New file.
15954 * include/grub/video.h (struct grub_video_rect): New declaration.
15955 (grub_video_rect_t): Likewise.
15956 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15957 (refcount): New variable.
15958 (render_target): Likewise.
15959 (window): Likewise.
15960 (repaint_callback): Likewise.
15961 (grub_virtual_screen_setup): Use 'render_target'.
15962 (init_window): New function.
15963 (grub_gfxterm_init_window): Likewise.
15964 (grub_gfxterm_init): Check reference counter.
15965 Use init_window.
15966 (destroy_window): New function.
15967 (grub_gfxterm_destroy_window): Likewise.
15968 (grub_gfxterm_fini): Check reference counter.
15969 Use destroy_window.
15970 (redraw_screen_rect): Restore viewport.
15971 Use 'render_target' and 'window'.
15972 Call 'repaint_callback'.
15973 (write_char): Use 'render_target'.
15974 (draw_cursor): Likewise.
15975 (scroll_up): Restore viewport.
15976 Use 'render_target' and 'window'.
15977 Call 'repaint_callback'.
15978 (grub_gfxterm_cls): Likewise.
15979 (grub_gfxterm_refresh): Use 'window'.
15980 (grub_gfxterm_set_repaint_callback): New function.
15981 (grub_gfxterm_background_image_cmd): Use 'window'.
15982 (grub_gfxterm_get_term): New function.
15983 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15984
159852010-02-06 Colin D Bennett <colin@gibibit.com>
15986
15987 Bitmap scaling support.
15988
15989 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15990 (bitmap_scale_mod_SOURCES): New variable.
15991 (bitmap_scale_mod_CFLAGS): Likewise.
15992 (bitmap_scale_mod_LDFLAGS): Likewise.
15993 * include/grub/bitmap_scale.h: New file.
15994 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15995 (background_image_cmd_options): New variable.
15996 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15997 (cmd): Rename and change type to ...
15998 (background_image_cmd_handle): ... this. All users updated.
15999 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16000 * video/bitmap_scale.c: New file.
16001
160022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 SDL support.
16005
16006 * Makefile.in (LIBSDL): New variable.
16007 (enable_grub_emu_sdl): Likewise.
16008 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16009 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16010 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16011 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16012 * util/sdl.c: New file.
16013
160142010-02-06 Colin D Bennett <colin@gibibit.com>
160152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Double buffering support.
16018
16019 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16020 * include/grub/video.h: Update comment.
16021 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16022 New type.
16023 (grub_video_fb_doublebuf_blit_init): New prototype.
16024 * term/gfxterm.c (scroll_up): Support double buffering.
16025 (grub_gfxterm_refresh): Likewise.
16026 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16027 (grub_video_fb_doublebuf_blit_init): Likewise.
16028 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16029 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16030 'displayed_page', 'render_page' and 'update_screen'.
16031 (grub_video_vbe_fini): Free offscreen buffer.
16032 (doublebuf_pageflipping_commit): New function.
16033 (doublebuf_pageflipping_update_screen): Likewise.
16034 (doublebuf_pageflipping_init): Likewise.
16035 (double_buffering_init): Likewise.
16036 (grub_video_vbe_setup): Enable doublebuffering.
16037 (grub_video_vbe_swap_buffers): Implement.
16038 (grub_video_vbe_set_active_render_target): Handle double buffering.
16039 (grub_video_vbe_get_active_render_target): Likewise.
16040 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16041 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16042 (grub_video_vbe_enable_double_buffering): Likewise.
16043 (grub_video_vbe_swap_buffers): Use update_screen.
16044 (grub_video_set_mode): Use double buffering.
16045
160462010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16047
16048 * maintainance/gentrigtables.py: Remove.
16049 * lib/trig.c: Likewise.
16050
16051 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16052
16053 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16054 `trigtables.c'.
16055 (trigtables.c): New rule.
16056 (gentrigtables): Likewise.
16057 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16058
160592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16060
16061 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16062 integer constants.
16063
160642010-02-06 Colin D Bennet <colin@gibibit.com>
16065
16066 Trigonometry support.
16067
16068 * include/grub/trig.h: New file.
16069 * lib/trig.c: Likewise.
16070 * maintainance/gentrigtables.py: Likewise.
16071 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16072 (trig_mod_SOURCES): New variable.
16073 (trig_mod_CFLAGS): Likewise.
16074 (trig_mod_LDFLAGS): Likewise.
16075
5562834e
VS
160762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16079 disk devices.
16080
4f8528fc
VS
160812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16084 error.
16085
2b4068e9
VS
160862010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * util/hostdisk.c (open_device): Don't use partition device when reading
16089 before the partition.
16090 (grub_util_biosdisk_read): Don't read from partition and before the
16091 partition in single operation.
16092 (grub_util_biosdisk_write): Don't write to partition and before the
16093 partition in single operation.
16094
399f6e4d
TL
160952010-02-03 Torsten Landschoff <torsten@debian.org>
16096
16097 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16098 last sectors.
16099
996649b0
VS
161002010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16101
16102 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16103 CDROM reads.
16104 (grub_biosdisk_write): Refuse to write to CDROM.
16105
3b205d4d
VS
161062010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16109
61e89d9d
VS
161102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16111
16112 * font/font.c (find_glyph): Check that bmp_idx is available before
16113 using it.
16114 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16115 with (font == NULL).
16116
bf7fcba2
CS
161172010-01-28 Christian Schmitt <chris@ilovelinux.de>
16118
16119 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16120
f45d2663
BC
161212010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16122
16123 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16124 * util/grub-script-check.c (getline): Fix empty lines case.
16125
ec1444e6
RM
161262010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16127
16128 * Makefile.in (check): Exit with fail status when one of the tests
16129 fails.
16130 * tests/example_functional_test.c (example_test): Fix reversed assert.
16131 * tests/example_unit_test.c (example_test): Likewise.
16132
2e1cb9bb
CW
161332010-01-28 Colin Watson <cjwatson@ubuntu.com>
16134
16135 * util/grub.d/10_linux.in: This script does not use any of the
16136 contents of gettext.sh, only the external command `gettext', so stop
16137 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16138 the same prefix as GRUB.)
16139 * util/grub.d/10_kfreebsd.in: Likewise.
16140
63533ab0
VS
161412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16144 of the line.
16145
989e1f93
VS
161462010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16149 last sectors.
16150
e709ebe2
VS
161512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16154 having a 4KiB and not 32KiB buffer size.
16155
27dea7ed
RM
161562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16157
16158 * util/hostfs.c: Include `<errno.h>'.
16159 (grub_hostfs_read): Handle errors from fseeko() and fread().
16160
67667b9c
RM
161612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16162
16163 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16164 loop when using read hooks on files whose size isn't sector-aligned.
16165
c294d9d8
RM
161662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16167
16168 Remove unused parameter.
16169
16170 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16171 (grub_iso9660_open): Remove initialization of `data->length'.
16172
af75a9f1
RM
161732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16174
16175 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16176 memleak conditions.
16177
254e2ce5 161782010-01-27 Carles Pina i Estany <carles@pina.cat>
16179
16180 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16181 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16182
b510928c 161832010-01-26 Carles Pina i Estany <carles@pina.cat>
16184
16185 * util/bin2h.c (usage): Fix warning (space after backslash).
16186
aa2f9dd2 161872010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16188
16189 * font/font.c: Include `grub/fontformat.h.
16190 Remove font file format constants.
16191 (grub_font_load): Use the new macros.
16192 * include/grub/fontformat.h: New file.
16193 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16194 (write_font_pf2): Use the new macros.
16195
94e7e712
RM
161962010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16197
16198 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16199 does.
16200
3973a59a
RM
162012010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16202
16203 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16204
16205 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16206 (_start): Macroify `0x7F'.
16207
16208 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16209 (make_install_device): Use "(pxe)" as fallback prefix when booting
16210 via PXE.
16211
42e0cba3
GS
162122010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * configure.ac: Reset LIBS after check for libgcc symbols.
16215
847effd8
CW
162162010-01-25 Colin Watson <cjwatson@ubuntu.com>
16217
16218 * util/hostdisk.c (open_device): Add trailing newline to debug
16219 message.
16220
ea4a7e35
GS
162212010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16222
16223 * configure.ac: Check for `limits.h'.
16224 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16225
67951a53
RM
162262010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16227
16228 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16229 capitalize error strings.
16230
c273d4ce
ST
162312010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16232
16233 * util/grub.d/10_hurd.in: Add a recovery mode.
16234
69be5b74
VS
162352010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16236
16237 * configure.ac: Check for libgcc symbols with -nostdlib.
16238
fc9e5810
BC
162392010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16240
16241 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16242
4b358c0a
VS
162432010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16246 stack since heap may be unavailable at that point.
16247 (grub_ofconsole_gotoxy): Likewise.
16248
454fcd1c
VS
162492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 * configure.ac: Check for _restgpr_14_x.
16252 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16253 and _savegpr_* prototypes.
16254
566863ca
RM
162552010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16256
16257 Use generic grub_reboot() for i386-efi.
16258
16259 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16260 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16261 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16262
bf86e59a
VS
162632010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16266 presence of "prefix" variable as it breaks when normal.mod is
16267 embedded.
16268
d645e0f8
VS
162692010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16272 stack since heap is unavailable at that point.
16273
f9ab2e25
VS
162742010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16277 (grub_freebsd_bootinfo): Rewritten.
16278 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16279
01fc7054
VS
162802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16281
16282 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16283
caab4fd6
RM
162842010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16285
16286 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16287 domain now.
16288
67eb1427
FZ
162892010-01-20 Felix Zielcke <fzielcke@z-51.de>
16290
16291 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16292 around for handling "/" to the correct fix. Fix a memory leak. Use
16293 xstrdup instead of strdup.
16294
a9ed4ff3
VS
162952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16298
162992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
16300
16301 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16302
16303 * font/font.c (struct grub_font): New member 'bmp_idx'.
16304 (font_init): Initialise 'bmp_idx'.
16305 (load_font_index): Fill 'bmp_idx'.
16306 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16307
48209f4f
VS
163082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16311 unnecessary calls.
16312
9f0a4bb7
VS
163132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Move context handling out of the kernel.
16316
16317 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16318 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16319 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16320 * conf/i386-efi.rmk: Likewise.
16321 * conf/i386-ieee1275.rmk: Likewise.
16322 * conf/i386-pc.rmk: Likewise.
16323 * conf/powerpc-ieee1275.rmk: Likewise.
16324 * conf/sparc64-ieee1275.rmk: Likewise.
16325 * conf/x86_64-efi.rmk: Likewise.
16326 * include/grub/env.h: Include grub/menu.h.
16327 (grub_env_var_type): Removed.
16328 (grub_env_var): Replaced field 'type' with 'global'.
16329 (grub_env_find): New prototype.
16330 (grub_env_context_open): Remove EXPORT_FUNC.
16331 (grub_env_context_close): Likewise.
16332 (grub_env_export): Likewise.
16333 (grub_env_set_data_slot): Removed.
16334 (grub_env_get_data_slot): Likewise.
16335 (grub_env_unset_data_slot): Likewise.
16336 (grub_env_unset_menu): New prototype.
16337 (grub_env_set_menu): Likewise.
16338 (grub_env_get_menu): Likewise.
16339 * include/grub/env_private.h: New file.
16340 * include/grub/normal.h (grub_context_init): New prototype.
16341 (grub_context_fini): Likewise.
16342 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16343 * normal/context.c (grub_cmd_export): ... to here.
16344 * kern/env.c: Include env_private.h.
16345 (HASHSZ): Moved to include/grub/env_private.h.
16346 (grub_env_context): Likewise.
16347 (grub_env_sorted_var): Likewise.
16348 (current_context): Renamed from this ...
16349 (grub_current_context): ...to this. 'static' removed. All users updated.
16350 (grub_env_find): Removed 'static'.
16351 (grub_env_context_open): Moved to normal/context.c.
16352 (grub_env_context_close): Likewise.
16353 (grub_env_export): Likewise.
16354 (mangle_data_slot_name): Removed.
16355 (grub_env_set_data_slot): Likewise.
16356 (grub_env_get_data_slot): Likewise.
16357 (grub_env_unset_data_slot): Likewise.
16358 * kern/main.c (grub_set_root_dev): Don't export root.
16359 It will be done later.
16360 (grub_main): Don't export prefix.
16361 It will be done later.
16362 * normal/context.c: New file.
16363 * normal/main.c (free_menu): Use grub_env_unset_menu.
16364 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16365 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16366 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16367 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16368
8dd35b8c
VS
163692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 setpci support.
16372
16373 * commands/setpci.c: New file.
16374 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16375 (setpci_mod_SOURCES): New variable.
16376 (setpci_mod_CFLAGS): Likewise.
16377 (setpci_mod_LDFLAGS): Likewise.
16378
449193d5
VS
163792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 Byte-addressable PCI configuration space.
16382
16383 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16384 dword address.
16385 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16386 GRUB_PCI_REG_CACHELINE.
16387 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16388 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16389 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16390 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16391 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16392 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16393 grub_pci_make_address.
16394 (lock_rom_area): Likewise.
16395 * commands/lspci.c (grub_lspci_iter): Use macroses
16396 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16397 of grub_pci_make_address.
16398 * disk/ata.c (grub_ata_pciinit): Likewise.
16399 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16400 (GRUB_PCI_REG_VENDOR): Likewise.
16401 (GRUB_PCI_REG_DEVICE): Likewise.
16402 (GRUB_PCI_REG_COMMAND): Likewise.
16403 (GRUB_PCI_REG_STATUS): Likewise.
16404 (GRUB_PCI_REG_REVISION): Likewise.
16405 (GRUB_PCI_REG_CLASS): Likewise.
16406 (GRUB_PCI_REG_CACHELINE): Likewise.
16407 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16408 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16409 (GRUB_PCI_REG_BIST): Likewise.
16410 (GRUB_PCI_REG_ADDRESSES): Likewise.
16411 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16412 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16413 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16414 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16415 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16416 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16417 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16418 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16419 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16420 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16421 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16422 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16423 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16424 (GRUB_PCI_REG_MIN_GNT): Likewise.
16425 (GRUB_PCI_REG_MAX_LAT): Likewise.
16426 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16427 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16428 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16429 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16430 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16431 space.
16432
96d73208
RM
164332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16434
16435 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16436 can be reliably determined to be supported.
16437
d4484482
RM
164382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16439
16440 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16441 that VESA is supported.
16442 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16443 supported.
16444
00308ecf
VS
164452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16448
f66924a4
RM
164492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16450
16451 * util/misc.c (make_system_path_relative_to_its_root): Work around
16452 special-casing of "/", as previous incarnation of this routine did.
16453
cbca0ada
VS
164542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16455
16456 Fix any-emu compilation.
16457
16458 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16459 * grub_bin2h_SOURCES: New variable.
16460
34a66d99
RM
164612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16462
16463 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16464
94fabf58
RM
164652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16466
16467 * util/grub.d/00_header.in: Fix handling of locale_dir.
16468
02cf98ca
VS
164692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16472 as possible unifont location (Gentoo).
16473 Reported by: Alexander Brüning
16474
327dbcd7
VS
164752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 Don't try to generate lists for kernel.img.
16478
16479 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16480 (pkglib_MODULES): Remove kernel.img.
16481 (kernel_img_EXPORTS): Removed.
16482 (kernel_img_RELOCATABLE): New variable.
16483 * conf/x86_64-efi.rmk: Likewise.
16484 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16485
ca467290
VS
164862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16489 grub_xasprintf or grub_snprintf.
16490 (grub_vsprintf): Likewise.
16491 (grub_snprintf): New proto.
16492 (grub_vsnprintf): Likewise.
16493 (grub_xasprintf): Likewise.
16494 (grub_xvasprintf): Likewise.
16495 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16496 (grub_sprintf): Removed.
16497 (grub_vsnprintf): New function.
16498 (grub_snprintf): Likewise.
16499 (grub_xvasprintf): Likewise.
16500 (grub_xasprintf): Likewise.
16501 (grub_vsprintf): Renamed to ...
16502 (grub_vsnprintf_real): ...this. New argument max_len.
16503
aca655fd
BC
165042010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16505
16506 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16507 fix grub-script-check warning.
16508
7ee92c32
VS
165092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 * include/grub/font.h (grub_font_load): Fix prototype.
16512
f80927ca
VS
165132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16516
119c50ea
VS
165172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 * include/grub/x86_64/at_keyboard.h: New file.
16520
47d5f3c1
VS
165212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16522
16523 * loader/mips/linux.c: Include missing grub/i18n.h.
16524
55ff5266
RM
165252009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16526
16527 * normal/menu.c (notify_execution_failure): Clarify error message.
16528
c893cc87
RM
165292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16530
16531 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16532 return value (and revert all return statements). Update users.
16533
917dd370
CW
165342010-01-20 Dan Merillat <debian@dan.merillat.org>
16535
16536 * kern/device.c (grub_device_iterate): Allocate new part_ent
16537 structure based on sizeof (*p) rather than sizeof (p->next), to
16538 account for structure padding.
16539
16540 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16541 disk is NULL, which might happen for LVM physical volumes with no
16542 LVM signature.
16543
d4a4ee57
RM
165442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16545
16546 * loader/mips/linux.c (grub_cmd_initrd)
16547 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16548
165492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16550
16551 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16552 (grub_video_video_init, grub_video_bitmap_init)
16553 (grub_font_manager_init, grub_term_gfxterm_init)
16554 (grub_at_keyboard_init): New extern declarations.
16555 (grub_machine_init): Initialize gfxterm and at_keyboard.
16556
16557 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16558
16559 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16560 `gfxterm.mod' into core image.
16561
16562 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16563 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16564 (kernel_img_FORMAT): Copy to ...
16565
16566 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16567 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16568 (kernel_img_FORMAT): ... here, and ...
16569
16570 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16571 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16572 (kernel_img_FORMAT): ... here.
16573
16574 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16575 and input (at_keyboard) terminals in kernel.
16576 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16577
16578 (pkglib_MODULES): Remove `pci.mod'.
16579 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16580 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16581 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16582 (at_keyboard_mod_LDFLAGS): Remove variables.
16583
165842010-01-11 Felix Zielcke <fzielcke@z-51.de>
16585
16586 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16587
165882009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16589
16590 * include/grub/mips/libgcc.h: Only export symbols for functions
16591 that libgcc provides.
16592
165932009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 MIPS support.
16596
16597 * bus/bonito.c: New file.
16598 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16599 GRUB_PCI_NUM_DEVICES.
16600 * term/i386/pc/serial.c: Move to ...
16601 * term/serial.c: ... here. All users updated.
16602 * util/i386/pc/grub-mkimage.c: Move to ...
16603 * util/grub-mkrawimage.c: ... here. All users updated.
16604 * term/i386/pc/at_keyboard.c: Move to ...
16605 * term/at_keyboard.c: ... here. All users updated.
16606 * conf/mips-qemu-mips.rmk: New file.
16607 * conf/mips-yeeloong.rmk: Likewise.
16608 * conf/mips.rmk: Likewise.
16609 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16610 mipsel-qemu-mips.
16611 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16612 to port addresses.
16613 (grub_ata_pciinit): Support CS5536.
16614 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16615 * font/font_cmd.c (loadfont_command): Open file before passing it to
16616 grub_font_load.
16617 (pseudo_file_read): New function.
16618 (pseudo_file_close): Likewise.
16619 (pseudo_fs): New structure.
16620 (load_font_module): New function.
16621 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16622 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16623 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16624 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16625 * include/grub/i386/at_keyboard.h: Split into ...
16626 * include/grub/at_keyboard.h: ... this ...
16627 * include/grub/i386/at_keyboard.h: ... and this.
16628 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16629 New prototype.
16630 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16631 updated.
16632 (grub_elf64_size): Likewise.
16633 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16634 filename.
16635 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16636 * include/grub/i386/coreboot/serial.h: Rewritten.
16637 * include/grub/i386/ieee1275/serial.h: Include
16638 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16639 * include/grub/i386/pc/serial.h: Moved from here ...
16640 * include/grub/serial.h: ... to here. All users updated.
16641 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16642 (GRUB_PCI_NUM_BUS): Likewise.
16643 (GRUB_PCI_NUM_DEVICES): Likewise.
16644 (grub_pci_device_map_range): Add missing volatile keyword.
16645 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16646 * include/grub/mips/at_keyboard.h: New file.
16647 * include/grub/mips/cache.h: Likewise.
16648 * include/grub/mips/io.h: Likewise.
16649 * include/grub/mips/kernel.h: Likewise.
16650 * include/grub/mips/libgcc.h: Likewise.
16651 * include/grub/mips/pci.h: Likewise.
16652 * include/grub/mips/qemu-mips/boot.h: Likewise.
16653 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16654 * include/grub/mips/qemu-mips/loader.h: Likewise.
16655 * include/grub/mips/qemu-mips/memory.h: Likewise.
16656 * include/grub/mips/qemu-mips/serial.h: Likewise.
16657 * include/grub/mips/qemu-mips/time.h: Likewise.
16658 * include/grub/mips/relocator.h: Likewise.
16659 * include/grub/mips/time.h: Likewise.
16660 * include/grub/mips/types.h: Likewise.
16661 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16662 * include/grub/mips/yeeloong/boot.h: Likewise.
16663 * include/grub/mips/yeeloong/kernel.h: Likewise.
16664 * include/grub/mips/yeeloong/loader.h: Likewise.
16665 * include/grub/mips/yeeloong/memory.h: Likewise.
16666 * include/grub/mips/yeeloong/pci.h: Likewise.
16667 * include/grub/mips/yeeloong/serial.h: Likewise.
16668 * include/grub/mips/yeeloong/time.h: Likewise.
16669 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16670 * kern/elf.c (grub_elf32_size): New parameter. All users
16671 updated.
16672 (grub_elf64_size): Likewise.
16673 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16674 Load modules before saying "Welcome to GRUB!".
16675 Call grub_refresh after saying "Welcome to GRUB!".
16676 * kern/mips/cache.S: New file.
16677 * kern/mips/cache_flush.S: Likewise.
16678 * kern/mips/dl.c: Likewise.
16679 * kern/mips/init.c: Likewise.
16680 * kern/mips/qemu-mips/init.c: Likewise.
16681 * kern/mips/startup.S: Likewise.
16682 * kern/mips/yeeloong/init.c: Likewise.
16683 * kern/term.c (grub_putcode): Handle NULL terminal.
16684 (grub_getcharwidth): Likewise.
16685 (grub_getkey): Likewise.
16686 (grub_checkkey): Likewise.
16687 (grub_getkeystatus): Likewise.
16688 (grub_getxy): Likewise.
16689 (grub_getwh): Likewise.
16690 (grub_gotoxy): Likewise.
16691 (grub_cls): Likewise.
16692 (grub_setcolorstate): Likewise.
16693 (grub_setcolor): Likewise.
16694 (grub_getcolor): Likewise.
16695 (grub_refresh): Likewise.
16696 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16697 (write_jump): Add hatch nop.
16698 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16699 * lib/mips/setjmp.S: New file.
16700 * loader/mips/linux.c: Likewise.
16701 * term/i386/pc/at_keyboard.c: Move from here ...
16702 * term/at_keyboard.c: ... to here.
16703 * term/i386/pc/serial.c: Moved from here ...
16704 * term/serial.c: ... to here. All users updated.
16705 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16706 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16707 (serial_translate_key_sequence): Avoid deadlock.
16708 (grub_serial_getkey): Handle backspace.
16709 (grub_serial_putchar): Fix newline handling.
16710 * util/i386/pc/grub-mkimage.c: Move from here ...
16711 * util/grub-mkrawimage.c: ... to here. All users updated.
16712 (generate_image): New parameters 'font_path' and 'format'.
16713 Support embedding font.
16714 Use grub_host_to_target* instead of grub_cpu_to_le*.
16715 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16716 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16717 (options): New option "--font".
16718 (usage): Likewise.
16719 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16720 (main): Handle "--font".
16721 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16722 (grub_virtual_screen_setup): Set bg_color_display.
16723 (redraw_screen_rect): Use bg_color_display instead of incorrect
16724 bg_color.
16725 (grub_gfxterm_cls): Likewise.
16726 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16727 Support embedding config file.
16728 (add_segments): Likewise.
16729 (options): New option "--config".
16730 (main): Handle "--config".
16731 * video/sm712.c: New file.
16732
25c2b5b3
RM
167332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16734
16735 Fix parallel builds.
16736
16737 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16738 font.c depend on ascii.h).
16739
167402010-01-12 Carles Pina i Estany <carles@pina.cat>
16741
16742 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16743
167442010-01-11 Carles Pina i Estany <carles@pina.cat>
16745
16746 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16747 By default: disabled.
16748 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16749 parameter.
16750
167512010-01-10 Carles Pina i Estany <carles@pina.cat>
16752
16753 * font/font.c: Update copyright years.
16754 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16755
167562010-01-10 Carles Pina i Estany <carles@pina.cat>
16757
16758 * font/font.c: Include `ascii.h'.
16759 (ASCII_BITMAP_SIZE): New macro.
16760 (ascii_font_glyph): Define.
16761 (ascii_glyph_lookup): New function.
16762 (grub_font_get_string_width): Change comment. If glyph not found, use
16763 ascii_glyph_lookup.
16764 (grub_font_get_glyph_with_fallback): If glyph not available returns
16765 ascii_glyph_lookup.
16766 * util/grub-mkfont.c (file_formats): New enum.
16767 (options): Add `ascii-bitmaps' new option.
16768 (usage): Add `asii-bitmaps' new option.
16769 (write_font_ascii_bitmap): New function.
16770 (write_font): Rename to ...
16771 (write_font_p2): ... this. Remove print_glyphs call.
16772 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16773 used. Call print_glyphs.
16774 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16775
167762010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16777
16778 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16779 (grub_bin2h_SOURCES): New variable.
16780 * util/bin2h.c: New file.
16781
915fc1b8
VS
167822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * include/multiboot.h: Resynced with spec.
16785 * include/multiboot2.h: Likewise.
16786 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16787 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16788
9444b678
RM
167892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16790
16791 * include/grub/term.h (grub_term_register_input,
16792 grub_term_register_output): Check return of terminal init()
16793 routines, and abort if errors are raised.
16794
16795 * commands/terminal.c: Update copyright year.
16796
cba98e8d
RM
167972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16798
16799 * commands/terminal.c (grub_cmd_terminal_input)
16800 (grub_cmd_terminal_output): Check return of terminal init()
16801 routines, and abort if errors are raised.
16802
6f7db5d6
VS
168032010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 * include/grub/i386/bsd.h: Fix include pathes.
16806
262bff8d
VS
168072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 Add missing *BSD copyright headers.
16810
16811 * include/grub/aout.h: Add BSD licence.
16812 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16813 * include/grub/i386/freebsd_linker.h: ... here,
16814 * include/grub/i386/freebsd_reboot.h: ... here,
16815 * include/grub/i386/netbsd_bootinfo.h: ... here,
16816 * include/grub/i386/netbsd_reboot.h: ... here,
16817 * include/grub/i386/openbsd_bootarg.h: ... here,
16818 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16819 licence to each file.
16820
b2cab848
RM
168212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16822
16823 * acinclude.m4: Remove `nop' assembly instruction; it's not
16824 implemented by all architectures.
16825
2cb6be4b
RM
168262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16827
16828 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16829 ELILO. This is no longer necessary.
16830
a2eaee15
BC
168312010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16832
16833 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16834
16835 * util/grub-script-check.c: grub-script-check tool.
16836 * conf/common.rmk: Make rules for grub-script-check.
16837
88d17012
RM
168382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16839
16840 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16841 spotting it back in 2008. Shame on me for forgetting he did.
16842
16843 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16844
8040619d
RM
168452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16846
16847 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16848 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16849 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16850 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16851 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16852 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16853
a0c2a0f6
RM
168542010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16855
16856 * include/grub/test.h: Add license header.
16857 * tests/example_functional_test.c: Likewise.
16858 * tests/example_unit_test.c: Likewise.
16859 * tests/lib/functional_test.c: Likewise.
16860 * tests/lib/test.c: Likewise.
16861 * tests/lib/unit_test.c: Likewise.
16862
b0b13907
VS
168632010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 Use flag-based instead of hook-based video mode selection and "auto"
16866 keyword.
16867
16868 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16869 (grub_video_set_mode): Changed prototype. All users updated.
16870 (grub_video_check_mode_flag): New inline function.
16871 * video/video.c (parse_modespec): New function.
16872 (grub_video_set_mode): Parse flags and keywords.
16873
ea379330 168742010-01-17 Carles Pina i Estany <carles@pina.cat>
16875
16876 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16877 fprintf call.
16878
e15c215e
FZ
168792010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16880
16881 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16882
409ae1c9 168832010-01-16 Carles Pina i Estany <carles@pina.cat>
16884
16885 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16886 string.
16887 * util/grub-emu.c (usage): Likewise.
16888 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16889 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16890 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16891 * util/i386/pc/grub-setup.c (usage): Likewise.
16892
70a14d3d 168932010-01-16 Carles Pina i Estany <carles@pina.cat>
16894
16895 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16896 the message.
16897 (grub_util_info): Likewise.
16898 (grub_util_error): Likewise.
16899 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16900 and/or new lines in `grub_util_warna', `grub_util_info',
16901 `grub_util_error' calls.
16902 * util/getroot.c: Likewise.
16903 * util/grub-editenv.c: Likewise.
16904 * util/grub-emu.c: Likewise.
16905 * util/grub-fstest.c: Likewise.
16906 * util/grub-mkdevicemap.c: Likewise.
16907 * util/grub-mkfont.c: Likewise.
16908 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16909 * util/grub-mkrelpath.c: Likewise.
16910 * util/grub-pe2elf.c: Likewise.
16911 * util/grub-probe.c: Likewise.
16912 * util/hostdisk.c: Likewise.
16913 * util/i386/efi/grub-mkimage.c: Likewise.
16914 * util/i386/pc/grub-mkimage.c: Likewise.
16915 * util/i386/pc/grub-setup.c: Likewise.
16916 * util/ieee1275/ofpath.c: Likewise.
16917 * util/mkisofs/eltorito.c: Likewise.
16918 * util/mkisofs/rock.c: Likewise.
16919 * util/mkisofs/write.c: Likewise.
16920 * util/raid.c: Likewise.
16921 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16922 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16923
a0b766fc
VS
169242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 Enable multiboot on non-pc.
16927
16928 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16929 multiboot.mod and multiboot2.mod to ...
16930 * conf/i386.rmk (pkglib_MODULES): ... here.
16931 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16932 Moved to ...
16933 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16934 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16935 Moved to ...
16936 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16937 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16938 Moved to ...
16939 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16940 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16941 Moved to ...
16942 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16943 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16944 relocator.mod.
16945 (ata_mod_SOURCES): Removed.
16946 (ata_mod_CFLAGS): Likewise.
16947 (ata_mod_LDFLAGS): Likewise.
16948 (relocator_mod_SOURCES): Removed.
16949 (relocator_mod_CFLAGS): Likewise.
16950 (relocator_mod_ASFLAGS): Likewise.
16951 (relocator_mod_LDFLAGS): Likewise.
16952 Include i386.mk.
16953 * include/grub/x86_64/multiboot.h: New file.
16954 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16955 Terminate EFI.
16956
884ade56
VS
169572010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 Video multiboot support.
16960
16961 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16962 New prototype.
16963 * include/multiboot.h: Resynced with multiboot specification.
16964 * include/multiboot2.h: Likewise.
16965 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16966 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16967 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16968 (HAS_VGA_TEXT): Likewise.
16969 (accepts_video): New variable.
16970 (grub_multiboot_set_accepts_video): New function.
16971 (grub_multiboot_get_mbi_size): Account for video structures.
16972 (set_video_mode): New function.
16973 (retrieve_video_parameters): Likewise.
16974 (grub_multiboot_make_mbi): Fill video fields.
16975
0d90e8a6
VS
169762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 Video driver ids.
16979
16980 * include/grub/video.h (grub_video_driver_id): New type.
16981 (grub_video_adapter): New member 'id'. All users updated.
16982 (grub_video_get_driver_id): New proto.
16983 * video/video.c (grub_video_get_driver_id): New function.
16984
5c71db1b 169852010-01-14 Carles Pina i Estany <carles@pina.cat>
16986
16987 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16988 `var=val'.
16989
cca15b52 169902010-01-14 Carles Pina i Estany <carles@pina.cat>
16991
16992 * normal/cmdline.c (print_completion): Gettextizze.
16993
c586fbb2 169942001-01-14 Carles Pina i Estany <carles@pina.cat>
16995
16996 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16997
ba2f6848 169982010-01-14 Carles Pina i Estany <carles@pina.cat>
16999
17000 * gettext/gettext.c (grub_gettext_translate): Push and pop
17001 grub_errno.
17002 (grub_gettext_delete_list): Change comment style.
17003 * kern/err.c (grub_error): Gettextizze.
17004 (grub_fatal): Gettextizze.
17005
0a46429a
RM
170062010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17007
17008 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17009 (grub_linux16_real_boot): ... this.
17010 * kern/i386/loader.S: Likewise.
17011 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17012 (grub_linux16_boot): New function. Switches to text mode and calls
17013 grub_linux16_real_boot().
17014
17015 * loader/i386/bsd.c: Include `<grub/video.h>'.
17016 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17017 text mode before calling grub_unix_real_boot().
17018
17019 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17020 (grub_multiboot_boot): Switch to text mode before calling
17021 grub_relocator32_boot().
17022
17023 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17024 (grub_chainloader_boot): Switch to text mode before calling
17025 grub_chainloader_real_boot().
17026
d6f93a66
RM
170272010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
170282010-01-05 Colin Watson <cjwatson@ubuntu.com>
17029
17030 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17031 non-empty value.
17032
170332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
170342010-01-05 Colin Watson <cjwatson@ubuntu.com>
17035
17036 * util/grub.d/00_header.in: Define a "savedefault" function for use
17037 in menu entries.
17038 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17039
170402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
170412010-01-05 Colin Watson <cjwatson@ubuntu.com>
17042
17043 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17044 saved_entry if boot_once is unset.
17045 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17046 previous saved entry (i.e. grub-reboot).
17047
170482009-12-08 Colin Watson <cjwatson@ubuntu.com>
17049
17050 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17051
170522009-12-08 Colin Watson <cjwatson@ubuntu.com>
17053
17054 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17055 `var=val'.
17056 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17057
170582009-12-08 Colin Watson <cjwatson@ubuntu.com>
17059
17060 * util/grub-reboot.in: Fix --version output.
17061 * util/grub-set-default.in: Likewise.
17062
170632009-12-08 Colin Watson <cjwatson@ubuntu.com>
17064
17065 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17066 blocks.
17067
170682009-12-08 Colin Watson <cjwatson@ubuntu.com>
17069
17070 * util/grub.d/00_header.in: Quote the value assigned to `default',
17071 in case it contains spaces.
17072
170732009-12-08 Colin Watson <cjwatson@ubuntu.com>
17074
17075 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17076 `save_default_entry' call from the macosx case to the linux case.
17077
170782009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
170792009-10-25 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17082 in `chosen' environment variable.
17083 * normal/menu_text.c (get_entry_number): Check if the variable
17084 matches the title of a menu entry.
17085 (run_menu): Pass menu to get_entry_number.
17086
17087 * util/grub-reboot.in: New file.
17088 * util/grub-set-default.in: New file.
17089 * conf/common.rmk (grub-reboot): New utility.
17090 (grub-set-default): New utility.
17091
17092 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17093 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17094 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17095 move it to `saved_entry' for the next boot. Load environment on
17096 initialisation.
17097 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17098 * util/grub.d/10_hurd.in: Likewise.
17099 * util/grub.d/10_linux.in (linux_entry): Likewise.
17100 * util/grub.d/10_windows.in: Likewise.
17101 * util/grub.d/30_os-prober.in: Likewise.
17102
17103 * util/grub-install.in: Create environment block.
17104 * util/i386/efi/grub-install.in: Likewise.
17105 * util/ieee1275/grub-install.in: Likewise.
17106 * util/sparc64/ieee1275/grub-install.in: Likewise.
17107
0934d184
BC
171082010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17109
17110 Unit testing framework for GRUB.
17111
17112 * Makefile.in: Test framework build rules for 'make check'.
17113 * conf/tests.rmk: Build rules for individual tests and framework.
17114
17115 * include/grub/test.h: Header file for whitebox tests.
17116 * tests/lib/functional_test.c: Framework support for whitebox
17117 functional tests.
17118 * tests/lib/test.c: Common whitebox testing code for unit and
17119 functional tests.
17120 * tests/lib/unit_test.c: Framework support for whitebox unit
17121 tests.
17122
17123 * tests/util/grub-shell-tester.in: Support utility for grub-script
17124 tests.
17125 * tests/util/grub-shell.in: Utility to execute grub-script
17126 commands in a Qemu instance.
17127
17128 * tests/example_functional_test.c: Example whitebox functional
17129 test.
17130 * tests/example_grub_script_test.in: Example grub-script test.
17131 * tests/example_scripted_test.in: Example scripted test.
17132 * tests/example_unit_test.c: Example whitebox unit test.
17133
9c4ffeeb
VS
171342010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17137 Add loader/i386/multiboot_mbi.c.
17138 (multiboot2_mod_SOURCES): Likewise.
17139 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17140 (multiboot2_mod_SOURCES): Likewise.
17141 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17142 (grub_multiboot_make_mbi): Likewise.
17143 (grub_multiboot_free_mbi): Likewise.
17144 (grub_multiboot_init_mbi): Likewise.
17145 (grub_multiboot_add_module): Likewise.
17146 (grub_multiboot_set_bootdev): Likewise.
17147 * loader/i386/multiboot.c (mbi): Removed.
17148 (mbi_dest): Likewise.
17149 (alloc_mbi): New variable.
17150 (grub_multiboot_payload_size): Removed. All users updated.
17151 (grub_multiboot_pure_size): New variable.
17152 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17153 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17154 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17155 (grub_fill_multiboot_mmap): Likewise.
17156 (grub_multiboot_get_bootdev): Likewise.
17157 (grub_multiboot): Use multiboot_mbi functions.
17158 * loader/i386/multiboot_mbi.c: New file.
17159
17383dfe
VS
171602010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17163 it would result in module crash.
17164
c1f28820
VS
171652010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17168 (grub_ofconsole_getwh): Split to ...
17169 (grub_ofconsole_getwh): ... this.
17170 (grub_ofconsole_dimensions): ...and this.
17171 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17172
58655a16
RM
171732010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17174
17175 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17176
10891398
VS
171772010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 * loader/i386/pc/multiboot2.c: Removed stalled file.
17180
0b8a223c
VS
171812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17184 Reported by: Grégoire Sutre
17185
92ab12b0
RM
171862010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17187
17188 * util/misc.c (canonicalize_file_name): New function.
17189 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17190 instead of realpath().
17191
a788afb6
CW
171922010-01-11 Colin Watson <cjwatson@ubuntu.com>
17193
17194 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17195 and make it clearer that it's optional. Based on confusion
17196 witnessed on IRC.
17197
ffa8e3d2
VS
171982010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17201 in premature implicit newline.
17202
e9060a9d
VS
172032010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17206 which resulted in garbled command line at the end of screen.
17207
f0d0c0b7
RM
172082010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17209
17210 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17211 initialization with similar approach as with other Linux loaders.
17212
0e60bae7
RM
172132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17214
17215 Fix i386-ieee1275 build.
17216
17217 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17218 and grub_term_height() for video_{width,height} initialization.
17219
172202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
17221
17222 Fix grub-emu build.
17223
17224 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17225
cdb3f378
RM
172262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
172272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17228
17229 Support for multiple terminals.
17230
17231 * Makefile.in (pkglib_DATA): terminal.lst.
17232 (terminal.lst): New target.
17233 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17234 (GRUB_MOD_INIT(handler)): Likewise.
17235 (GRUB_MOD_FINI(handler)): Likewise.
17236 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17237 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17238 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17239 (grub_cmd_sleep): Use grub_term_save_pos.
17240 * commands/terminal.c: New file.
17241 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17242 commands/terminal.c and lib/charset.c.
17243 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17244 (pkglib_MODULES): Add terminal.mod.
17245 (terminal_mod_SOURCES): New variable.
17246 (terminal_mod_CFLAGS): Likewise.
17247 (terminal_mod_LDFLAGS): Likewise.
17248 * genhandlerlist.sh: Don't handle terminals.
17249 * genmk.rb: Generate terminal-*.lst.
17250 * genterminallist.sh: New file.
17251 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17252 (grub_is_valid_utf8): Likewise.
17253 (grub_utf8_to_ucs4_alloc): Likewise.
17254 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17255 (grub_menu_register_viewer): Changed argument.
17256 (grub_menu_try_text): New proto.
17257 (grub_gfxmenu_try_hook): New declaration.
17258 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17259 (grub_menu_init_page): Additional argument term.
17260 (grub_normal_init_page): Likewise.
17261 (grub_cmdline_get): Arguments simplified.
17262 (grub_utf8_to_ucs4_alloc): Removed.
17263 (grub_print_ucs4): Additional argument term.
17264 (grub_getstringwidth): Likewise.
17265 (grub_print_message_indented): Likewise.
17266 (grub_menu_text_register_instances): New proto.
17267 (grub_show_menu): Likewise.
17268 (read_terminal_list): Likewise.
17269 (grub_set_more): Likewise.
17270 * include/grub/parser.h: Include handler.h.
17271 * include/grub/reader.h: Rewritten.
17272 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17273 (GRUB_TERM_WIDTH): Changed to function.
17274 (GRUB_TERM_HEIGHT): Likewise.
17275 (GRUB_TERM_BORDER_WIDTH): Likewise.
17276 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17277 (GRUB_TERM_NUM_ENTRIES): Likewise.
17278 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17279 (GRUB_TERM_CURSOR_X): Likewise.
17280 (grub_term_input_class): Likewise.
17281 (grub_term_output_class): Likewise.
17282 (grub_term_outputs_disabled): New declaration.
17283 (grub_term_inputs_disabled): Likewise.
17284 (grub_term_outputs): Likewise.
17285 (grub_term_inputs): Likewise.
17286 (grub_term_register_input): Rewritten.
17287 (grub_term_register_output): Likewise.
17288 (grub_term_unregister_input): Likewise.
17289 (grub_term_unregister_output): Likewise.
17290 (FOR_ACTIVE_TERM_INPUTS): New macro.
17291 (FOR_DISABLED_TERM_INPUTS): Likewise.
17292 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17293 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17294 * include/grub/terminfo.h: Add oterm argument to all protypes.
17295 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17296 Use grub_rescue_run.
17297 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17298 All users updated.
17299 * kern/reader.c: Removed. All users updated.
17300 * kern/rescue_reader.c (grub_rescue_init): Removed.
17301 (grub_rescue_reader): Likewise.
17302 (grub_register_rescue_reader): Likewise.
17303 (grub_rescue_run): New function based on kern/reader.c.
17304 * kern/term.c: Adapted for multiterm.
17305 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17306 (grub_is_valid_utf8): Likewise.
17307 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17308 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17309 right terminal.
17310 * loader/i386/linux.c (grub_linux_boot): Likewise.
17311 * normal/auth.c (grub_username_get): New function.
17312 (grub_auth_check_authentication): Use grub_username_get.
17313 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17314 * normal/color.c: Adapt for multiterm.
17315 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17316 (grub_normal_init_page): Additional argument term.
17317 (read_lists): Call read_terminal_lists.
17318 (grub_enter_normal_mode): Call grub_cmdline_run.
17319 Handle grub_normal_exit_level.
17320 (grub_cmd_normal): Make reentrant.
17321 (grub_cmd_normal_exit): New function.
17322 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17323 * normal/menu.c: Adapt for multiterm.
17324 * normal/menu_entry.c: Likewise.
17325 * normal/menu_text.c: Likewise.
17326 * normal/menu_viewer.c: Removed. All users updated.
17327 * normal/term.c: New file.
17328 * util/console.c: Change order of includes to workaround a bug in
17329 ncurses headers.
17330 * term/terminfo.c: New argument oterm on all exported functions.
17331 All users updated.
17332 * util/grub-editenv.c (grub_term_input_class): Removed.
17333 (grub_term_output_class): Likewise.
17334
1a064917
RM
173352010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17336
17337 Make loader output a bit more user-friendly.
17338
17339 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17340 is being loaded. Likewise for the Hurd.
17341
17342 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17343 that kernel of FreeBSD ${version} is being loaded.
17344
17345 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17346 grub_dprintf().
17347 (grub_cmd_initrd): Likewise.
17348 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17349 that Linux ${version} is being loaded. Likewise for initrd.
17350
5ce0a83a 173512010-01-09 Carles Pina i Estany <carles@pina.cat>
17352
17353 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17354
809bbfeb 173552010-01-08 Carles Pina i Estany <carles@pina.cat>
17356
17357 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17358 (GRUB_MOD_INIT): Gettextizze.
17359 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17360 (GRUB_MOD_INIT): Gettextizze.
17361 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17362 (grub_cmd_linux): Capitalise Linux.
17363 (GRUB_MOD_INIT): Gettextizze.
17364 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17365 (grub_cmd_linux): Capitalise Linux.
17366 (GRUB_MOD_INIT): Gettextizze.
17367 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17368 (grub_cmd_linux): Capitalise Linux.
17369 (GRUB_MOD_INIT): Gettextizze.
17370 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17371 (GRUB_MOD_INIT): Gettextizze.
17372 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17373 (grub_cmd_linux): Capitalise Linux.
17374 (GRUB_MOD_INIT): Gettextizze.
17375 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17376 (grub_cpu_xnu_init): Gettextizze.
17377 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17378 (GRUB_MOD_INIT): Gettextizze.
17379 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17380 (GRUB_MOD_INIT): Gettextizze.
17381 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17382 (grub_linux_load64): Capitalise Linux.
17383 (GRUB_MOD_INIT): Gettextizze.
17384 * loader/xnu.c: Include `<grub/i18n.h>'.
17385 (GRUB_MOD_INIT): Gettextizze.
17386 * po/POTFILES: Add `loader/efi/appleloader.c',
17387 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17388 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17389 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17390 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17391 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17392 and `loader/xnu.c'.
17393
b394b2ca
RM
173942010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17395
17396 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17397
173982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17399
17400 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17401 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17402 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17403
bc8b32b3
RM
174042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17405
17406 Reset Multiboot 2 support. New loader implements the draft in
17407 /branches/multiboot2 and shares as much code as possible with the
17408 production Multiboot 1 implementation.
17409
17410 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17411 * loader/multiboot2.c: Likewise.
17412 * loader/i386/multiboot_helper.S: Likewise.
17413 * include/multiboot2.h: Replace with latest version from the draft
17414 in /branches/multiboot2.
17415
17416 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17417 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17418 and `loader/multiboot2.c'.
17419 (pkglib_MODULES): Add `multiboot2.mod'.
17420 (multiboot2_mod_SOURCES): New variable.
17421 (multiboot2_mod_LDFLAGS): Likewise.
17422 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17423
17424 * conf/i386-pc.rmk: Likewise.
17425
17426 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17427 (multiboot_mod_SOURCES): Remove variable.
17428 (multiboot_mod_LDFLAGS): Likewise.
17429 (multiboot_mod_CFLAGS): Likewise.
17430
17431 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17432 `<multiboot2.h>' instead of `<multiboot.h>'.
17433 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17434 (MULTIBOOT_HEADER_MAGIC): New macros.
17435
17436 * loader/multiboot_loader.c (module_version_status): Remove variable.
17437 (find_multi_boot2_header): Remove function.
17438 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17439 logic. Always check for the Multiboot version we're compiling for.
17440 (grub_cmd_module_loader): Likewise.
17441 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17442 command instead of `multiboot'.
17443
5d2c52b8
RM
174442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17445
17446 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17447 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17448 all users.
17449
53108d92
RM
174502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
174512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 Fix breakage introduced with previous commit.
17454
17455 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17456 commands.
17457 * normal/handler.c (read_handler_list): Revert part of previous commit
17458 affecting this file.
17459 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17460 (grub_normal_execute): ... here.
17461
e2e936b2
RM
174622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17463
17464 Merge prefix-redefinition-fix branch.
17465
17466 * normal/autofs.c (read_fs_list): Make function capable of being
17467 run multiple times, gracefuly replacing the previous data
17468 structures.
17469 * normal/dyncmd.c (read_command_list): Likewise.
17470 * normal/handler.c (read_handler_list): Likewise.
17471 * normal/main.c (read_lists): New function. Calls all the
17472 list reading functions.
17473 (grub_normal_execute): Use read_lists() instead of calling all
17474 list reading functions explicitly. Register read_lists() as a
17475 variable hook attached to ${prefix}.
17476
607a3701
VS
174772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 Merge crypto branch.
17480
17481 * Makefile.in (pkglib_DATA): Add crypto.lst.
17482 (crypto.lst): New target.
17483 * commands/hashsum.c: New file.
17484 * commands/password.c (check_password): Use grub_crypto_memcmp.
17485 * commands/password_pbkdf2.c: New file.
17486 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17487 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17488 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17489 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17490 -I$(srcdir)/lib/libgcrypt_wrap.
17491 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17492 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17493 password_pbkdf2.mod.
17494 (crypto_mod_SOURCES): New variable.
17495 (crypto_mod_CFLAGS): Likewise.
17496 (crypto_mod_LDFLAGS): Likewise.
17497 (hashsum_mod_SOURCES): New variable.
17498 (hashsum_mod_CFLAGS): Likewise.
17499 (hashsum_mod_LDFLAGS): Likewise.
17500 (pbkdf2_mod_SOURCES): New variable.
17501 (pbkdf2_mod_CFLAGS): Likewise.
17502 (pbkdf2_mod_LDFLAGS): Likewise.
17503 (password_pbkdf2_mod_SOURCES): New variable.
17504 (password_pbkdf2_mod_CFLAGS): Likewise.
17505 (password_pbkdf2_mod_LDFLAGS): Likewise.
17506 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17507 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17508 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17509 Include conf/gcry.rmk.
17510 * include/grub/auth.h: Rewritten.
17511 * include/grub/crypto.h: New file.
17512 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17513 * include/grub/normal.h (read_crypto_list): New prototype.
17514 * lib/crypto.c: New file.
17515 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17516 * lib/pbkdf2.c: Likewise.
17517 * normal/auth.c (grub_auth_strcmp): Removed.
17518 (grub_iswordseparator): Likewise.
17519 (grub_auth_strword): Likewise.
17520 (is_authenticated): Use grub_strword.
17521 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17522 and grub_strword. Pass entered password to authentication callback.
17523 * normal/crypto.c: New file.
17524 * normal/main.c: Call read_crypto_list.
17525 * util/grub-mkpasswd-pbkdf2.c: New file.
17526 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17527
42841caa
VS
175282010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 Fix descent and ascent calculation.
17531
17532 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17533 (options): New option "asce".
17534 (usage): Likewise.
17535 (add_char): Ignore invalid glyphs for descent calculation.
17536 Calculate ascent from actual content.
17537 (print_glyphs): Use 'asce'.
17538 (write_font): Likewise. Allow ascent override.
17539 (main): Handle "asce" option.
17540
e7730de7 175412010-01-06 Carles Pina i Estany <carles@pina.cat>
17542
17543 * kern/err.c: Include `<grub/i18n.h>'.
17544 (grub_print_error): Add full stop. Gettextizze.
17545 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17546 (grub_bsd_load_elf): Capitalise ELF.
17547 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17548 (grub_cmd_freebsd_module): Likewise.
17549 (grub_cmd_freebsd_module_elf): Likewise.
17550 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17551
40e3a41f 175522010-01-06 Carles Pina i Estany <carles@pina.cat>
17553
17554 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17555 * commands/search_file.c (HELP_MESSAGE): New macro.
17556 * commands/search_label.c (HELP_MESSAGE): Likewise.
17557 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17558 * po/POTFILES: Add `commands/search_file.c',
17559 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17560 `commands/search.c'.
17561
83507e68
RM
175622010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17563
17564 * config.rpath: Update from Gnulib.
17565
465c787b
YB
175662010-01-05 Yves Blusseau <blusseau@zetam.org>
17567
17568 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17569
6581dd3a
YB
175702010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17571
17572 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17573
3bff18c5
CW
175742010-01-05 Colin Watson <cjwatson@ubuntu.com>
17575
17576 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17577 arguments to fread so that we get a return value in bytes, rather
17578 than something that will normally be rounded down to 0.
17579 Adjust error handling to avoid producing garbage when size_t is not
17580 the same size as long long.
17581
a1368118
CW
175822010-01-05 Colin Watson <cjwatson@ubuntu.com>
17583
17584 * util/mkisofs/write.c (padblock_write): Check return value of
17585 fread.
17586
7c302978
RM
175872010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17588
17589 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17590 floppy images now.
17591
17592 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17593
e33ace06
RM
175942010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17595
17596 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17597 instead of manual alignment.
17598 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17599 verbose). Avoid attempts to read past end of the device
17600 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17601 but GRUB_DISK_CACHE_SIZE may exceed that).
17602
4b856776
RM
176032010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17604
17605 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17606 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17607 it to upper layer.
17608
52c2d97f
VS
176092010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17612 New constant.
17613 (grub_efi_piwg_device_path): New structure
17614 (grub_efi_piwg_device_path_t): New type.
17615 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17616 (devpath_1): Transform to a structure. All users updated.
17617 (devpath_2): Likewise.
17618 (devpath_3): Likewise.
17619 (devpath_4): Likewise.
17620 (devpath_5): Likewise.
17621
98ff6a54
VS
176222010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17623
17624 * loader/efi/appleloader.c: Restored. Update all users.
17625
3a73dcb6
RM
176262010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17627
17628 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17629
17630 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17631 (struct boot_blocklist): Move from here ...
17632 * include/grub/i386/pc/boot.h [ASM_FILE]
17633 (struct grub_boot_blocklist): ... to here. Update all users.
17634 (setup): Only initialize `start' member of `first_block'
17635 structure. Add assert() calls to verify the other members.
17636
17637 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17638 (generate_image): Fix broken blocklist length initialization.
17639 Add assert() call to verify blocklist `segment' field.
17640
ab0eeb0c
RM
176412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17642
17643 * loader/efi/appleloader.c: Remove. Update all users.
17644
58bc8bd5
RM
176452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17646
17647 * boot/i386/pc/boot.S: Update copyright year.
17648 * boot/i386/pc/cdboot.S: Likewise.
17649 * boot/i386/pc/diskboot.S: Likewise.
17650 * boot/i386/pc/lnxboot.S: Likewise.
17651 * boot/i386/pc/pxeboot.S: Likewise.
17652 * bus/pci.c: Likewise.
17653 * commands/cmp.c: Likewise.
17654 * commands/help.c: Likewise.
17655 * commands/hexdump.c: Likewise.
17656 * commands/i386/pc/halt.c: Likewise.
17657 * commands/i386/pc/play.c: Likewise.
17658 * commands/i386/pc/vbeinfo.c: Likewise.
17659 * commands/ls.c: Likewise.
17660 * commands/test.c: Likewise.
17661 * disk/dmraid_nvidia.c: Likewise.
17662 * disk/i386/pc/biosdisk.c: Likewise.
17663 * disk/ieee1275/nand.c: Likewise.
17664 * disk/ieee1275/ofdisk.c: Likewise.
17665 * disk/lvm.c: Likewise.
17666 * disk/raid.c: Likewise.
17667 * disk/raid6_recover.c: Likewise.
17668 * disk/scsi.c: Likewise.
17669 * fs/affs.c: Likewise.
17670 * fs/cpio.c: Likewise.
17671 * fs/ext2.c: Likewise.
17672 * fs/hfs.c: Likewise.
17673 * fs/iso9660.c: Likewise.
17674 * fs/ntfs.c: Likewise.
17675 * fs/sfs.c: Likewise.
17676 * fs/udf.c: Likewise.
17677 * fs/ufs.c: Likewise.
17678 * fs/xfs.c: Likewise.
17679 * gencmdlist.sh: Likewise.
17680 * genmk.rb: Likewise.
17681 * include/grub/disk.h: Likewise.
17682 * include/grub/efi/api.h: Likewise.
17683 * include/grub/efi/efi.h: Likewise.
17684 * include/grub/efi/pe32.h: Likewise.
17685 * include/grub/elf.h: Likewise.
17686 * include/grub/fs.h: Likewise.
17687 * include/grub/i386/at_keyboard.h: Likewise.
17688 * include/grub/i386/pc/memory.h: Likewise.
17689 * include/grub/i386/pc/vbe.h: Likewise.
17690 * include/grub/i386/pci.h: Likewise.
17691 * include/grub/i386/tsc.h: Likewise.
17692 * include/grub/ieee1275/ieee1275.h: Likewise.
17693 * include/grub/ntfs.h: Likewise.
17694 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17695 * include/grub/sparc64/libgcc.h: Likewise.
17696 * include/grub/symbol.h: Likewise.
17697 * include/grub/types.h: Likewise.
17698 * include/multiboot2.h: Likewise.
17699 * io/gzio.c: Likewise.
17700 * kern/device.c: Likewise.
17701 * kern/disk.c: Likewise.
17702 * kern/efi/efi.c: Likewise.
17703 * kern/efi/mm.c: Likewise.
17704 * kern/elf.c: Likewise.
17705 * kern/file.c: Likewise.
17706 * kern/i386/dl.c: Likewise.
17707 * kern/i386/pc/init.c: Likewise.
17708 * kern/i386/pc/startup.S: Likewise.
17709 * kern/ieee1275/ieee1275.c: Likewise.
17710 * kern/ieee1275/init.c: Likewise.
17711 * kern/main.c: Likewise.
17712 * kern/mm.c: Likewise.
17713 * kern/powerpc/dl.c: Likewise.
17714 * kern/sparc64/dl.c: Likewise.
17715 * kern/x86_64/dl.c: Likewise.
17716 * lib/hexdump.c: Likewise.
17717 * loader/efi/appleloader.c: Likewise.
17718 * loader/i386/ieee1275/linux.c: Likewise.
17719 * loader/i386/pc/chainloader.c: Likewise.
17720 * loader/i386/pc/linux.c: Likewise.
17721 * loader/i386/pc/multiboot2.c: Likewise.
17722 * loader/ieee1275/multiboot2.c: Likewise.
17723 * loader/multiboot2.c: Likewise.
17724 * loader/multiboot_loader.c: Likewise.
17725 * loader/powerpc/ieee1275/linux.c: Likewise.
17726 * normal/completion.c: Likewise.
17727 * normal/menu_entry.c: Likewise.
17728 * partmap/apple.c: Likewise.
17729 * util/grub.d/10_hurd.in: Likewise.
17730 * util/hostfs.c: Likewise.
17731 * video/readers/png.c: Likewise.
17732
e2d70b5c
CW
177332010-01-03 Colin Watson <cjwatson@ubuntu.com>
17734
17735 * include/grub/misc.h (GNUC_PREREQ): New macro.
17736 (ATTRIBUTE_ERROR): New macro.
17737 * include/grub/list.h (grub_bad_type_cast_real): Use
17738 ATTRIBUTE_ERROR.
17739
a173283f 177402010-01-03 Carles Pina i Estany <carles@pina.cat>
17741
17742 * normal/menu_text.c (print_message): Change messages.
17743
7fa7ff74 177442010-01-03 Carles Pina i Estany <carles@pina.cat>
17745
17746 * normal/menu_entry.c (store_completion): Gettextizze.
17747
136d24f6 177482010-01-03 Carles Pina i Estany <carles@pina.cat>
17749
17750 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17751
f936862e 177522010-01-03 Carles Pina i Estany <carles@pina.cat>
17753
17754 * po/POTFILES: Sort correctly.
17755
29c44ad1 177562010-01-03 Carles Pina i Estany <carles@pina.cat>
17757
17758 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17759 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17760 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17761 full stop.
17762 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17763 summary. Gettextizze the strings.
17764 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17765 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17766 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17767 full stop.
17768 (GRUB_MOD_INIT): Remove command name from summary.
17769 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17770 summary.
17771 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17772 * term/i386/pc/serial.c (options): Add full stops.
17773 (GRUB_MOD_INIT): Remove command name from the summary.
17774
77a79592 177752010-01-03 Carles Pina i Estany <carles@pina.cat>
17776
17777 * commands/acpi.c: Gettextizze help strings and/or options. Include
17778 `grub/i18n.h' if needed.
17779 * commands/blocklist.c: Likewise.
17780 * commands/boot.c: Likewise.
17781 * commands/cat.c: Likewise.
17782 * commands/cmp.c: Likewise.
17783 * commands/configfile.c: Likewise.
17784 * commands/crc.c: Likewise.
17785 * commands/date.c: Likewise.
17786 * commands/echo.c: Likewise.
17787 * commands/efi/fixvideo.c: Likewise.
17788 * commands/efi/loadbios.c: Likewise.
17789 * commands/gptsync.c: Likewise.
17790 * commands/halt.c: Likewise.
17791 * commands/handler.c: Likewise.
17792 * commands/hdparm.c: Likewise.
17793 * commands/hexdump.c: Likewise.
17794 * commands/i386/cpuid.c: Likewise.
17795 * commands/i386/pc/drivemap.c: Likewise.
17796 * commands/i386/pc/halt.c: Likewise.
17797 * commands/i386/pc/pxecmd.c: Likewise.
17798 * commands/i386/pc/vbeinfo.c: Likewise.
17799 * commands/i386/pc/vbetest.c: Likewise.
17800 * commands/ieee1275/suspend.c: Likewise.
17801 * commands/keystatus.c: Likewise.
17802 * commands/loadenv.c: Likewise.
17803 * commands/ls.c: Likewise.
17804 * commands/lsmmap.c: Likewise.
17805 * commands/lspci.c: Likewise.
17806 * commands/memrw.c: Likewise.
17807 * commands/minicmd.c: Likewise.
17808 * commands/parttool.c: Likewise.
17809 * commands/password.c: Likewise.
17810 * commands/probe.c: Likewise.
17811 * commands/read.c: Likewise.
17812 * commands/reboot.c: Likewise.
17813 * commands/search.c: Likewise.
17814 * commands/sleep.c: Likewise.
17815 * commands/test.c: Likewise.
17816 * commands/true.c: Likewise.
17817 * commands/usbtest.c: Likewise.
17818 * commands/videotest.c: Likewise.
17819 * commands/xnu_uuid.c: Likewise.
17820 * disk/loopback.c: Likewise.
17821 * hello/hello.c: Likewise.
17822 * loader/i386/bsd.c: Likewise.
17823 * term/i386/pc/serial.c: Likewise.
17824 * po/POTFILES: Add new files.
17825
da8d5c53
CW
178262010-01-02 Colin Watson <cjwatson@ubuntu.com>
17827
17828 * term/i386/pc/at_keyboard.c
17829 (keyboard_controller_wait_untill_ready): Rename to ...
17830 (keyboard_controller_wait_until_ready): ... this. Update all users.
17831
33937904 178322010-01-01 Carles Pina i Estany <carles@pina.cat>
17833
17834 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17835 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17836 string using string width.
17837 * normal/menu_text.c (grub_print_message_indented): Use
17838 grub_print_spaces and not print_spaces.
17839 (print_timeout): Likewise.
17840 (print_spaces): Move to...
17841 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17842
3fd3b8d8
RM
178432010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17844
17845 Import from Gnulib.
17846
17847 * gnulib/getdelim.c: New file.
17848 * gnulib/getline.c: Likewise.
17849
33433555
VS
178502009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17851
17852 * include/grub/list.h (grub_assert_fail): Removed.
17853 (grub_bad_type_cast_real): New function.
17854 (grub_bad_type_cast): New macro.
17855 (GRUB_AS_LIST): Use grub_bad_type_cast.
17856 (GRUB_AS_LIST_P): Likewise.
e44721e8 17857 (GRUB_AS_NAMED_LIST): Likewise.
33433555 17858 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 17859 (GRUB_AS_PRIO_LIST): Likewise.
33433555 17860 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 17861 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 17862
f5a51306
VS
178632009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17866 Fix syntax error.
17867
90d1e879
RM
178682009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17869
17870 * configure.ac: Check for TARGET_CFLAGS initialization before we
17871 initialize it ourselves (sigh).
17872 Move a few modifications to TARGET_CFLAGS to be unconditional
17873 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17874 eh_frame)
17875
17876 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17877 * term/i386/pc/at_keyboard.c
17878 (keyboard_controller_wait_untill_ready): Likewise.
17879 (keyboard_controller_led): Rename `led_status' paramter to avoid
17880 name conflict.
17881
465b5a81 178822009-12-28 Carles Pina i Estany <carles@pina.cat>
17883
17884 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17885 quotes.
17886
c181849b
VS
178872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17890
9c8739a4
VS
178912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * normal/menu_text.c (grub_print_message_indented): Prevent
17894 past-the-end-of-array dereference.
17895
3e74249c
VS
178962009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17899 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17900
64fd18ed 179012009-12-27 Carles Pina i Estany <carles@pina.cat>
17902
17903 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17904 * normal/main.c (grub_normal_read_line): Remove a space from the
17905 default prompt.
17906
714af9b9 179072009-12-27 Carles Pina i Estany <carles@pina.cat>
17908
17909 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17910 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17911 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17912 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17913 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17914 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17915 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17916
82f3e412 179172009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 17918
17919 * video/readers/jpeg.c (cmd): Declare.
17920 (grub_cmd_jpegtest): Use `grub_command_t' type.
17921 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17922 Assign to `cmd'.
17923 (GRUB_MOD_FINI): Use `cmd' to unregister.
17924 * video/readers/png.c (cmd): Declare.
17925 (grub_cmd_pngtest): Use `grub_command_t' type.
17926 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17927 Assign to `cmd'.
17928 (GRUB_MOD_FINI): Use `cmd' to unregister.
17929 * video/readers/tga.c (cmd): Declare.
17930 (grub_cmd_tgatest): Use `grub_command_t' type.
17931 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17932 Assign to `cmd'.
17933 (GRUB_MOD_FINI): Use `cmd' to unregister.
17934
82f3e412 179352009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 17936
17937 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17938 stops.
17939 * kern/corecmd.c (grub_register_core_commands): Likewise.
17940 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17941 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17942 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17943 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17944 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17945 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17946 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17947 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17948 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17949 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17950 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17951 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17952 * normal/handler.c (insert_handler): Likewise.
17953 * normal/main.c (GRUB_MOD_INIT): Likewise.
17954 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17955
fdcdbb66 179562009-12-26 Carles Pina i Estany <carles@pina.cat>
17957
17958 * commands/help.c (grub_cmd_help): Print the command name before the
17959 summary.
17960 (GRUB_MOD_INIT): Remove command name from the summary.
17961 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 17962 string as summary.
fdcdbb66 17963 * lib/arg.c (find_long): Print the command name before the summary.
17964 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17965 summary.
17966 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17967 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17968 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17969 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17970 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17971 * commands/date.c (GRUB_MOD_INIT): Likewise.
17972 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17973 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17974 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17975 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17976 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17977 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17978 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17979 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17980 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17981 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17982 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17983 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17984 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17985 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17986 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17987 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17988 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17989 * commands/password.c (GRUB_MOD_INIT): Likewise.
17990 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17991 * commands/read.c (GRUB_MOD_INIT): Likewise.
17992 * commands/search.c (GRUB_MOD_INIT): Likewise.
17993 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17994 * commands/test.c (GRUB_MOD_INIT): Likewise.
17995 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17996 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17997 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17998 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17999 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18000 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18001 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18002 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18003 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18004 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18005 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18006 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18007 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18008 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18009
9c288be2
VS
180102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 Use search command for preliminar UUID search.
18013
18014 * commands/search.c: Split into ...
18015 * commands/search_wrap.c: ...this
18016 * commands/search.c: ...and this.
18017 * commands/search_file.c: New file.
18018 * commands/search_label.c: New file.
18019 * commands/search_uuid.c: New file.
18020 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18021 Add commands/search_wrap.c, commands/search_file.c,
18022 commands/search_label.c and commands/search_uuid.c.
18023 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18024 (search_mod_SOURCES): Set to commands/search_wrap.c.
18025 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18026 search_label.mod.
18027 (search_fs_file_mod_SOURCES): New variable.
18028 (search_fs_file_mod_CFLAGS): Likewise.
18029 (search_fs_file_mod_LDFLAGS): Likewise.
18030 (search_label_mod_SOURCES): Likewise.
18031 (search_label_mod_CFLAGS): Likewise.
18032 (search_label_mod_LDFLAGS): Likewise.
18033 (search_fs_uuid_mod_SOURCES): New variable.
18034 (search_fs_uuid_mod_CFLAGS): Likewise.
18035 (search_fs_uuid_mod_LDFLAGS): Likewise.
18036 (fs_file_mod_SOURCES): Removed.
18037 (fs_file_mod_CFLAGS): Likewise.
18038 (fs_file_mod_LDFLAGS): Likewise.
18039 (fs_uuid_mod_SOURCES): Removed.
18040 (fs_uuid_mod_CFLAGS): Likewise.
18041 (fs_uuid_mod_LDFLAGS): Likewise.
18042 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18043 Set to util/grub-install.in.
18044 * disk/fs_file.c: Removed.
18045 * disk/fs_uuid.c: Likewise.
18046 * include/grub/search.h: New file.
18047 * util/grub-install.in: Handle sparc64.
18048 Create and use load.cfg.
18049 * util/sparc64/ieee1275/grub-install.in: Removed.
18050
db943399
VS
180512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18054 Ignore return status if CF is cleared.
18055 (grub_biosdisk_get_diskinfo_standard): Likewise.
18056
3fdae612
RM
180572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18058
18059 * term/i386/pc/at_keyboard.c
18060 (keyboard_controller_wait_untill_ready): New function.
18061 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18062 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18063 for keyboard polling, rather than duplicate the same loop. This
18064 saves a few bytes in code size.
18065
7ebaa2b4
VS
180662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 Support for (pxe[:server[:gateway]]) syntax and
18069 use environment variable for PXE.
18070
18071 * commands/i386/pc/pxecmd.c (options): Removed.
18072 (print_ip): Removed.
18073 (grub_cmd_pxe): Removed
18074 (grub_cmd_pxe_unload): New function.
18075 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18076 (grub_pxe_your_ip): Made static.
18077 (grub_pxe_default_server_ip): Likewise.
18078 (grub_pxe_default_gateway_ip): Likewise.
18079 (grub_pxe_blksize): Likewise.
18080 (parse_ip): New function.
18081 (grub_pxe_open): Support server and gateway specification.
18082 (grub_pxe_close): Free disk->data.
18083 (grub_pxefs_open): Use disk->data.
18084 (grub_pxefs_read): Likewise.
18085 (grub_env_write_readonly): New function.
18086 (set_mac_env): Likewise.
18087 (set_env_limn_ro): Likewise.
18088 (parse_dhcp_vendor): Likewise.
18089 (grub_pxe_detect): Set the environment variables.
18090 (set_ip_env): New function.
18091 (write_ip_env): Likewise.
18092 (grub_env_write_pxe_default_server): Likewise.
18093 (grub_env_write_pxe_default_gateway): Likewise.
18094 (grub_env_write_pxe_blocksize): Likewise.
18095 (GRUB_MOD_INIT(pxe)): Set environment variables.
18096 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18097 (grub_pxe_mac_addr_t): ... this. All users updated.
18098 (grub_pxe_your_ip): Removed.
18099 (grub_pxe_server_ip): Likewise.
18100 (grub_pxe_gateway_ip): Likewise.
18101 (grub_pxe_blksize): Likewise.
18102
ec5f98ab 181032009-12-25 Carles Pina i Estany <carles@pina.cat>
18104
18105 * commands/help.c: Include `<grub/i18n.h>'.
18106 (grub_cmd_help): Gettextizze.
18107 (GRUB_MOD_INIT): Likewise.
18108 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18109 (GRUB_MOD_INIT): Gettextizze.
18110 * commands/search.c: Include `<grub/i18n.h>'.
18111 (options): Gettextizze.
18112 (GRUB_MOD_INIT): Gettextizze.
18113 * lib/arg.c: Include `<grub/i18n.h>'.
18114 (help_options): Gettextizze.
18115 (find_long): Likewise.
18116 (grub_arg_show_help): Likewise.
18117 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18118 (read_command_list): Gettextizze.
18119 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18120 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18121
22815526
RM
181222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18123
18124 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18125 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18126 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18127 (led_status): New variable.
18128 (keyboard_controller_led): New function.
18129 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18130 update led status for caps lock, num lock and scroll lock.
18131
0ad46fd7
FZ
181322009-12-25 Felix Zielcke <fzielcke@z-51.de>
18133
18134 * util/hostdisk.c (open_device): Fix a comment.
18135
d0e158c2
RM
181362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18137
18138 * util/grub-install.in (host_os): New variable.
18139 * util/i386/efi/grub-install.in (host_os): Likewise.
18140
401c0ad6
RM
181412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18142
18143 * util/mkisofs/write.c (padblock_write): Abort when given an
18144 excedingly large embed image, instead of silently truncating it.
18145
d14d3370
RM
181462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18147
18148 * include/multiboot.h: Indentation fixes.
18149
eeed10b4
RM
181502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18151
18152 * include/multiboot.h (struct multiboot_aout_symbol_table)
18153 (struct multiboot_elf_section_header_table): New structure
18154 declarations (stolen from GRUB Legacy).
18155 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18156 table information.
18157
18158 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18159 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18160 type aliases.
18161
681c70ab
RM
181622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18163
18164 * include/multiboot.h: Make comments src2texi-friendly.
18165
e4d47d8d
RM
181662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18167
18168 For consistency with [multiboot]/docs/boot.S.
18169
18170 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18171 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18172 (MULTIBOOT_MAGIC2): Rename from this ...
18173 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18174
a0b70bda
RM
181752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18176
18177 * include/multiboot.h: Remove `<grub/types.h>'.
18178 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18179 types. Update all users.
18180
61ba42be 181812009-12-25 Carles Pina i Estany <carles@pina.cat>
18182
18183 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18184 `couldn't' and `can not' by `cannot'.
18185 * commands/i386/pc/drivemap.c: Likewise.
18186 * disk/ata.c: Likewise.
18187 * disk/ieee1275/nand.c: Likewise.
18188 * fs/affs.c: Likewise.
18189 * fs/fat.c: Likewise.
18190 * fs/hfs.c: Likewise.
18191 * fs/hfsplus.c: Likewise.
18192 * fs/iso9660.c: Likewise.
18193 * fs/jfs.c: Likewise.
18194 * fs/minix.c: Likewise.
18195 * fs/reiserfs.c: Likewise.
18196 * fs/sfs.c: Likewise.
18197 * fs/udf.c: Likewise.
18198 * fs/ufs.c: Likewise.
18199 * fs/xfs.c: Likewise.
18200 * loader/powerpc/ieee1275/linux.c: Likewise.
18201 * loader/sparc64/ieee1275/linux.c: Likewise.
18202 * util/grub-probe.c: Likewise.
18203 * util/misc.c: Likewise.
18204
7fd0baee 182052009-12-24 Carles Pina i Estany <carles@pina.cat>
18206
18207 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18208 grub_errno calls.
18209 * commands/acpi.c: Likewise.
18210 * commands/blocklist.c: Likewise.
18211 * commands/efi/loadbios.c: Likewise.
18212 * commands/i386/pc/drivemap.c: Likewise.
18213 * commands/loadenv.c: Likewise.
18214 * commands/memrw.c: Likewise.
18215 * commands/password.c: Likewise.
18216 * commands/videotest.c: Likewise.
18217 * disk/ata.c: Likewise.
18218 * disk/ata_pthru.c: Likewise.
18219 * disk/dmraid_nvidia.c: Likewise.
18220 * disk/ieee1275/nand.c: Likewise.
18221 * disk/ieee1275/ofdisk.c: Likewise.
18222 * disk/loopback.c: Likewise.
18223 * disk/lvm.c: Likewise.
18224 * disk/mdraid_linux.c: Likewise.
18225 * disk/raid.c: Likewise.
18226 * disk/raid6_recover.c: Likewise.
18227 * disk/scsi.c: Likewise.
18228 * efiemu/main.c: Likewise.
18229 * efiemu/mm.c: Likewise.
18230 * efiemu/pnvram.c: Likewise.
18231 * efiemu/symbols.c: Likewise.
18232 * font/font.c: Likewise.
18233 * fs/cpio.c: Likewise.
18234 * fs/hfsplus.c: Likewise.
18235 * fs/iso9660.c: Likewise.
18236 * fs/jfs.c: Likewise.
18237 * fs/minix.c: Likewise.
18238 * fs/ntfs.c: Likewise.
18239 * fs/ntfscomp.c: Likewise.
18240 * fs/reiserfs.c: Likewise.
18241 * fs/ufs.c: Likewise.
18242 * fs/xfs.c: Likewise.
18243 * gettext/gettext.c: Likewise.
18244 * include/grub/auth.h: Likewise.
18245 * kern/elf.c: Likewise.
18246 * kern/file.c: Likewise.
18247 * kern/ieee1275/init.c: Likewise.
18248 * kern/ieee1275/mmap.c: Likewise.
18249 * kern/ieee1275/openfw.c: Likewise.
18250 * kern/powerpc/dl.c: Likewise.
18251 * kern/sparc64/dl.c: Likewise.
18252 * lib/arg.c: Likewise.
18253 * loader/i386/bsd.c: Likewise.
18254 * loader/i386/bsdXX.c: Likewise.
18255 * loader/i386/efi/linux.c: Likewise.
18256 * loader/i386/efi/xnu.c: Likewise.
18257 * loader/i386/ieee1275/linux.c: Likewise.
18258 * loader/i386/linux.c: Likewise.
18259 * loader/i386/multiboot.c: Likewise.
18260 * loader/i386/pc/linux.c: Likewise.
18261 * loader/i386/pc/multiboot2.c: Likewise.
18262 * loader/i386/xnu.c: Likewise.
18263 * loader/ieee1275/multiboot2.c: Likewise.
18264 * loader/macho.c: Likewise.
18265 * loader/machoXX.c: Likewise.
18266 * loader/multiboot2.c: Likewise.
18267 * loader/multiboot_loader.c: Likewise.
18268 * loader/powerpc/ieee1275/linux.c: Likewise.
18269 * loader/sparc64/ieee1275/linux.c: Likewise.
18270 * loader/xnu.c: Likewise.
18271 * loader/xnu_resume.c: Likewise.
18272 * mmap/i386/pc/mmap.c: Likewise.
18273 * normal/menu_viewer.c: Likewise.
18274 * partmap/acorn.c: Likewise.
18275 * partmap/amiga.c: Likewise.
18276 * partmap/apple.c: Likewise.
18277 * script/lexer.c: Likewise.
18278 * term/gfxterm.c: Likewise.
18279 * term/i386/pc/serial.c: Likewise.
18280 * term/i386/pc/vga.c: Likewise.
18281 * term/ieee1275/ofconsole.c: Likewise.
18282 * term/terminfo.c: Likewise.
18283 * video/bitmap.c: Likewise.
18284 * video/efi_gop.c: Likewise.
18285 * video/efi_uga.c: Likewise.
18286 * video/fb/video_fb.c: Likewise.
18287 * video/i386/pc/vbe.c: Likewise.
18288 * video/readers/tga.c: Likewise.
18289 * video/video.c: Likewise.
18290
0ad46fd7 182912009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
18292
18293 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18294 * commands/lspci.c: Likewise.
18295 * commands/probe.c: Likewise.
18296 * commands/xnu_uuid.c: Likewise.
18297 * conf/i386-coreboot.rmk: Likewise.
18298 * conf/i386-efi.rmk: Likewise.
18299 * conf/i386-ieee1275.rmk: Likewise.
18300 * conf/i386-pc.rmk: Likewise.
18301 * conf/powerpc-ieee1275.rmk: Likewise.
18302 * conf/sparc64-ieee1275.rmk: Likewise.
18303 * conf/x86_64-efi.rmk: Likewise.
18304 * fs/i386/pc/pxe.c: Likewise.
18305 * gettext/gettext.c: Likewise.
18306 * include/grub/efi/graphics_output.h: Likewise.
18307 * include/grub/i386/pc/memory.h: Likewise.
18308 * kern/env.c: Likewise.
18309 * kern/i386/qemu/startup.S: Likewise.
18310 * lib/i386/pc/biosnum.c: Likewise.
18311 * lib/i386/relocator.c: Likewise.
18312 * lib/i386/relocator_asm.S: Likewise.
18313 * lib/relocator.c: Likewise.
18314 * loader/i386/bsd.c: Likewise.
18315 * loader/i386/multiboot.c: Likewise.
18316 * loader/i386/pc/chainloader.c: Likewise.
18317 * loader/i386/xnu.c: Likewise.
18318 * loader/xnu.c: Likewise.
18319 * normal/main.c: Likewise.
18320 * normal/menu_text.c: Likewise.
18321 * util/getroot.c: Likewise.
18322 * util/grub-mkconfig_lib.in: Likewise.
18323 * util/grub.d/00_header.in: Likewise.
18324 * util/i386/pc/grub-mkimage.c: Likewise.
18325 * util/mkisofs/eltorito.c: Likewise.
18326 * util/mkisofs/exclude.h: Likewise.
18327 * util/mkisofs/hash.c: Likewise.
18328 * util/mkisofs/iso9660.h: Likewise.
18329 * util/mkisofs/joliet.c: Likewise.
18330 * util/mkisofs/mkisofs.c: Likewise.
18331 * util/mkisofs/mkisofs.h: Likewise.
18332 * util/mkisofs/multi.c: Likewise.
18333 * util/mkisofs/name.c: Likewise.
18334 * util/mkisofs/rock.c: Likewise.
18335 * util/mkisofs/tree.c: Likewise.
18336 * util/mkisofs/write.c: Likewise.
18337 * video/efi_gop.c: Likewise.
18338
009ec743
VS
183392009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18342 size counting.
18343
0ad46fd7 183442009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
18345
18346 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18347 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18348
d3d30ea0
VS
183492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18352 (GRUB_MOD_INIT(memrw)): Update help line.
18353
a34f5c70
VS
183542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18357 Use grub_extcmd_t. All users updated.
18358 (options): New variable.
18359 (grub_cmd_read): Restructure for readability. Support "-v" option.
18360 (grub_cmd_write): Restructure for readability.
18361
0ad46fd7 183622009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
18363
18364 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18365
0ad46fd7 183662009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
18367
18368 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18369 with the actual contents of the correspondending make variable.
18370 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18371 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18372 specifying `*.lst' and `efiemu??.o'
18373
0ad46fd7 183742009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
18375
18376 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18377 after function name.
18378 Noticed by Rene Engelhard <rene@debian.org>.
18379
dc77a799
VS
183802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18381
18382 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18383 (options): New variable.
18384 (iospace): Likewise.
18385 (grub_lspci_iter): List IO spaces if "-i" was given.
18386 (grub_cmd_lspci): Parse options.
18387 (GRUB_MOD_INIT(lspci)): Use extcmd.
18388 (GRUB_MOD_FINI(lspci)): Likewise.
18389
0ad46fd7 183902009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
18391
18392 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18393 `function' keyword.
18394 Patch by Tony Mancill <tmancill@debian.org>.
18395
b5d5993b
VS
183962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18399 (grub_uhci_portstatus): Likewise.
18400 (grub_uhci_portstatus): Add necessary delay.
11d18281 18401 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18402
941903f2 184032009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18404
941903f2 18405 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18406 (GRUB_MOD_INIT): Likewise.
18407 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18408 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18409 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18410 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18411 (enable_rom_area): Likewise.
18412 (GRUB_MOD_INIT): Likewise.
18413 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18414 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18415 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18416 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18417 * commands/hexdump.c (options): Likewise.
18418 * commands/i386/cpuid.c (options): Likewise.
18419 (GRUB_MOD_INIT): Likewise.
18420 * commands/i386/pc/drivemap.c (options): Likewise.
18421 (GRUB_MOD_INIT): Likewise.
18422 * commands/i386/pc/halt (options): Likewise.
18423 (GRUB_MOD_INIT): Likewise.
18424 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18425 * commands/i386/pc/pxecmd.c (options): Likewise.
18426 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18427 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18428 * commands/keystatus.c (options): Likewise.
18429 (GRUB_MOD_INIT): Likewise.
18430 * commands/loadenv.c (options): Likewise.
18431 * commands/ls.c (options): Likewise.
18432 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18433 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18434 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18435 * commands/parttool.c (helpmsg): Likewise.
18436 * commands/probe.c (options): Likewise.
18437 * commands/read.c (GRUB_MOD_INIT): Likewise.
18438 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18439 * commands/search.c (options): Likewise.
18440 * commands/sleep.c (options): Likewise.
18441 * commands/test.c (GRUB_MOD_INIT): Likewise.
18442 * commands/true.c (GRUB_MOD_INIT): Likewise.
18443 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18444 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18445 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18446 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18447 `$(XGETTEXT)'.
98a50553 18448 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18449
0ad46fd7 184502009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18451
ef3c2c3a 18452 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18453 instead of specifying them explicit.
18454
7922f68b
RM
184552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18456
18457 * NEWS: Add grub-probe support for GNU/Hurd.
18458
537ce47f
RM
184592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18460
18461 * NEWS: gettext was added after 1.97.
18462
9b214e3a
RM
184632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18464
18465 * util/mkisofs/msdos_partition.h: New file (based on
18466 include/grub/msdos_partition.h).
18467 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18468 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18469 (ld_options, main): Recognize --protective-msdos-label.
18470 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18471 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18472 (padblock_write): If `use_protective_msdos_label' is set, patch a
18473 protective DOS-style label in the output image.
18474
18475 * util/grub-mkrescue.in: Use --protective-msdos-label.
18476
e9309813
RM
184772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18478
18479 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18480 boot.
18481
0ae56929
RM
184822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18483
18484 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18485 variables.
18486 (ld_options, main): Recognize `--embedded-boot'.
18487 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18488 declarations.
18489 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18490 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18491 (padblock_write): Likewise. Rewrite to support embedded boot image.
18492
18493 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18494 for BIOS-based disk boot instead of only ElTorito.
18495
b15937b1
RM
184962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18497
18498 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18499 build (not needed for bootstrap).
18500
52cc3ce0
RM
185012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18502
18503 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18504 from i386-pc build (not needed for bootstrap).
18505 Rewrite a pair of strings.
18506
36f5ff04
RM
185072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18508
18509 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18510
973c6c85 185112009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18512
18513 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18514
05d21547
AB
185152009-12-21 Andreas Born <futur.andy@googlemail.com>
18516
18517 * kern/env.c (grub_env_context_open): Mark exported variable for
18518 reexport.
18519
0175d51f
AB
185202009-12-21 Andreas Born <futur.andy@googlemail.com>
18521
18522 * kern/env.c (grub_env_export): Create nonexistent variables before
18523 exporting.
18524
7f39d92f 185252009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 18526
7f39d92f 18527 * include/grub/auth.h: Include `<grub/i18n.h>'.
18528 (GRUB_GET_PASSWORD): Gettextizze string.
18529 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18530 menu_text.c.
18531 (grub_utf8_to_ucs4_alloc): Fix indentation.
18532 (grub_print_ucs4): Likewise.
18533 (grub_getstringwidth): Likewise.
18534 (print_message_indented): New declaration.
18535 * normal/auth.c: Include `<grub/i18n.h>'.
18536 (grub_auth_check_authentication): Gettexttize string.
18537 * normal/cmdline.c: Include `<grub/i18n.h>'.
18538 (grub_cmdline_get): Gettextizze.
18539 * normal/color.c: Include `<grub/i18n.h>'.
18540 (grub_parse_color_name_pair): Gettexttize strings.
18541 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18542 string (use `print_message_indented').
18543 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18544 `include/grub/normal.h'.
18545 (print_message_indented): Renamed to ...
18546 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18547 used in normal/main.c).
18548 (print_message): Use `grub_print_message_indented' instead of
18549 `print_message_indented'.
18550 (print_timeout): Likewise.
18551 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18552 (grub_normal_print_device_info): Gettexttize strings.
18553 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18554
3041d898
VS
185552009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18558 of arguments. Return number of tokens and not arguments. All users
18559 updated.
18560
de15bf8e
VS
185612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18564 non-MSDOS paritions.
18565
e0a6ca52
VS
185662009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18567
18568 * include/grub/types.h (UNUSED): Removed since it conflicts with
18569 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18570 Reported by Grégoire Sutre.
18571
b99518d1 185722009-12-19 Carles Pina i Estany <carles@pina.cat>
18573
18574 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18575 (grub_print_ucs4_alloc): Likewise.
18576 (grub_getstringwidth): Likewise.
18577 * normal/main.c (grub_normal_init_page): Gettextize version string.
18578 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18579 (getstringwidth): Renamed to ...
18580 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18581 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18582 (grub_print_ucs4): Remove `static' qualifer (now used in
18583 normal/main.c).
18584 * po/POTFILES: Add normal/main.c.
18585
bfd5e52b 185862009-12-19 Carles Pina i Estany <carles@pina.cat>
18587
18588 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18589 (print_message_indented): Add `margin_left' and `margin_right'
18590 parameters.
18591 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18592 strings.
18593 (print_timeout): Use `print_message_indented' to print the message.
18594 Deletes `second_stage' parameter.
18595 (run_menu): Update `print_timeout' calls.
18596
5a1ad2b9
VS
185972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 Fix console palette on OpenFirmware.
18600
18601 * term/ieee1275/ofconsole.c (MAX): Removed.
18602 (colors): Redone based on VGA palette.
18603 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18604 colors are supported.
18605 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18606
b045f00a
VS
186072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 Fix potential EfiEmu double prepare.
18610
18611 * efiemu/main.c (prepared): New variable
18612 (grub_efiemu_unload): Set prepare to '0'.
18613 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18614
18615 set_virtual_address_map support.
18616
18617 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18618 prototype.
18619 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18620 prototype.
18621 (grub_efiemu_crc32): Likewise.
18622 (grub_efiemu_crc64): Likewise.
18623 (grub_efiemu_set_virtual_address_map): Likewise.
18624 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18625 New definition.
18626 (grub_autoefi_set_virtual_address_map): Likewise.
18627 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18628 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18629 Restructure flow to accomodate it.
18630 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18631 (grub_efiemu_crc): Recompute CRC32.
18632 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18633 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18634 * efiemu/symbols.c (relocated_handle): New variable.
18635 (grub_efiemu_free_syms): Free relocated_handle.
18636 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18637 (grub_efiemu_write_sym_markers): New function.
18638 (grub_efiemu_set_virtual_address_map): Likewise.
18639
18640 Newer XNU parameters.
18641
18642 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18643 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18644 (grub_xnu_fill_devicetree): New prototype.
18645 (grub_xnu_heap_real_start): New variable.
18646 * loader/xnu.c (get_name_ptr): New function.
18647 (grub_xnu_load_driver): Fill namelen and name.
18648
18649 64-bit xnu support.
18650
18651 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18652 and 'loader/macho64.c'.
18653 * conf/i386-pc.rmk: Likewise.
18654 * conf/x86_64-efi.rmk: Likewise.
18655 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18656 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18657 * include/grub/macho.h (grub_macho_segment64): New structure.
18658 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18659 (grub_macho_size32): ... to this.
18660 (grub_macho32_get_entry_point): Renamed from ...
18661 (grub_macho_get_entry_point32): ... to this.
18662 (grub_macho_contains_macho64): New prototype.
18663 (grub_macho_size64): Likewise.
18664 (grub_macho_get_entry_point64): Likewise.
18665 (grub_macho32_load): Renamed from ...
18666 (grub_macho_load32): ... to this.
18667 (grub_macho32_filesize): Renamed from ...
18668 (grub_macho_filesize32): ... to this.
18669 (grub_macho32_readfile): Renamed from ...
18670 (grub_macho_readfile32): ... to this.
18671 (grub_macho_filesize64): New prototype.
18672 (grub_macho_readfile64): Likewise.
18673 (grub_macho_parse32): Likewise.
18674 (grub_macho_parse64): Likewise.
18675 * loader/macho.c: Split into ...
18676 * loader/machoXX.c: ... and this. Replace 32 with XX.
18677 * loader/macho32.c: New file.
18678 * loader/macho64.c: Likewise.
18679 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18680 (grub_cmd_xnu_kernel): Make 32-bit only.
18681 (grub_cmd_xnu_kernel64): New function.
18682 (grub_xnu_load_driver): Support Mach-O 64.
18683 (grub_cmd_xnu_mkext): Likewise.
18684 * util/grub.d/30_os-prober.in (osx_entry): New function.
18685 Generate entries for 64-bit boot too.
18686
18687 Eliminate ad-hoc tree format in XNU and EfiEmu.
18688
18689 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18690 * efiemu/pnvram.c: Rewritten to use environment variables.
18691 All users updated.
18692
18693 Inline utf16_to_utf8.
18694
18695 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18696 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18697 All users updated.
18698 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18699
18700 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18701 * commands/usbtest.c (grub_usb_get_string): ... move here.
18702 (usb_print_str): Fix error handling.
18703 * include/grub/usb.h (grub_usb_get_string): Remove.
18704
18705 UTF-8 to UTF-16 transformation.
18706
18707 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18708 (charset_mod_SOURCES): New variable.
18709 (charset_mod_CFLAGS): Likewise.
18710 (charset_mod_LDFLAGS): Likewise.
18711 * include/grub/utf.h: New file.
18712 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18713
18714 Support for device properties.
18715
18716 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18717 (grub_xnu_devprop_device_header): Likewise.
18718 (grub_xnu_devprop_device_descriptor): Likewise.
18719 (grub_xnu_devprop_add_device): New prototype.
18720 (grub_xnu_devprop_remove_device): Likewise.
18721 (grub_xnu_devprop_remove_property): Likewise.
18722 (grub_xnu_devprop_add_property_utf8): Likewise.
18723 (grub_xnu_devprop_add_property_utf16): Likewise.
18724 (grub_cpu_xnu_init): Likewise.
18725 (grub_cpu_xnu_fini): Likewise.
18726 (grub_cpu_xnu_unload): Likewise.
18727 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18728 (property_descriptor): Likewise.
18729 (devices): New variable.
18730 (grub_xnu_devprop_remove_property): New function.
18731 (grub_xnu_devprop_add_device): Likewise.
18732 (grub_xnu_devprop_remove_device): Likewise.
18733 (grub_xnu_devprop_add_property): Likewise.
18734 (grub_xnu_devprop_add_property_utf8): Likewise.
18735 (grub_xnu_devprop_add_property_utf16): Likewise.
18736 (hextoval): Likewise.
18737 (grub_cpu_xnu_fill_devprop): Likewise.
18738 (grub_cmd_devprop_load): Likewise.
18739 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18740 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18741 (cmd_devprop_load): New variable.
18742 (grub_cpu_xnu_init): New function.
18743 (grub_cpu_xnu_fini): Likewise.
18744 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18745 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18746 (grub_cmd_xnu_devtree): Likewise.
18747 (hextoval): New function.
18748 (unescape): Likewise.
18749 (grub_xnu_fill_devicetree): Likewise.
18750
18751 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18752 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18753
0945f181
VS
187542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 Workaround for broken ATI VBE.
18757
18758 * video/i386/pc/vbe.c (last_set_mode): New variable.
18759 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18760 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18761 (grub_video_vbe_setup): Don't check for reserved flag.
18762
0ad46fd7 187632009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
18764
18765 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18766 the `find' command.
18767
c179ebe4
VS
187682009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18769
18770 UUID support for HFS.
18771
18772 * fs/hfs.c (grub_hfs_uuid): New function.
18773 (grub_hfs_fs): New value .uuid.
18774 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18775
0ad46fd7 187762009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
18777
18778 Fix a segfault with parsing unknown long options.
18779
18780 * util/grub-mkrelpath.c (options): Zero terminate it.
18781
c4a3e41a
CPE
187822009-12-13 Carles Pina i Estany <carles@pina.cat>
18783
18784 * include/grub/misc.h (grub_puts): New declaration.
18785 (grub_puts_): Likewise.
a22008a6 18786 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
18787 (grub_puts_): Likewise.
18788
2e8a7602
RM
187892009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18790
18791 * util/grub-probe.c (probe): Improve error message.
18792
b50b77b9
RM
187932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18794
18795 * loader/i386/multiboot_elfxx.c
18796 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18797 initialization.
18798
187992009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 Relocator framework
18802
18803 * loader/i386/xnu_helper.S: Removed. All users updated.
18804 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18805 (relocator_mod_SOURCES): New variable.
18806 (relocator_mod_CFLAGS): Likewise.
18807 (relocator_mod_LDFLAGS): Likewise.
18808 (relocator_mod_ASFLAGS): Likewise.
18809 * conf/x86_64.rmk: Likewise.
18810 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18811 (grub_multiboot_payload_entry_offset): Likewise.
18812 (grub_multiboot_forward_relocator): Likewise.
18813 (grub_multiboot_forward_relocator_end): Likewise.
18814 (grub_multiboot_backward_relocator): Likewise.
18815 (grub_multiboot_backward_relocator_end): Likewise.
18816 (grub_multiboot_payload_eip): New variable.
18817 (grub_multiboot_payload_orig): Likewise.
18818 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18819 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18820 * include/grub/i386/memory.h
18821 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18822 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18823 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18824 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18825 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18826 * include/grub/i386/relocator.h: New file.
18827 * include/grub/x86_64/relocator.h: Likewise.
18828 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18829 (XNU_RELOCATOR): New macro.
18830 (grub_xnu_launcher_start): Remove.
18831 (grub_xnu_launcher_end): Likewise.
18832 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18833 (grub_xnu_heap_real_start): Remove.
18834 (grub_xnu_heap_start): Change to void *. All users updated.
18835 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18836 * lib/i386/relocator.c: New file.
18837 * lib/i386/relocator_asm.S: Likewise.
18838 * lib/i386/relocator_backward.S: Likewise.
18839 * lib/mips/relocator.c: Likewise.
18840 * lib/mips/relocator_asm.S: Likewise.
18841 * lib/relocator.c: Likewise.
18842 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18843 (entry): Removed.
18844 (playground): Likewise.
18845 (grub_multiboot_payload_orig): New variable.
18846 (grub_multiboot_payload_dest): Likewise.
18847 (grub_multiboot_payload_size): Likewise.
18848 (grub_multiboot_payload_eip): Likewise.
18849 (grub_multiboot_payload_esp): Likewise.
18850 (grub_multiboot_boot): Use grub_relocator32_boot.
18851 (grub_multiboot_unload): Free relocators.
18852 (grub_multiboot): Setup stack. Use relocators.
18853 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18854 (grub_multiboot_load_elfXX): Use relocators.
18855 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18856 (grub_multiboot_payload_size): Likewise.
18857 (grub_multiboot_payload_dest): Likewise.
18858 (grub_multiboot_payload_entry_offset): Likewise.
18859 (grub_multiboot_forward_relocator): Likewise.
18860 (grub_multiboot_backward_relocator): Likewise.
18861 (grub_multiboot_real_boot): Likewise.
18862 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18863 (grub_xnu_entry_point): Likewise.
18864 (grub_xnu_arg1): Likewise.
18865 (grub_xnu_stack): Likewise.
18866 (grub_xnu_launch): Removed.
18867 (grub_xnu_boot_resume): New function.
18868 (grub_xnu_boot): Use relocators.
18869 * loader/i386/xnu_helper.S: Removed.
18870 * loader/xnu.c (grub_xnu_heap_start): New variable.
18871 (grub_xnu_heap_size): Likewise.
18872 (grub_xnu_heap_malloc): Use relocators.
18873 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18874
29eb90c6
VS
188752009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18878 anything.
18879
31027430
CPE
188802009-12-13 Carles Pina i Estany <carles@pina.cat>
18881
18882 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18883 GRUB_ERR_NONE before calling grub_env_set.
18884
dc0c71d9
RM
188852009-12-12 Robert Millan <rmh@aybabtu.com>
18886
18887 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18888 * genmk.rb (video): New variable.
18889 (CLEANFILES, VIDEOFILES): Add #{video}.
18890 (#{video}): New target rule.
18891 * genvideolist.sh: New file.
18892 * Makefile.in (pkglib_DATA): Add video.lst.
18893 (video.lst): New target rule.
18894 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18895 `video.lst'.
18896 * util/grub.d/30_os-prober.in: Replace `vbe' with
18897 ${GRUB_VIDEO_BACKEND}.
18898
2a4bfcf0
RM
188992009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18900
18901 * THANKS: Add David Miller.
18902
2a3aa4d5
RM
189032009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 libpciaccess support.
18906
18907 * Makefile.in (LIBPCIACCESS): New variable.
18908 (enable_grub_emu_pci): Likewise.
18909 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18910 util/pci.c and commands/lspci.c.
18911 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18912 * configure.ac (grub-emu-pci): New option.
18913 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18914 (grub_pci_device_unmap_range): Likewise.
18915 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18916 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18917 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18918 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18919 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18920 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18921 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18922 * include/grub/pciutils.h: New file.
18923 * util/pci.c: Likewise.
18924
0ad46fd7 189252009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
18926
18927 * util/misc.c: Don't include <errno.h> twice.
18928
0ad46fd7 189292009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
18930
18931 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18932 name in an error message.
18933 (grub_biosdisk_rw): Likewise.
18934
2e59983c
VS
189352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 Eliminate NTFS 4Gib barrier.
18938
18939 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18940 (read_run_data): Likewise.
18941 (grub_ntfs_read_run_list): Likewise.
18942 (grub_ntfs_read_block): Likewise.
18943 (grub_ntfs_iterate_dir): Likewise.
18944 (read_mft): Likewise.
18945 (read_data): Likewise.
18946 Use COM_LOG_LEN.
18947 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18948 to avoid 64-bit division
18949 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18950 (grub_ntfs_rlst): Use grub_disk_addr_t.
18951
71ee178a
VS
189522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18953
18954 Eliminate grub-fstest 4Gib barrier.
18955
18956 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18957 (read_file): Fix error reporting.
18958
2520d4b8
VS
189592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 Eliminate hexdump 4Gib barrier.
18962
18963 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18964 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18965
e1f27065
VS
189662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18969 Fixes amarsh bug.
18970
1a0f7f45
RM
189712009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18972
18973 Remove miscellaneous files in distclean target.
18974
18975 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18976
c631d9fb
CW
189772009-12-09 Colin Watson <cjwatson@ubuntu.com>
18978
18979 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18980 if they're already set. This resolves the conflict between my
18981 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18982 fixing the --grub-probe option again.
18983 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18984 change on 2009-10-06, so that we now once again source
18985 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18986
7c7b6106
RM
189872009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18988
18989 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18990 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18991 `util/devicemap.c'.
18992
e3069ec1
CPE
189932009-12-08 Carles Pina i Estany <carles@pina.cat>
18994
18995 * include/grub/misc.h (grub_printf_): New declaration.
18996 * kern/misc.c (grub_printf_): New definition.
18997 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18998 instead of `grub_printf' and `_'.
18999 * normal/menu_entry.c (store_completion): Likewise.
19000 (run): Likewise.
19001 (grub_menu_entry_run): Likewise.
19002 * normal/menu_text.c (grub_wait_after_message): Likewise.
19003 (notify_booting): Likewise.
19004 (notify_fallback): Likewise.
19005 (notify_execution_failure): Likewise.
19006
d6ceebf1
CW
190072009-12-07 Colin Watson <cjwatson@ubuntu.com>
19008
19009 * configure.ac: Check for vasprintf.
19010 * util/misc.c (asprintf): Move allocation from here ...
19011 (vasprintf): ... to here. New function.
19012 (xasprintf): New function.
19013 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19014 prototypes.
19015 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19016 * util/grub-mkfont.c (write_font): Likewise.
19017 * util/grub-probe.c (probe): Likewise.
19018 * util/hostdisk.c (make_device_name): Likewise.
19019
de6daa8b
DM
190202009-12-06 David S. Miller <davem@sunset.davemloft.net>
19021
19022 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19023 anything even prefixed with 'cdrom' as a cdrom.
19024
0ad46fd7 190252009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
19026
19027 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19028 mount points.
19029
98d3dc02
CPE
190302009-12-05 Carles Pina i Estany <carles@pina.cat>
19031
19032 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19033 grub_gettext_msg_list.
19034 (grub_gettext_gettranslation_from_position): Return const char *
19035 and not char *.
a2c1332b 19036 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
19037 returns from the list if existing there.
19038 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19039 (grub_gettext_delete_list): Delete the list.
19040 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19041 lang environment variable is changed.
19042 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19043
b283f108
VS
190442009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 Rename kernel.mod to kernel.img.
19047
19048 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19049 (kernel_mod_EXPORTS): Rename to ...
19050 (kernel_img_EXPORTS): ... this.
19051 (kernel_mod_SOURCES): Rename to ...
19052 (kernel_img_SOURCES): ... this.
19053 (kernel_mod_HEADERS): Rename to ...
19054 (kernel_img_HEADERS): ... this. All users updated.
19055 (kernel_mod_CFLAGS): Rename to ...
19056 (kernel_img_CFLAGS): ... this.
19057 (kernel_mod_ASFLAGS): Rename to ...
19058 (kernel_img_ASFLAGS): ... this.
19059 (kernel_mod_LDFLAGS): Rename to ...
19060 (kernel_img_LDFLAGS): ... this.
19061 * conf/x86_64-efi.rmk: Likewise.
19062 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19063 (read_kernel_image): ... this. All users updated.
19064 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19065
69055f8a
CPE
190662009-12-05 Carles Pina i Estany <carles@pina.cat>
19067
19068 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19069 (print_spaces): New function.
19070 (grub_print_ucs4): New function.
19071 (getstringwidth): New function.
19072 (print_message_indented): New function.
19073 (print_message): Gettexttize strings using print_message_indented.
19074 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19075 width.
19076 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 19077 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
19078 Gettextize.
19079 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19080 string.
19081 (run): Likewise.
19082 (grub_menu_entry_run): Likewise.
19083 * PO/POTFILES: Add normal/menu_entry.c.
19084
f616f51c
VS
190852009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19086
19087 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19088
57bbe3be
CPE
190892009-12-05 Carles Pina i Estany <carles@pina.cat>
19090
19091 * util/grub-install.in: Install gettext .mo files.
19092 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19093
013d67a1
CPE
190942009-12-05 Carles Pina i Estany <carles@pina.cat>
19095
19096 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19097 grub_dprintf.
19098
fb954db0
RM
190992009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19100
19101 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19102 non-firmware-dependant one in realmode.S takes precedence.
19103
6b8474f8
RM
191042009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19105
19106 * commands/halt.c: Replace misc arch-specific headers with
19107 `<grub/misc.h>'.
19108 * commands/reboot.c: Likewise.
19109 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19110 `<grub/misc.h>'.
19111 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19112 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19113 (kernel_img_SOURCES): ... to here.
19114
19115 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19116 * include/grub/i386/pc/init.h: Likewise.
19117 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19118 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19119
19120 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19121
19122 * include/grub/i386/halt.h: Remove.
19123 * include/grub/i386/reboot.h: Likewise.
19124
19125 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19126
4b2e6ca2
DM
191272009-12-03 David S. Miller <davem@sunset.davemloft.net>
19128
19129 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19130 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19131 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19132 "progname.h"
19133 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19134 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19135 (usage): Add missing comma in printf.
19136
5239348f
RM
191372009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19138
19139 Use the same reboot approach on i386 coreboot and qemu as we do on
19140 BIOS.
19141
19142 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19143 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19144 * kern/i386/reboot.c: Remove.
19145 * include/grub/i386/reboot.h (grub_reboot): Export function.
19146 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19147 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19148 0xf000:0xfff0 instead of 0xffff:0x0000.
19149 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19150 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19151
ef34cbd4
RM
191522009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19153
19154 Fix $srcdir != $objdir build.
19155
19156 * Makefile.in (po/%.po): Rewrite as ...
19157 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19158
dc9837ea
ST
191592009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19160
19161 Fix GNU/Hurd grub-install crash.
19162 * util/grub-probe.c (probe): Try to access `path' only when it is not
19163 NULL.
19164
2f857f98
VS
191652009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 Correct module naming.
19168
19169 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19170 (GRUB_MOD_INIT(efi_uga)): ... to this
19171 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19172 (GRUB_MOD_FINI(efi_uga)): ... to this
19173 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19174 (GRUB_MOD_INIT(efi_gop)): ... to this
19175 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19176 (GRUB_MOD_FINI(efi_gop)): ... to this
19177
c5448046
RM
191782009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19179
19180 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19181 translatable.
19182 (usage): Translate `arg' strings using gettext().
19183 Thanks to Jordi Mallach for the suggestion.
19184
c85184ad
VS
191852009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19186
19187 GOP support. Based on patch from Bean
19188 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19189
19190 * video/efi_gop.c: New file.
19191 * include/grub/efi/graphics_output.h: Likewise.
19192 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19193 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19194 variables.
19195 * conf/x86_64-efi.rmk: Likewise.
19196
8a4c48d8
VS
191972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 Rename efi_fb to efi_uga.
19200
19201 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19202 'efi_uga.mod'.
19203 (efi_fb_mod_SOURCES): Rename this ...
19204 (efi_uga_mod_SOURCES): ... to this.
19205 (efi_fb_mod_CFLAGS): Rename this ...
19206 (efi_uga_mod_CFLAGS): ... to this.
19207 (efi_fb_mod_LDFLAGS): Rename this ...
19208 (efi_uga_mod_LDFLAGS): ... to this.
19209 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19210 'efi_uga.mod'.
19211 (efi_fb_mod_SOURCES): Rename this ...
19212 (efi_uga_mod_SOURCES): ... to this.
19213 (efi_fb_mod_CFLAGS): Rename this ...
19214 (efi_uga_mod_CFLAGS): ... to this.
19215 (efi_fb_mod_LDFLAGS): Rename this ...
19216 (efi_uga_mod_LDFLAGS): ... to this.
19217 * video/efi_fb.c: Move this ...
19218 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19219
fb6c1a7b
RM
192202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19221
19222 * po/README: New file. Explain our PO file workflow.
19223
3bc7896c
RM
192242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19225
19226 * po/ChangeLog: Remove. Move relevant entries back to ...
19227 * ChangeLog: ... here.
19228 * po/ca.po: Remove (now handled by TLP).
19229 * po/id.po: Likewise.
19230 * po/zh_CN.po: Likewise.
19231 * Makefile.in (LINGUAS): Initialize in a way that supports
19232 empty set.
19233
9ed4841d
RM
192342009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19235
19236 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19237 reliing on po/LINGUAS.
19238 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19239 (po/%.po): ... this.
19240
0ad46fd7 192412009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
19242
19243 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19244 (main): Use `program_name' instead of nonexistent `progname'.
19245
e30dd392
FZ
192462009-11-26 Felix Zielcke <fzielcke@z-51.de>
19247
19248 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19249 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19250
7656de4f
RM
192512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19252
19253 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19254 commit.
19255 * conf/i386-efi.rmk: Likewise.
19256 * conf/i386-ieee1275.rmk: Likewise.
19257 * conf/powerpc-ieee1275.rmk: Likewise.
19258 * conf/sparc64-ieee1275.rmk: Likewise.
19259 * conf/x86_64-efi.rmk: Likewise.
19260
db77c4d4
FZ
192612009-11-26 Felix Zielcke <fzielcke@z-51.de>
19262
19263 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19264
a755bb04
FZ
192652009-11-26 Felix Zielcke <fzielcke@z-51.de>
19266
19267 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19268
8a4c07fd
RM
192692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19270
19271 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19272 (grub_mkdevicemap_SOURCES): New variable.
19273 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19274 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19275 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19276 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19277 (grub_mkdevicemap_SOURCES): Remove.
19278 * conf/i386-efi.rmk: Likewise.
19279 * conf/i386-ieee1275.rmk: Likewise.
19280 * conf/i386-pc.rmk: Likewise.
19281 * conf/powerpc-ieee1275.rmk: Likewise.
19282 * conf/sparc64-ieee1275.rmk: Likewise.
19283 * conf/x86_64-efi.rmk: Likewise.
19284 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19285 (usage): Fix strings to use `program_name'.
19286 (main): Initialize gettext.
19287 * util/grub-editenv.c: Likewise.
19288 * util/grub-emu.c: Likewise.
19289 * util/grub-fstest.c: Likewise.
19290 * util/grub-mkdevicemap.c: Likewise.
19291 * util/grub-mkfont.c: Likewise.
19292 * util/grub-mkrelpath.c: Likewise.
19293 * util/grub-pe2elf.c: Likewise.
19294 * util/grub-probe.c: Likewise.
19295 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19296 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19297 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19298
19299 * util/misc.c: Include `"progname.h"'.
19300 (progname): Remove variable.
19301 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19302
6f61ed55
FZ
193032009-11-25 Felix Zielcke <fzielcke@z-51.de>
19304
19305 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19306 printf and print a newline after the menuentry header line.
19307 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19308
f022876b
FZ
193092009-11-25 Felix Zielcke <fzielcke@z-51.de>
19310
19311 autoconf >= 2.60 support $(localedir).
19312
19313 * INSTALL: Note that autoconf 2.60 is required.
19314 * configure.ac (AC_PREREQ): Bump to 2.60.
19315 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19316 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19317
6717926e
YB
193182009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19319
19320 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19321 aclocal is run.
19322
08806a54
RM
193232009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19324
19325 * normal/main.c (grub_normal_read_line): Fix off-by-one
19326 buffer overflow.
19327
13b33fba
RM
193282009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19329
19330 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19331 "parser.grub" in grub_command_execute() call.
19332
4a8572e9
CPE
193332009-11-24 Carles Pina i Estany <carles@pina.cat>
19334
19335 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19336 * conf/i386-efi.rmk: Likewise.
19337 * conf/i386-ieee1275.rmk: Likewise.
19338 * conf/i386-pc.rmk: Likewise.
19339 * conf/powerpc-ieee1275.rmk: Likewise.
19340 * conf/sparc64-ieee1275.rmk: Likewise.
19341 * conf/x86_64-efi.rmk: Likewise.
19342 * gettext/gettex.c: Include <grub/i18n.h>.
19343 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19344 here ...
19345 * include/grub/i18n.h: ... to here
19346 * include/grub/i18n.h: ... to here.
19347 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 19348 (grub_gettext_dummy): Move above user.
4a8572e9 19349
bee48093
FZ
193502009-11-24 Felix Zielcke <fzielcke@z-51.de>
19351
19352 * util/Makefile.in (install-local): Convert a `for' into a normal
19353 shell expansion.
19354
a031e91c
RM
193552009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19356
19357 * autogen.sh: Add automake call.
19358 * config.guess: Remove.
19359 * config.sub: Likewise.
19360 * install-sh: Likewise.
19361
26bec39d
FZ
193622009-11-24 Felix Zielcke <fzielcke@z-51.de>
19363
19364 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19365
8e2532fd
FZ
193662009-11-24 Felix Zielcke <fzielcke@z-51.de>
19367
19368 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19369 function to a normal shell `for'.
19370
fefa1b7d
FZ
193712009-11-24 Felix Zielcke <fzielcke@z-51.de>
19372
19373 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19374
4501250b
FZ
193752009-11-24 Felix Zielcke <fzielcke@z-51.de>
19376
19377 * util/grub-mkrelpath.c: New file.
19378 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19379 (grub_mkrelpath_SOURCES): New variable.
19380 * include/grub/util/misc.h: New function prototype.
19381 * util/misc.c (make_system_path_relative_to_its_root): New function.
19382
19383 * util/grub-mkconfig_lib.in (bindir): New variable.
19384 (grub_mkrelpath): Likewise.
19385 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19386
19387 * util/probe.c (probe): Make the file path relative to its root.
19388 Change a info message to use the GRUB path. Enable again the
19389 check if we can read the file with GRUB facilities.
19390
19391 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19392 to its root.
19393
11d9778b
FZ
193942009-11-24 Felix Zielcke <fzielcke@z-51.de>
19395
19396 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19397 platform.
19398
4465287d
FZ
193992009-11-24 Felix Zielcke <fzielcke@z-51.de>
19400
19401 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19402 strncmp().
19403
62b47f22
FZ
194042009-11-24 Felix Zielcke <fzielcke@z-51.de>
19405
19406 * util/getroot.c (grub_util_is_dmraid): New function.
19407 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19408 devices as normal ones, not as LVM.
19409
1eafb9b9 194102009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19411
19412 * conf/common.rmk: Add grub-gettext_lib target and updates
19413 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19414 LDFLAGS.
19415 * gettext/gettext.c: New file. (Reads mo files).
19416 * include/grub/file.h (grub_file_pread): New prototype.
19417 * include/grub/i18n.h (_): New prototype.
19418 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19419 prototypes.
19420 * kern/misc.c (grub_gettext_dummy): New function.
19421 * normal/menu_text.c: Include <grub/i18n.h>.
19422 * normal/menu_text.c (print_timeout): Gettexttize string.
19423 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19424 * po/POTFILES: Add `normal/menu_text.c'.
19425 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19426 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19427 gettext module and defines locale_dir and lang in grub.cfg.
19428 * NEWS: Add gettext support.
19429
0fdb2568
RM
194302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19431
19432 * util/hostdisk.c: Include `<grub/i18n.h>'.
19433 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19434 (make_device_name): Rewrite using asprintf.
19435 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19436 (find_system_device): If a device is not found, generate one just
19437 by reusing the OS path name.
19438 (read_device_map): Make it permissible for device.map not to exist.
19439
f515aa62
RM
194402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19441
19442 * script/sh/execute.c: Move from here ...
19443 * script/execute.c: ... to here. Update all users.
19444 * script/sh/function.c: Move from here ...
19445 * script/function.c: ... to here. Update all users.
19446 * script/sh/lexer.c: Move from here ...
19447 * script/lexer.c: ... to here. Update all users.
19448 * script/sh/main.c: Move from here ...
19449 * script/main.c: ... to here. Update all users.
19450 * script/sh/parser.y: Move from here ...
19451 * script/parser.y: ... to here. Update all users.
19452 * script/sh/script.c: Move from here ...
19453 * script/script.c: ... to here. Update all users.
19454
f84b481b
RM
194552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19456
19457 * configure.ac: Detect all `emu' platforms. Define
19458 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19459 --enable-grub-emu logic. Disable include/grub/machine
19460 symlink on `emu' platforms.
19461
19462 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19463 * gensymlist.sh.in: Likewise.
19464
19465 * include/grub/i386/coreboot/machine.h: Remove file.
19466 * include/grub/i386/efi/machine.h: Likewise.
19467 * include/grub/i386/ieee1275/machine.h: Likewise.
19468 * include/grub/i386/pc/machine.h: Likewise.
19469 * include/grub/i386/qemu/machine.h: Likewise.
19470 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19471 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19472 * include/grub/x86_64/efi/machine.h: Likewise.
19473
19474 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19475 * commands/halt.c: Likewise.
19476 * commands/reboot.c: Likewise.
19477 * include/grub/autoefi.h: Likewise.
19478 * include/grub/i386/at_keyboard.h: Likewise.
19479 * include/grub/i386/kernel.h: Likewise.
19480 * include/grub/i386/loader.h: Likewise.
19481 * include/grub/i386/pc/memory.h: Likewise.
19482 * kern/dl.c: Likewise.
19483 * kern/i386/coreboot/init.c: Likewise.
19484 * loader/i386/bsd.c: Likewise.
19485 * loader/i386/linux.c: Likewise.
19486 * loader/multiboot_loader.c: Likewise.
19487 * term/i386/pc/serial.c: Likewise.
19488 * term/usb_keyboard.c: Likewise.
19489
19490 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19491 `<grub/machine/machine.h>'
19492 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19493 * util/misc.c: Remove `<grub/machine/machine.h>' and
19494 `<grub/machine/time.h>'.
19495
19496 * Makefile.in (enable_grub_emu): Remove variable.
19497 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19498
19499 * conf/any-emu.rmk: New file.
19500 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19501 (grub_emu_init.c): Move from here ...
19502 * conf/any-emu.rmk: ... to here.
19503
19504 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19505 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19506 * conf/any-emu.rmk: ... to here.
19507
4efeab03
RM
195082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19509
19510 * include/grub/parser.h (grub_parser_register): Document need
19511 of `name' parameter.
19512 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19513 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19514 "sh" to "grub".
19515
ea1dd8bf
RM
195162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19517
19518 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19519 `$(XGETTEXT)'.
19520 * include/grub/i18n.h (N_): New macro.
19521 * util/mkisofs/mkisofs.h: Likewise.
19522 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19523 around N_().
19524 (usage): Use gettext() to translate help strings when printing them.
19525
0c140626
RM
195262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19527
19528 Based on patch from Bean
19529 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19530
19531 * video/efi_fb.c: New file.
19532 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19533 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19534 variables.
19535 * conf/x86_64-efi.rmk: Likewise.
19536
87d58298
RM
195372009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19538
19539 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19540 * util/i386/pc/grub-setup.c: Likewise.
19541
994cc3a3
ST
195422009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19543
19544 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19545 <hurd/fs.h>
19546 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19547 file_get_storage_info to implement grub_guess_root_device.
19548
26a61d6a
FZ
195492009-11-21 Felix Zielcke <fzielcke@z-51.de>
19550
19551 * Makefile.in (target): Use make's builtin $(shell) function
19552 instead of calling directly $(SHELL) to create the locale directories,
19553 inside the $(foreach) function.
19554
74ff1dd5
FZ
195552009-11-21 Felix Zielcke <fzielcke@z-51.de>
19556
19557 * util/grub-mkrescue.in: Print an error and usage if output option
19558 has not been given.
19559
0b787d0e
FZ
195602009-11-21 Felix Zielcke <fzielcke@z-51.de>
19561
19562 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19563 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19564 root and /boot are on different devices.
19565
1164b270
RM
195662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19567
19568 Fix build for srcdir != objdir.
19569
19570 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19571 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19572 $(srcdir).
19573 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19574 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19575 reference for input.
19576
13774a2f
RM
195772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19578
19579 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19580 or hardlinking it). Remove -J option, Joliet is not compatible with
19581 multiple source directories.
19582
efda854e
RM
195832009-11-21 Carles Pina i Estany <carles@pina.cat>
195842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19585
19586 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19587 (process_input_dir): New function. Process an arbitrary input
19588 directory.
19589 Misc adjustments to support both "override mode" and system-wide mode.
19590
6c09890c
FZ
195912009-11-20 Felix Zielcke <fzielcke@z-51.de>
19592
19593 * configure.ac (UNIFONT_BDF): Rename to ...
19594 (FONT_SOURCE): ... this. Update all users.
19595
a797824f
FZ
195962009-11-20 Felix Zielcke <fzielcke@z-51.de>
19597
19598 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19599 to the list of unifont files to look for.
19600
cd4f42b0
RM
196012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19602
19603 Patch from Joe Auricchio <jauricchio@gmail.com>
19604 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19605 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19606 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19607
393c783d
FZ
196082009-11-19 Felix Zielcke <fzielcke@z-51.de>
19609
19610 * Makefile.in (install-local): Add a missing backslash.
19611
b2f1e327
FZ
196122009-11-19 Felix Zielcke <fzielcke@z-51.de>
19613
19614 * include/grub/x86_64/io.h: New file.
19615
f577f7a0
RM
196162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19617
19618 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19619 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19620 Include `"progname.h"'.
19621 (main): Initialize gettext.
19622 * util/i386/pc/grub-setup.c: Gettexttize.
19623 * util/i386/pc/grub-mkimage.c: Likewise.
19624
19625 * Makefile.in (po/*.po): Redefine as ...
19626 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19627
3bc7896c
RM
19628 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19629
c37943b6
RM
196302009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19631
19632 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19633 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19634 (program_name): Remove.
19635 (main): Initialize gettext support.
6323f705
RM
19636 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19637 Include `<libintl.h>'.
19638 (_): New macro.
c37943b6
RM
19639
19640 * util/mkisofs/eltorito.c: Gettexttize.
19641 * util/mkisofs/joliet.c: Likewise.
19642 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
19643 * util/mkisofs/multi.c: Likewise.
19644 * util/mkisofs/rock.c: Likewise.
19645 * util/mkisofs/tree.c: Likewise.
19646 * util/mkisofs/write.c: Likewise.
19647
3bc7896c
RM
19648 * po/POTFILES: Update with new files.
19649
5ce77c6e
RM
196502009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19651
19652 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19653 * util/mkisofs/iso9660.h: Likewise.
19654 * util/mkisofs/joliet.c: Likewise.
19655 * util/mkisofs/mkisofs.c: Likewise.
19656 * util/mkisofs/mkisofs.h: Likewise.
19657 * util/mkisofs/rock.c: Likewise.
19658 * util/mkisofs/tree.c: Likewise.
19659 * util/mkisofs/write.c: Likewise.
19660
19661 * util/mkisofs/eltorito.c (rcsid): Remove.
19662 * util/mkisofs/hash.c: Likewise.
19663 * util/mkisofs/joliet.c: Likewise.
19664 * util/mkisofs/name.c: Likewise.
19665 * util/mkisofs/rock.c: Likewise.
19666 * util/mkisofs/tree.c: Likewise.
19667 * util/mkisofs/write.c: Likewise.
19668
1dabbc77
RM
196692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19670
19671 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19672 instead of static allocation.
19673 * util/mkisofs/match.h: Likewise.
19674
633877cb
RM
196752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19676
3bc7896c
RM
19677 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19678 and `util/grub.d/10_linux.in'.
633877cb
RM
19679 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19680 translatable Shell files.
19681
af1c0c85
RM
196822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19685
769ae37b
RM
196862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19687
19688 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 19689 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
19690 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19691 Add gettext initialization.
19692 (kfreebsd_entry): Make menuentry output translatable.
19693
196942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19697 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19698 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19699 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19700 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 19701 * po/LINGUAS: New file.
769ae37b
RM
19702
197032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19704
19705 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19706 other things).
19707 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19708 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19709 bindtextdomain() calls for gettext initialization.
19710
197112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19712
19713 * gnulib/progname.c: New file (imported from Gnulib).
19714 * gnulib/progname.h: Likewise.
19715 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19716 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19717 (usage): Replace `progname' with `program_name'.
19718 (main): Use set_program_name() for program name initialization.
19719
197202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19721
19722 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19723 from here ...
19724 * Makefile.in (CPPFLAGS): ... to here.
19725
197262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19727
19728 * aclocal.m4: Move from here ...
19729 * acinclude.m4: ... to here.
19730 * autogen.sh: Add call to `aclocal'.
19731 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19732
197332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19734
19735 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19736 (LINGUAS): New variable.
19737 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19738 (install-local): Install MO files.
19739 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19740 * include/grub/i18n.h: New file.
3bc7896c
RM
19741 * po/POTFILES: New file.
19742 * po/ca.po: New file.
769ae37b
RM
19743 * util/grub.d/10_linux.in (bindir): New variable.
19744 Add gettext initialization.
19745 (linux_entry): Make menuentry output translatable.
19746 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19747 (usage): Make --help output translatable.
19748 (main): Initialize gettext.
19749
02c0a6ad
RM
197502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19751
19752 * import_gcry.py: New file (written by Vladimir with minor
19753 adjustments).
19754 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19755 ciphers.
19756 * INSTALL: Document that Python is required for bootstrap.
19757
197582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19759
19760 Import ciphers from libgcrypt 1.4.4.
19761
19762 * lib/libgcrypt/cipher/ChangeLog
19763 * lib/libgcrypt/cipher/ac.c
19764 * lib/libgcrypt/cipher/arcfour.c
19765 * lib/libgcrypt/cipher/bithelp.h
19766 * lib/libgcrypt/cipher/blowfish.c
19767 * lib/libgcrypt/cipher/camellia-glue.c
19768 * lib/libgcrypt/cipher/camellia.c
19769 * lib/libgcrypt/cipher/camellia.h
19770 * lib/libgcrypt/cipher/cast5.c
19771 * lib/libgcrypt/cipher/cipher.c
19772 * lib/libgcrypt/cipher/crc.c
19773 * lib/libgcrypt/cipher/des.c
19774 * lib/libgcrypt/cipher/dsa.c
19775 * lib/libgcrypt/cipher/ecc.c
19776 * lib/libgcrypt/cipher/elgamal.c
19777 * lib/libgcrypt/cipher/hash-common.c
19778 * lib/libgcrypt/cipher/hash-common.h
19779 * lib/libgcrypt/cipher/hmac-tests.c
19780 * lib/libgcrypt/cipher/md.c
19781 * lib/libgcrypt/cipher/md4.c
19782 * lib/libgcrypt/cipher/md5.c
19783 * lib/libgcrypt/cipher/primegen.c
19784 * lib/libgcrypt/cipher/pubkey.c
19785 * lib/libgcrypt/cipher/rfc2268.c
19786 * lib/libgcrypt/cipher/rijndael-tables.h
19787 * lib/libgcrypt/cipher/rijndael.c
19788 * lib/libgcrypt/cipher/rmd.h
19789 * lib/libgcrypt/cipher/rmd160.c
19790 * lib/libgcrypt/cipher/rsa.c
19791 * lib/libgcrypt/cipher/seed.c
19792 * lib/libgcrypt/cipher/serpent.c
19793 * lib/libgcrypt/cipher/sha1.c
19794 * lib/libgcrypt/cipher/sha256.c
19795 * lib/libgcrypt/cipher/sha512.c
19796 * lib/libgcrypt/cipher/tiger.c
19797 * lib/libgcrypt/cipher/twofish.c
19798 * lib/libgcrypt/cipher/whirlpool.c
19799
af2f93ac
RM
198002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19801
19802 Fix build for systems without error().
19803
19804 * gnulib/error.c: New file (imported from Gnulib).
19805 * gnulib/error.h: Likewise.
19806 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19807 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19808 (this variable is now used by error()).
19809
73fb3dd5
FZ
198102009-11-16 Felix Zielcke <fzielcke@z-51.de>
19811
814f5e96
FZ
19812 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19813 instead of relying that char is signed.
73fb3dd5 19814
a691ca33
VS
198152009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19816
19817 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19818 blocksize different from specified.
19819 (grub_pxefs_read): Likewise.
19820
2af8f0f4
FZ
198212009-11-16 Felix Zielcke <fzielcke@z-51.de>
19822
19823 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19824
19825 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19826 (grub_ata_readwrite): Likewise. Update 2 format strings.
19827 (grub_atapi_read): Likewise.
19828
19829 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19830 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19831 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19832 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19833 (ata_mod_LDFLAGS): Move from here ...
19834 * conf/i386.rmk: ... to here ...
19835 * conf/x86_64-efi.rmk: ... and here.
19836 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19837 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19838
83bdecaf
RM
198392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19840
19841 Relicense multiboot.h, with RMS' blessing.
19842
19843 * include/multiboot.h: Change to X11 license.
19844
fd6fd3d7
RM
198452009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19846
19847 Support --version in grub-mkisofs.
19848
19849 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19850 (OPTION_VERSION): New macro.
19851 (ld_options): Recognize --version.
19852 (usage): Move `program_name' from here ...
19853 (program_name): ... to here. Add `static' qualifier.
19854 (main): Recognize `OPTION_VERSION'.
19855
16a88c49
FZ
198562009-11-15 Felix Zielcke <fzielcke@z-51.de>
19857
19858 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19859 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19860
a4158476
RM
198612009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19862
19863 Fix help2man generation for mkisofs.
19864
19865 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19866 (usage): Send output to stdout (rather than stderr).
19867
fc2208b0
RM
198682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19869
19870 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19871 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19872 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19873 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19874 (bin_SCRIPTS): Add `grub-mkfloppy'.
19875 (grub_mkfloppy_SOURCES): New variable.
19876
19877 * util/grub-mkrescue.in: New file.
19878 * util/i386/pc/grub-mkfloppy.in: New file.
19879
19880 * util/i386/coreboot/grub-mkrescue.in: Remove.
19881 * util/i386/pc/grub-mkrescue.in: Remove.
19882
8d0edf4a
RM
198832009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19884
19885 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19886 from here ...
19887 * include/multiboot.h (struct multiboot_header): ... to here. Update
19888 all users.
19889 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19890 from here ...
19891 * include/multiboot.h (struct multiboot_info): ... to here. Update
19892 all users.
19893 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19894 from here ...
19895 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19896 Update all users.
19897 * include/grub/multiboot.h (struct grub_mod_list): Move
19898 from here ...
19899 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19900 Update all users.
19901
a73f5969
RM
199022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19903
19904 * include/multiboot2.h (multiboot_word): Rename from this ...
19905 (multiboot2_word): ... to this. Update all users.
19906 (multiboot_header): Rename from this ...
19907 (multiboot2_header): ... to this. Update all users.
19908 (multiboot_tag_header): Rename from this ...
19909 (multiboot2_tag_header): ... to this. Update all users.
19910 (multiboot_tag_start): Rename from this ...
19911 (multiboot2_tag_start): ... to this. Update all users.
19912 (multiboot_tag_name): Rename from this ...
19913 (multiboot2_tag_name): ... to this. Update all users.
19914 (multiboot_tag_module): Rename from this ...
19915 (multiboot2_tag_module): ... to this. Update all users.
19916 (multiboot_tag_memory): Rename from this ...
19917 (multiboot2_tag_memory): ... to this. Update all users.
19918 (multiboot_tag_unused): Rename from this ...
19919 (multiboot2_tag_unused): ... to this. Update all users.
19920 (multiboot_tag_end): Rename from this ...
19921 (multiboot2_tag_end): ... to this. Update all users.
19922
1c8927f0
RM
199232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19924
19925 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19926 this platform we should support Multiboot1 first.
19927
19928 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19929 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19930 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19931
6e1e0d89
RM
199322009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19933
19934 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19935 of write calls (converting them to fwrite() if they aren't already).
19936 (get_torito_desc): Likewise.
19937 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19938
7f2b34d8
RM
199392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19940
19941 * util/i386/pc/grub-install.in: Move from here ...
19942 * util/grub-install.in: ... to here. Update all users.
19943
c0ef3311
CW
199442009-11-11 Colin Watson <cjwatson@ubuntu.com>
19945
19946 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19947
e1f240ff
RM
199482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19949
19950 Support for El Torito without floppy emulation.
19951
19952 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19953 (init_boot_catalog): Improve error handling.
19954 (get_torito_desc): Don't use floppy emulation unless requested by
19955 user. Patch boot information table when requested via
19956 `-boot-info-table'.
19957 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19958 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19959 (use_boot_info_table): New variables.
19960 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19961 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19962 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19963 `--eltorito-emul-floppy'.
19964 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19965 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19966 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19967 (use_boot_info_table, get_731): New prototypes.
19968 * util/mkisofs/write.c (get_731): New function.
19969
af7d4de5
FZ
199702009-11-11 Felix Zielcke <fzielcke@z-51.de>
19971
19972 Fix the generation of the man page.
19973
19974 * util/pc/i386/grub-install.in: Source
19975 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19976
2c55dbc0
RM
199772009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19978
19979 Large file support for grub-mkisofs.
19980
19981 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19982 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19983 (session_start): Upgrade type to `uint64_t'. Update all users.
19984 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19985 (struct directory_entry): Upgrade type of `starting_block' and
19986 `size' to `uint64_t'. Update all users.
19987 (struct deferred): Remove unused structure.
19988 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19989 Update all users.
19990 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19991 file is larger than `UINT32_MAX'.
19992 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19993 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19994 return value.
19995 (struct deferred_write): Upgrade type of `extent' and `size' to
19996 `uint64_t'. Update all users.
19997 (last_extent_written): Upgrade type to `uint64_t'. Update all
19998 users.
19999 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20000 Update all users. Upgrade type of `remain' to `int64_t' and
20001 `use' to `size_t'. Use error() to handle fread() errors.
20002 (write_files): Rely on write_one_file() rather than calling
20003 xfwrite() directly.
20004
6a9cead5
FZ
200052009-11-09 Felix Zielcke <fzielcke@z-51.de>
20006
20007 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20008
4825d790
RM
200092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20010
20011 * util/mkisofs/fnmatch.c: Remove.
20012 * util/mkisofs/getopt1.c: Likewise.
20013 * util/mkisofs/getopt.c: Likewise.
20014 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20015 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20016 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20017 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20018 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20019
20020 * configure.ac: Detect `mingw32msvc' host_os.
20021 Check for lstat(), getuid() and getgid().
20022
20023 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20024 instances of `u_char' with `uint8_t'.
20025
20026 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20027 [!HAVE_GETUID] (getuid): New function (stub).
20028 [!HAVE_GETGID] (getgid): Likewise.
20029 [!HAVE_LSTAT] (lstat): Likewise.
20030 [!S_IROTH] (S_IROTH): New macro (dummy).
20031 [!S_IRGRP] (S_IRGRP): Likewise.
20032
84b860d8
RM
200332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20034
20035 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20036 conditional expression).
20037
66e9b712
RM
200382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20039
20040 Import from Gnulib.
20041
20042 * gnulib/fnmatch.c: New file.
20043 * gnulib/fnmatch.h: Likewise.
20044 * gnulib/fnmatch_loop.c: Likewise.
20045 * gnulib/getopt.c: Likewise.
20046 * gnulib/getopt.h: Likewise.
20047 * gnulib/getopt1.c: Likewise.
20048 * gnulib/getopt_int.h: Likewise.
20049 * gnulib/gettext.h: Likewise.
20050
34f4a5b0
RM
200512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20052
20053 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20054 * normal/handler.c (read_handler_list): Likewise.
20055
ac451143
RM
200562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20057
20058 Misc cleanup.
20059
20060 * kern/command.c (grub_register_command_prio): Use
20061 grub_zalloc() instead of explicitly zeroing data.
20062 * kern/list.c: Include `<grub/mm.h>'.
20063 (grub_named_list_find): Replace `0' with `NULL'.
20064 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20065 (fs_module_list): Change type to `grub_named_list_t'. Update all
20066 users.
20067 * normal/dyncmd.c (read_command_list): Add space between function
20068 call and parenthesis.
20069 * normal/handler.c (read_handler_list): Likewise.
20070
4089b167
RM
200712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20072
20073 * normal/auth.c (punishment_delay): Moved from here ...
20074 (grub_auth_strcmp): ... to here (inside function).
20075
325f5037
RM
200762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20077
20078 * include/grub/list.h (struct grub_named_list): Remove `const'
20079 qualifier from `name'.
20080 (struct grub_prio_list): Likewise.
20081
7aea29a3
RM
200822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20083
20084 * normal/auth.c: Include `<grub/time.h>'.
20085 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20086
3fd6f044
RM
200872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20088
20089 * normal/auth.c (punishment_delay): New variable.
20090 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20091 (grub_auth_check_authentication): Punish failed login attempts with
20092 an incremental (2^N) delay.
20093
a4cd68e4
RM
200942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20095
20096 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20097 path with $(srcdir).
20098
7ad12f43
VS
200992009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20100
20101 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20102
c1129f03
RM
201032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20104
20105 * util/i386/coreboot/grub-mkrescue.in: New file.
20106 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20107 variables.
20108
20109 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20110 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20111 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20112 requirements.
20113 * util/mkisofs/defaults.h: New file.
20114 * util/mkisofs/eltorito.c: Likewise.
20115 * util/mkisofs/exclude.h: Likewise.
20116 * util/mkisofs/fnmatch.c: Likewise.
20117 * util/mkisofs/getopt.c: Likewise.
20118 * util/mkisofs/getopt1.c: Likewise.
20119 * util/mkisofs/hash.c: Likewise.
20120 * util/mkisofs/include/fctldefs.h: Likewise.
20121 * util/mkisofs/include/mconfig.h: Likewise.
20122 * util/mkisofs/include/prototyp.h: Likewise.
20123 * util/mkisofs/include/statdefs.h: Likewise.
20124 * util/mkisofs/iso9660.h: Likewise.
20125 * util/mkisofs/joliet.c: Likewise.
20126 * util/mkisofs/match.c: Likewise.
20127 * util/mkisofs/match.h: Likewise.
20128 * util/mkisofs/mkisofs.c: Likewise.
20129 * util/mkisofs/mkisofs.h: Likewise.
20130 * util/mkisofs/multi.c: Likewise.
20131 * util/mkisofs/name.c: Likewise.
20132 * util/mkisofs/rock.c: Likewise.
20133 * util/mkisofs/tree.c: Likewise.
20134 * util/mkisofs/write.c: Likewise.
20135
ec8bb77d
VS
201362009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20139 being insecure.
20140
3716b12c
RM
201412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20142
20143 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20144 `grub-mkimage' (and use $0 when possible).
20145
b97b7b91
RM
201462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20147
20148 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20149 error message for excessively large memory map.
20150
04114812
RM
201512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20152
20153 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20154 executable bit.
20155
e4eb2373
RM
201562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20157
20158 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20159 message for coreboot users.
20160
c926e1d5 201612009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20162
20163 Fix build with GNU gold.
20164
20165 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20166 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20167 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20168 link addresses.
20169 * aclocal.m4: Likewise.
20170
86e5b1db 201712009-11-04 Felix Zielcke <fzielcke@z-51.de>
20172
20173 * configure.ac (AC_PREREQ): Bump to 2.59d.
20174 * INSTALL: Make it more clear when Autoconf and Ruby are
20175 needed and when to run `./autogen.sh'.
20176
246cd78f 201772009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20178
20179 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20180 OSes.
20181
4f9dfb37 201822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20183
20184 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20185
b82bd5e1 201862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20187
20188 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20189 giving it to GNU Mach.
20190
ff1a9bca 201912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20192
20193 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20194 GNU partition number to get internal GRUB partition number.
20195
61697d9c 201962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20197
20198 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20199 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20200
a50569e1 202012009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20202
20203 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20204 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20205 case.
20206
5b153867 202072009-11-01 Felix Zielcke <fzielcke@z-51.de>
20208
20209 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20210
d9e2cd70 202112009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20212
20213 Fix build problem.
20214
20215 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20216 `-isystem=$(srcdir)/include'.
20217
805111a4 202182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20219
20220 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20221 checked (grub-install doesn't currently rely on it).
20222
fa6e945f 202232009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20224
20225 Revert SVN r2660.
20226
20227 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20228 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20229 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20230 * conf/i386-ieee1275.rmk: Likewise.
20231 * conf/i386-pc.rmk: Likewise.
20232 * conf/powerpc-ieee1275.rmk: Likewise.
20233 * conf/sparc64-ieee1275.rmk: Likewise.
20234 * conf/x86_64-efi.rmk: Likewise.
20235
cee15086 202362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20237
20238 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20239
95b9239e 202402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20241
20242 * include/grub/misc.h: Stop checking for APPLE_CC.
20243
2ed19dfd 202442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20245
20246 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20247 doesn't cause an infinite call loop.
20248
fdcdde19 202492009-10-28 Felix Zielcke <fzielcke@z-51.de>
20250
20251 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20252 strings.
20253
cefabfe1 202542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20255
20256 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20257 variable.
20258 * Makefile.in: Likewise.
20259
ed96ab6d 202602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20261
20262 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20263
0579b753 202642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20265
20266 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20267
478df409 202682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20269
20270 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20271
083d1679 202722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20273
20274 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20275 from here ...
20276 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20277
5947ae32 202782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20279
20280 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20281 in $(MAKEINFO) invocation. This makes it clear in output that
20282 errors are being ignored.
20283
94180ff6 202842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20285
20286 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20287 from here ...
20288 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20289 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20290 * conf/i386-ieee1275.rmk: Likewise.
20291 * conf/i386-pc.rmk: Likewise.
20292 * conf/powerpc-ieee1275.rmk: Likewise.
20293 * conf/sparc64-ieee1275.rmk: Likewise.
20294 * conf/x86_64-efi.rmk: Likewise.
20295
9031b03a 202962009-10-26 Colin Watson <cjwatson@ubuntu.com>
20297
20298 * util/grub-editenv.c (main): If only a command is given, use
20299 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20300 (usage): FILENAME is now optional and has a default.
20301
e4f6809b 203022009-10-26 Colin Watson <cjwatson@ubuntu.com>
20303
20304 Improve grub-mkconfig performance when there are several menu
20305 entries on a single filesystem.
20306
20307 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20308 prepare_grub_to_access_device.
20309 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20310 * util/grub.d/30_os-prober.in: Likewise.
20311
67937d4d 203122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20313
20314 * util/grub.d/10_freebsd.in: Remove.
20315 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20316 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20317
ee3756cc 203182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20319
5c35048e 20320 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 20321
4dea1c6f 203222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20323
20324 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20325 grub_util_error() call.
20326
042484d7 203272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20328
20329 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20330 `reserved_first_sector' member.
20331 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20332 `reserved_first_sector' to 1.
20333 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20334 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20335 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20336 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20337 filesystems which begin at first sector.
20338 (options): New option --skip-fs-probe.
20339 (main): Handle --skip-fs-probe and pass it to setup().
20340
d64448a7 203412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20342
20343 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20344 (memset): Fix function prototype.
20345
508d42ec 203462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
203472009-10-25 Vasily Averin <vvs@parallels.com>
20348
20349 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20350 `dirent.direntlen == 0'.
20351
b240e30c 203522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20353
20354 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20355 `cpio'.
20356 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20357
346e7fbe 203582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20359
20360 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20361 `__trampoline_setup' and `__ucmpdi2'.
20362 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20363 that libgcc provides.
20364
cdb308b0 203652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20366
20367 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20368 * include/grub/sparc64/libgcc.h (memset): Likewise.
20369 * include/grub/misc.h (memset, memcmp): New function prototypes.
20370
fb26abc2 203712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20372
20373 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20374 `cpio'.
20375 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20376
f6693890 203772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20378
20379 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20380 * docs/grub.cfg: Compensate for recent change in multiboot
20381 loader (since 2009-08-14 it won't pass filename to payload).
20382 * util/grub.d/10_hurd.in: Likewise.
20383
0933cdc0 203842009-10-21 Felix Zielcke <fzielcke@z-51.de>
20385
20386 * config.guess: Update to latest version from config git
20387 repository.
20388 * config.sub: Likewise.
20389
3b2fe8c2 203902009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20391
20392 Fix build on sparc64.
20393
20394 * configure.ac: Perform checks for libgcc symbols before
20395 adding `-nostdlib' to LDFLAGS.
20396
46695a62 203972009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 Let user specify OpenBSD root device.
20400
20401 * loader/i386/bsd.c (openbsd_root): New variable.
20402 (openbsd_opts): New option 'root'.
20403 (OPENBSD_ROOT_ARG): New macro.
20404 (grub_openbsd_boot): Use 'openbsd_root'.
20405 (grub_cmd_openbsd): Fill 'openbsd_root'.
20406
d2b6b7fc 204072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20408
20409 * NEWS: Misc adjustments.
20410
421bd7ac 204112009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20414
f1d29d87 204152009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20416
20417 * configure.ac: Bump version to 1.97.
20418
6f3cd880 204192009-10-16 Colin Watson <cjwatson@ubuntu.com>
20420
20421 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20422 -mno-3dnow on x86 architectures. Some toolchains enable these
20423 features by default, but they rely on registers that aren't enabled
20424 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20425
035f7122 204262009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20427
20428 Make entry text a bit more readable.
20429
20430 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20431
44998e58 204322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20435
cd2851b3 204362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20439 operations.
20440
c6f3b249 204412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * configure.ac: Add missing dollar.
20444
6b5886ba 204452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20446
20447 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20448
20449 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20450 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20451 exports.
20452 * include/grub/sparc64/libgcc.h: Likewise. Use
20453 preprocessor conditionals.
20454
e9d66f6d 204552009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20456
20457 * conf/common.rmk (grub-dumpbios): Remove rule.
20458 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20459 * util/grub-dumpbios.in: Remove file.
20460
9155bc17 204612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20462
20463 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20464 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20465
20466 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20467 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20468 users.
20469
20470 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20471 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20472 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20473 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20474 users.
20475
bf7f7a18 204762009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20477
20478 * term/tparm.c: Switch to GPLv3.
20479
86564c26 204802009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20481
20482 * include/grub/i386/cpuid.h: Add header protection.
20483
5c936493 204842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20485
20486 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20487
20488 * include/grub/i386/cpuid.h: New file.
20489 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20490 (has_longmode): Rename to ...
20491 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20492 `static' attribute.
20493 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20494 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20495 on a CPU that doesn't implement AMD64 instruction set.
20496
186e7cf2 204972009-10-06 Colin Watson <cjwatson@ubuntu.com>
20498
20499 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20500 that version.texi is rebuilt on version number changes.
20501
83b65c4a 205022009-10-06 Colin Watson <cjwatson@ubuntu.com>
20503
20504 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20505 Fixes bug #27602.
20506
d244281c 205072009-10-06 Colin Watson <cjwatson@ubuntu.com>
20508
20509 * util/i386/pc/grub-install.in: Source
20510 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20511 that the --grub-probe option will work.
20512 * util/sparc64/ieee1275/grub-install.in: Likewise.
20513
da25306d 205142009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20515
20516 * configure.ac: Bump version to 1.97~beta4.
20517
e8ee83c0 205182009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20519
20520 Resync grub-mkdevicemap in x86_64-efi.
20521
20522 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20523 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20524 `util/devicemap.c'.
20525
50dcabcf 205262009-10-01 Colin Watson <cjwatson@ubuntu.com>
20527
20528 * util/grub-editenv.c (create_envblk_file): Write new block with a
20529 .new suffix and then rename it into place, to ensure atomic
20530 creation.
20531
0e51c3a7 205322009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20533
20534 Do not automatically install headers.
20535
20536 * Makefile.in (include_DATA): Remove. Update all users.
20537
31299a95 205382009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20539
20540 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20541 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20542
20543 * util/osdetect.lua: Remove.
20544 * script/lua/lauxlib.c: Likewise.
20545 * script/lua/ldebug.c: Likewise.
20546 * script/lua/grub_main.c: Likewise.
20547 * script/lua/lauxlib.h: Likewise.
20548 * script/lua/ldebug.h: Likewise.
20549 * script/lua/ltablib.c: Likewise.
20550 * script/lua/liolib.c: Likewise.
20551 * script/lua/lstrlib.c: Likewise.
20552 * script/lua/lualib.h: Likewise.
20553 * script/lua/ldo.c: Likewise.
20554 * script/lua/ldump.c: Likewise.
20555 * script/lua/ldo.h: Likewise.
20556 * script/lua/loslib.c: Likewise.
20557 * script/lua/lundump.c: Likewise.
20558 * script/lua/grub_lib.c: Likewise.
20559 * script/lua/ldblib.c: Likewise.
20560 * script/lua/lundump.h: Likewise.
20561 * script/lua/lmem.c: Likewise.
20562 * script/lua/grub_lib.h: Likewise.
20563 * script/lua/lmathlib.c: Likewise.
20564 * script/lua/lstate.c: Likewise.
20565 * script/lua/ltm.c: Likewise.
20566 * script/lua/lvm.c: Likewise.
20567 * script/lua/lmem.h: Likewise.
20568 * script/lua/lstate.h: Likewise.
20569 * script/lua/ltm.h: Likewise.
20570 * script/lua/ltable.c: Likewise.
20571 * script/lua/lvm.h: Likewise.
20572 * script/lua/llex.c: Likewise.
20573 * script/lua/lgc.c: Likewise.
20574 * script/lua/grub_lua.h: Likewise.
20575 * script/lua/loadlib.c: Likewise.
20576 * script/lua/lfunc.c: Likewise.
20577 * script/lua/lopcodes.c: Likewise.
20578 * script/lua/lparser.c: Likewise.
20579 * script/lua/ltable.h: Likewise.
20580 * script/lua/llex.h: Likewise.
20581 * script/lua/lgc.h: Likewise.
20582 * script/lua/lfunc.h: Likewise.
20583 * script/lua/lbaselib.c: Likewise.
20584 * script/lua/lopcodes.h: Likewise.
20585 * script/lua/lparser.h: Likewise.
20586 * script/lua/lzio.c: Likewise.
20587 * script/lua/linit.c: Likewise.
20588 * script/lua/lobject.c: Likewise.
20589 * script/lua/llimits.h: Likewise.
20590 * script/lua/lstring.c: Likewise.
20591 * script/lua/lzio.h: Likewise.
20592 * script/lua/lapi.c: Likewise.
20593 * script/lua/lcode.c: Likewise.
20594 * script/lua/lua.h: Likewise.
20595 * script/lua/lobject.h: Likewise.
20596 * script/lua/lstring.h: Likewise.
20597 * script/lua/lapi.h: Likewise.
20598 * script/lua/lcode.h: Likewise.
20599 * script/lua/luaconf.h: Likewise.
20600
cb8a2c38 206012009-09-26 Colin Watson <cjwatson@ubuntu.com>
20602
20603 * docs/grub.texi (Command-line and menu entry commands): Document
20604 date and echo commands.
20605
6b9b6276 206062009-09-24 Pavel Roskin <proski@gnu.org>
20607
20608 * include/grub/kernel.h (struct grub_module_header): Remove
20609 `grub_module_header_types'. Make `type' unsigned. Make `size'
20610 32-bit on all platforms.
20611 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20612 8-bit field. Use grub_host_to_target32() for `size'.
20613 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20614 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20615 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20616
4e5a02a7 206172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20618
20619 Fix "lost keypress" bug in at_keyboard.
20620
20621 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20622 Checks for readyness of input buffer (without flushing it).
20623 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20624 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20625
c6dcedf6 206262009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20627
20628 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20629 size check within GRUB_MACHINE_PCBIOS section.
20630
74c958b1 206312009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20632
20633 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20634 return value.
20635 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20636 KEYBOARD_ISREADY check.
20637 (grub_at_keyboard_checkkey): Rename to ...
20638 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20639 Remove gratuitous cast.
20640
ff420223 206412009-09-23 Colin Watson <cjwatson@ubuntu.com>
20642
20643 * configure.ac: Call AC_PROG_MKDIR_P.
20644 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20645 version.texi in $(builddir) rather than $(srcdir).
20646 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20647 to makeinfo's @include search path.
20648
d96875df 206492009-09-23 Felix Zielcke <fzielcke@z-51.de>
20650
20651 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20652
9b3f8365 206532009-09-23 Felix Zielcke <fzielcke@z-51.de>
20654
20655 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20656 for `*.dpkg-new'.
20657
c44c90db 206582009-09-21 Colin Watson <cjwatson@ubuntu.com>
20659
20660 Build info documentation. Some code borrowed from Automake.
20661
20662 * configure.ac: Check for makeinfo.
20663 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20664 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20665 docs/version.texi.
20666 (MOSTLYCLEANFILES): Add vti.tmp.
20667 (docs/version.texi, docs/stamp-vti): Update automatically.
20668 (docs/grub.info): Build info documentation. Use --force and ignore
20669 errors for now.
20670 (all-local): Add $(INFOS).
20671 (install-local): Install info files.
20672 (uninstall): Uninstall info files.
20673 * docs/version.texi: Remove from revision control. This file is
20674 automatically generated on build now.
20675 * gendistlist.sh: Add `*.info'.
20676
e0b37bb5 206772009-09-21 Felix Zielcke <fzielcke@z-51.de>
20678
20679 * kern/term.c: Fix indentation.
20680
5a78865b 206812009-09-21 Felix Zielcke <fzielcke@z-51.de>
20682
20683 * util/hostdisk.c: Fix a comment.
20684
dace7e8a 206852009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20686
20687 Fix regression introduced in r2539.
20688
20689 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20690 to 0xA1.
20691
a83d079b 206922009-09-19 Colin Watson <cjwatson@ubuntu.com>
20693
20694 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 20695 os-prober. Under normal operation, it does not print anything to
20696 stderr; if it does, we need to debug it, and throwing away stderr
20697 makes that excessively difficult.
a83d079b 20698
be94a509 206992009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20700
20701 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20702
63f745e8 207032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20704
20705 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20706 AC_LANG_PROGRAM from autoconf.
20707 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20708 prototypes (fixes warning).
20709
20710 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20711 `--disable-werror' was used.
20712
bbb2a70f 207132009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20714
20715 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20716 uninitialized `lastaddr'.
20717
77c24f1d 207182009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20719
0f0b8c87 20720 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 20721
07197f23 207222009-09-14 Colin Watson <cjwatson@ubuntu.com>
20723
20724 * commands/test.c (get_fileinfo): Return immediately if
20725 grub_fs_probe fails.
20726
dabf1798 207272009-09-14 José Martínez <xosemp@gmail.com>
20728
20729 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20730
d52109a7 207312009-09-14 Colin Watson <cjwatson@ubuntu.com>
20732
20733 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20734 output.
20735
56532179 207362009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20737
20738 * configure.ac: Remove --enable-grub-pe2elf. Only build
20739 grub-pe2elf when needed by the build system itself.
20740 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20741
8ef070f5 207422009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20743
20744 * configure.ac: Bump version to 1.97~beta3.
20745 * docs/version.texi: Likewise.
20746
61229557 207472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20748
20749 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20750 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20751 from here ...
20752 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20753 (grub_linux_setup_video): ... to here (with some adjustments).
20754
5c9f8d84 207552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20756
20757 Fix memory corruption issue (spotted by Colin Watson).
20758
20759 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20760 causing returned size to be stored in an incorrect memory location.
20761 Fix use of uninitialized value when storing the returned size.
20762
e8f5d6e9 207632009-09-12 Yves Blusseau <blusseau@zetam.org>
20764
20765 Change clean rules to properly remove files
20766
20767 * genmk.rb: add new clean rules
20768 * Makefile.in (clean): add the new targets
20769 (mostlyclean): likewise
20770
cda2a409 207712009-09-11 Colin Watson <cjwatson@ubuntu.com>
20772
20773 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20774 to grub_uint64_t.
20775 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20776 non-resident files.
20777
86695375 207782009-09-11 Colin Watson <cjwatson@ubuntu.com>
20779
20780 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20781 part of bug #27349.
20782
8aa1541a 207832009-09-10 Felix Zielcke <fzielcke@z-51.de>
20784
20785 * util/grub-mkconfig.in: Make the created config mode 400 and
20786 print a warning if it fails.
20787
48d9bb0a 207882009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20789
20790 * util/grub.d/40_custom.in: Ask user to type custom entries below
20791 comment, rather than below 'exec tail' line.
20792
3b0521be 207932009-09-10 Colin Watson <cjwatson@ubuntu.com>
20794
20795 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20796 visible in grub.cfg.
20797
50051d55 207982009-09-10 Colin Watson <cjwatson@ubuntu.com>
20799
20800 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20801 file.
20802
c0d34387 208032009-09-10 Felix Zielcke <fzielcke@z-51.de>
20804
20805 * docs/grub.cfg: Add an example menu entry for memtest86+.
20806
80a608f3 208072009-09-09 Felix Zielcke <fzielcke@z-51.de>
20808
a2094832 20809 * config.guess: Update to latest version from config git.
80a608f3 20810 * config.sub: Likewise.
20811
99423078 208122009-09-08 Colin Watson <cjwatson@ubuntu.com>
20813
20814 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20815 unknown-command case. Fixes bug #27320.
20816
44454e4c 208172009-09-08 Felix Zielcke <fzielcke@z-51.de>
20818
20819 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20820 `help' if the command exists.
20821
e30d87ad 208222009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20823
20824 * INSTALL: Require GCC 4.1.3 or later.
20825
9a86f1ec 208262009-09-06 Yves Blusseau <blusseau@zetam.org>
20827
20828 * Makefile.in (RMKFILES): add i386-qemu.rmk
20829 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20830 $(srcdir)/stamp-h.in
20831
7f26d466 208322009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20833
20834 * util/grub-probe.c (probe): Comment out buggy codepath, which
20835 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20836 should be re-enabled after 1.97.
20837
3a613259 208382009-09-05 Felix Zielcke <fzielcke@z-51.de>
20839
20840 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20841 find searches for.
20842
197f76c7 208432009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20844
20845 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20846 unnecessary calls to grub_error.
20847
70ba68ce 208482009-09-04 Colin Watson <cjwatson@ubuntu.com>
20849
20850 * NEWS: Mention `keystatus' and Unicode fonts.
20851
4ff0d7a4 208522009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20853
20854 * configure.ac: Bump version to 1.97~beta2.
20855 * docs/version.texi: Likewise.
20856
77c55a87 208572009-09-03 Colin Watson <cjwatson@ubuntu.com>
20858
20859 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20860 containing unwind information in some cases where it previously did
20861 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20862 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20863 discussion.
20864
f79572cd 208652009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20866
20867 Embedding loadenv module into grub-emu
20868
20869 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20870 commands/loadenv.c
20871 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20872 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20873 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20875 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20876 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20877
93a81088 208782009-09-03 Magnus Granberg <zorry@ume.nu>
20879
20880 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20881 include -fPIE in the default specs.
20882 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20883 to TARGET_CFLAGS.
20884
160034b2 208852009-09-03 Felix Zielcke <fzielcke@z-51.de>
20886
20887 * INSTALL: Note that GNU Bison 2.3 or later is required.
20888
087c07c4 208892009-09-03 Colin Watson <cjwatson@ubuntu.com>
20890
20891 * kern/i386/pc/startup.S: Fix typo.
20892
cbf978c0 208932009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20896 according to GCS.
20897
208982009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 20899
20900 * docs/grub.texi (Naming convention): Describe one-based partition
20901 numbering.
20902 (Device syntax): Likewise.
20903 (File name syntax): Likewise.
20904 (Block list syntax): Likewise.
20905 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20906 menu.lst.
20907 (File name syntax): Likewise.
20908 (Command-line and menu entry commands): Document acpi, blocklist,
20909 crc, export, insmod, keystatus, ls, set, and unset commands.
20910
f3e8cdfd 209112009-09-02 Colin Watson <cjwatson@ubuntu.com>
20912
20913 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20914 to avoid implying that only one of --shift, --ctrl, or --alt may be
20915 used.
20916
c0bc232b 209172009-09-02 Colin Watson <cjwatson@ubuntu.com>
20918
20919 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20920 rather than comparing against S_IFREG, which will almost never work.
20921
aa0f752d 209222009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20923
20924 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20925 (write_blocklists): Likewise.
20926
ecb3166a 209272009-09-01 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20930 argument to grub_printf.
20931
c403a125 209322009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 20933
20934 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 20935 non GNU test.
31aba781 20936
b5e7312c 209372009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 * kern/file.c (grub_file_read): Spelling fix
20940
fe00f472 209412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20942
20943 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20944 loading of headers in some cases.
20945
cc55302e 209462009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20947
20948 * configure.ac: Bump version to 1.97~beta1.
20949 * docs/version.texi: Likewise.
20950
5c90cdd2 209512009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 20952
20953 * include/grub/i386/xnu.h: Add license header.
20954 include grub/err.h explicitly.
20955
c90edae4 209562009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20957
20958 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20959 to `ufs' in the vfs.root.mountfrom kernel parameter.
20960
d8888b5c 209612009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20962
20963 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20964
20965 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20966 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20967
20968 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20969 `ARRAY_SIZE' macro.
20970
6f07b921 209712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20972
20973 * kern/file.c (grub_file_read): Check offset.
20974 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20975 * fs/jfs.c (grub_jfs_read_file): Likewise.
20976 * fs/ntfs.c (grub_ntfs_read): Likewise.
20977 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20978 * fs/minix.c (grub_minix_read_file): Correct offset check.
20979 * fs/ufs.c (grub_ufs_read_file): Likewise.
20980
b4f34077 209812009-08-28 Colin Watson <cjwatson@ubuntu.com>
20982
20983 * term/i386/pc/console.c (bios_data_area): Cast
20984 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20985
e7c69859 209862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20987
20988 1-bit optimised blitters.
20989
20990 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20991 prototype.
20992 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20993 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20994 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20995 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20996 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20997 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20998 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20999 function.
21000 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21001 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21002 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21003 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21004 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21005 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21006 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21007 when possible.
21008 * video/video.c (grub_video_get_blit_format): Return
21009 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21010
a57da43f 210112009-08-28 Colin Watson <cjwatson@ubuntu.com>
21012
21013 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21014 the first argument to grub_printf.
21015
4cbe67e5 210162009-08-28 Colin Watson <cjwatson@ubuntu.com>
210172009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21018
21019 Add `getkeystatus' terminal method. Add a new `keystatus' command
21020 to query it.
21021
21022 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21023 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21024 modifier key bitmasks.
21025 (struct grub_term_input): Add `getkeystatus' member.
21026 (grub_getkeystatus): Add prototype.
21027 * kern/term.c (grub_getkeystatus): New function.
21028
21029 * include/grub/i386/pc/memory.h
21030 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21031 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21032 Data Area layout.
21033 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21034 (grub_console_term_input): Set `getkeystatus' member.
21035 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21036 constants.
21037 (grub_usb_keyboard_getreport): Likewise.
21038 (grub_usb_keyboard_checkkey): Likewise.
21039 (grub_usb_keyboard_getkeystatus): New function.
21040 (grub_usb_keyboard_term): Set `getkeystatus' member.
21041
21042 * commands/keystatus.c: New file.
21043 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21044 (keystatus_mod_SOURCES): New variable.
21045 (keystatus_mod_CFLAGS): Likewise.
21046 (keystatus_mod_LDFLAGS): Likewise.
21047 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21048 commands/keystatus.c.
21049 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21050 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21051 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21053 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21054 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 21055
6e2a9085 210562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 Split befs.mod and afs.mod into *_be.mod and *.mod
21059
21060 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21061 (grub_fstest_SOURCES): Likewise.
21062 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21063 (afs_be_mod_SOURCES): New variable.
21064 (afs_be_mod_CFLAGS): Likewise.
21065 (afs_be_mod_LDFLAGS): Likewise.
21066 (befs_be_mod_SOURCES): Likewise.
21067 (befs_be_mod_CFLAGS): Likewise.
21068 (befs_be_mod_LDFLAGS): Likewise.
21069 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21070 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21072 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21073 (grub_emu_SOURCES): Likewise.
21074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21075 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21076 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21077 * fs/afs_be.c: New file.
21078 * fs/befs_be.c: New file.
21079 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21080 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21081 (U16): Replaced with ...
21082 (grub_afs_to_cpu16): ...this. All users updated.
21083 (U32): Replaced with ...
21084 (grub_afs_to_cpu32): ...this. All users updated.
21085 (U64): Replaced with ...
21086 (grub_afs_to_cpu64): ...this. All users updated.
21087 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21088 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 21089 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 21090 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21091 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21092 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21093 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21094 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21095 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21096 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21097 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21098
32a71655 210992009-08-26 Bean <bean123ch@gmail.com>
21100
21101 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21102 64-bit number.
21103 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21104 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21105 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21106
552bf6c5 211072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21108
21109 NetBSD memory map support.
21110
21111 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21112 (grub_netbsd_btinfo_mmap_header): New structure.
21113 (grub_netbsd_btinfo_mmap_entry): Likewise.
21114 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21115
1ae2078c 211162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 Enable bsd.mod on coreboot.
21119
21120 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21121 (bsd_mod_SOURCES): New variable.
21122 (bsd_mod_CFLAGS): Likewise.
21123 (bsd_mod_LDFLAGS): Likewise.
21124 (bsd_mod_ASFLAGS): Likewise.
21125 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21126 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21127
beefc598 211282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21129
21130 Cleanup NetBSD root support.
21131
21132 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21133 grub_bsd_get_device.
21134 Fix typo.
21135
3b76e68b 211362009-08-25 Felix Zielcke <fzielcke@z-51.de>
21137
21138 * util/grub.d/00_header.in: Move check for the video backend of
21139 gfxterm from here ...
21140 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21141 a suitable video backend.
21142
aea664ea 211432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 Fix breakage in grub-setup.
21146
21147 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21148 "msdos_partition_map".
21149
ff747d50 211502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 Fix breakage in normal/auth.c.
21153
21154 * normal/auth.c (grub_iswordseparator): New function.
21155
e7e1f93f 211562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 Authentication support.
21159
21160 * commands/password.c: New file.
21161 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21162 (password_mod_SOURCES): New variable.
21163 (password_mod_CFLAGS): Likewise.
21164 (password_mod_LDFLAGS): Likewise.
21165 (normal_mod_SOURCES): Add normal/auth.c.
21166 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21167 normal/auth.c.
21168 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21169 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21170 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21172 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21173 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21174 * include/grub/auth.h: New file.
21175 * include/grub/err.h (grub_err_t): New enum value
21176 GRUB_ERR_ACCESS_DENIED.
21177 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21178 'users'.
21179 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21180 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21181 users updated.
21182 * normal/auth.c: New file.
21183 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21184 (grub_cmdline_run): Don't allow to go to command line without
21185 authentication.
21186 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21187 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21188 menuentry without superuser rights.
21189 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21190 user isn't a superuser.
21191
70f1161d 211922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 Save space by inlining misc.c functions.
21195
21196 * kern/misc.c (grub_iswordseparator): Made static.
21197 * kern/misc.c (grub_strcat): Moved from here ...
21198 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21199 * kern/misc.c (grub_strncat): Moved from here ...
21200 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21201 * kern/misc.c (grub_strcasecmp): Moved from here ...
21202 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21203 * kern/misc.c (grub_strncasecmp): Moved from here ...
21204 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21205 * kern/misc.c (grub_isalpha): Moved from here ...
21206 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21207 * kern/misc.c (grub_isdigit): Moved from here ...
21208 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21209 * kern/misc.c (grub_isgraph): Moved from here ...
21210 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21211 * kern/misc.c (grub_tolower): Moved from here ...
21212 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21213
48e40bff 212142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 * script/sh/function.c (grub_script_function_find): Cut error message
21217 not to flood terminal.
21218 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21219 limit.
21220 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21221
c385bfc3 212222009-08-24 Colin Watson <cjwatson@ubuntu.com>
21223
21224 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21225 `report' grub_uint8_t *.
21226 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21227 Use a 50-millisecond timeout rather than just repeating
21228 grub_usb_keyboard_getreport 50 times.
21229 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21230
2d21e3e8 212312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 Rename *_partition_map to part_*
21234
21235 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21236 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21237 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21238 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21239 All users updated.
21240 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21241 All users updated.
21242 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21243 * util/grub-probe.c (probe_partmap): Don't transform partition name
21244 to get module name.
21245
dd103c4e 212462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21247
21248 Fix OpenBSD and NetBSD support.
21249
21250 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21251 memory address conflict.
21252 (OPENBSD_MMAP_ACPI): New definition.
21253 (OPENBSD_MMAP_NVS): Likewise.
21254 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21255 and OPENBSD_MMAP_NVS.
21256 Add memory map terminator
21257 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 21258 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 21259
16c84d74 212602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21261
21262 Let user specify NetBSD root device.
21263
21264 * loader/i386/bsd.c (netbsd_root): New variable.
21265 (netbsd_opts): New option 'root'.
21266 (NETBSD_ROOT_ARG): New macro.
21267 (grub_netbsd_boot): Use 'netbsd_root'.
21268 (grub_bsd_unload): Free 'netbsd_root'.
21269 (grub_cmd_netbsd): Fill 'netbsd_root'.
21270
adb29902 212712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21272
21273 Support for 64-bit NetBSD.
21274
21275 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21276 point when booting non-FreeBSD.
21277
f5ae9f74 212782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 Support --no-smp and --no-acpi for NetBSD.
21281
21282 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21283 (NETBSD_AB_NOACPI): Likewise.
21284 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21285 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21286
de74f136 212872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21288
21289 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21290 errors.
21291 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21292 errors. Call grub_error when needed.
21293
e9a925da 212942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21295
21296 * commands/search.c (search_fs): Try searching without autoload first.
21297 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21298 filesystem module explicitly for faster booting.
21299
5174302b 213002009-08-23 Colin Watson <cjwatson@ubuntu.com>
21301
21302 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21303
c8c80635 213042009-08-23 Colin Watson <cjwatson@ubuntu.com>
21305
21306 * util/grub.d/30_os-prober.in: Disable os-prober if
21307 `GRUB_DISABLE_OS_PROBER' was set to true.
21308
71acf5e5 213092009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21310
21311 * partmap/pc.c: Rename to ...
21312 * partmap/msdos.c: ... this. Update all users.
21313 (grub_pc_partition_map): Rename to ...
21314 (grub_msdos_partition_map): ... this. Update all users.
21315
21316 * parttool/pcpart.c: Rename to ...
21317 * parttool/msdospart.c: ... this. Update all users.
21318
21319 * include/grub/pc_partition.h: Rename to ...
21320 * include/grub/msdos_partition.h: ... this. Update all users.
21321 (grub_pc_partition_bsd_entry): Rename to ...
21322 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21323 (grub_pc_partition_disk_label): Rename to ...
21324 (grub_msdos_partition_disk_label): ... this. Update all users.
21325 (grub_pc_partition_entry): Rename to ...
21326 (grub_msdos_partition_entry): ... this. Update all users.
21327 (grub_pc_partition_mbr): Rename to ...
21328 (grub_msdos_partition_mbr): ... this. Update all users.
21329 (grub_pc_partition): Rename to ...
21330 (grub_msdos_partition): ... this. Update all users.
21331 (grub_pc_partition_is_empty): Rename to ...
21332 (grub_msdos_partition_is_empty): ... this. Update all users.
21333 (grub_pc_partition_is_extended): Rename to ...
21334 (grub_msdos_partition_is_extended): ... this. Update all users.
21335 (grub_pc_partition_is_bsd): Rename to ...
21336 (grub_msdos_partition_is_bsd): ... this. Update all users.
21337
21338 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21339 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21340 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21341 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21342 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21343 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21344 (gpt_mod_LDFLAGS): Rename to ...
21345 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21346 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21347 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21348 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21349 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21350 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21351 (part_gpt_mod_LDFLAGS): ... this.
21352 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21353 `pcpart.mod' to `msdospart.mod'.
21354 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21355 to ...
21356 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21357 (msdospart_mod_LDFLAGS): ... this.
21358
c11fded5 213592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21362 (openbsd_opts): Likewise.
21363 (netbsd_opts): Likewise.
21364 (freebsd_flags): Added 0 terminator.
21365 (openbsd_flags): Likewise.
21366 (netbsd_flags): Likewise.
21367 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21368 (grub_cmd_freebsd): Transformed into extended command.
21369 (grub_cmd_openbsd): Likewise.
21370 (grub_cmd_netbsd): Likewise.
21371 (cmd_freebsd): Changed type to grub_extcmd_t.
21372 (cmd_openbsd): Likewise.
21373 (cmd_netbsd): Likewise.
21374 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21375 grub_cmd_openbsd as extended commands.
21376 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21377 cmd_netbsd and cmd_openbsd
21378
11d1c769 213792009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21382
7a9094e5 213832009-08-21 Pavel Roskin <proski@gnu.org>
21384
5496c37e 21385 * Makefile.in (install-local): When checking if a file is in the
21386 build directory, use "test -e" to detect symlinks.
21387
7a9094e5 21388 * Makefile.in (install-local): Remove all files in
21389 $(DESTDIR)$(pkglibdir) before installing new files there.
21390
e53cea11 213912009-08-18 Felix Zielcke <fzielcke@z-51.de>
21392
21393 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21394 grub-mkelfimage.
21395
9aced544 213962009-08-18 Felix Zielcke <fzielcke@z-51.de>
21397
21398 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21399 explicitly specified by the user.
21400
b7da6bab 214012009-08-18 Pavel Roskin <proski@gnu.org>
21402
21403 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21404 grub_uint8_t pointer for data.
21405 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21406 Likewise.
21407 * video/fb/fbutil.c: Remove unnecessary casts.
21408
19f1b335 214092009-08-17 Michal Suchanek <hramrach@centrum.cz>
21410
21411 VBE cleanup.
21412
21413 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21414 (grub_vbe_set_video_mode): Save active mode info
21415 only after setting the mode.
21416 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21417 second argument.
21418
2f467aa9 214192009-08-17 Michal Suchanek <hramrach@centrum.cz>
21420
21421 Rename variables for clarity.
21422
21423 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21424 (active_vbe_mode_info): ... this. All users updated.
21425 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21426 All users updated.
21427 (initial_mode): Rename to ...
21428 (initial_vbe_mode): ... this. All users updated.
21429 (mode_in_use): Rename to ..
21430 (vbe_mode_in_use): ... this. All users updated.
21431 (mode_list): Rename to ..
21432 (vbe_mode_list): ... this. All users updated.
21433 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21434 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21435 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21436 'mode_list_size' to 'vbe_mode_list_size'.
21437 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21438 'best_mode_info' to 'best_vbe_mode_info' and
21439 'best_mode' to 'best_vbe_mode'
21440
6025fcd7 214412009-08-17 Michal Suchanek <hramrach@centrum.cz>
21442
21443 Remove duplicate grub_video_fb_get_video_ptr.
21444
21445 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21446 (grub_video_fb_get_video_ptr): ... this.
21447 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21448 * video/fb/fbutil.c: Add comment about addressing.
21449 (get_data_ptr): Rename to ...
21450 (grub_video_fb_get_video_ptr): ... this. All users updated.
21451 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21452
cc8c6faf 214532009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21454
21455 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21456 grub_dprintf() that was just added.
21457
08aa61f0 214582009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21459
21460 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21461 (DEFAULT_VIDEO_MODE): Remove macros.
21462 (grub_linux_boot): Remove assumption that Linux has FB support,
21463 and use "text" as default video mode.
21464
7cef4f75 214652009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21466
21467 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21468 grub_dprintf.
21469 * fs/fat.c (grub_fat_read_data): Likewise.
21470
e1f39873 214712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21474 payload.
21475 (grub_module): Likewise.
21476
c166d79e 214772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21478
21479 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21480 mbi->cmdline but free playground.
21481
c60cee8e 214822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21483
21484 Handle group offset on UFS1.
21485
21486 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21487 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21488
c0d8b5d4 214892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21490
21491 Split ufs.mod into ufs1.mod and ufs2.mod.
21492
21493 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21494 (grub_fstest_SOURCES): Likewise.
21495 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21496 (ufs_mod_SOURCES): Remove.
21497 (ufs_mod_CFLAGS): Likewise.
21498 (ufs_mod_LDFLAGS): Likewise.
21499 (ufs1_mod_SOURCES): New variable.
21500 (ufs1_mod_CFLAGS): Likewise.
21501 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21502 (ufs2_mod_SOURCES): New variable.
21503 (ufs2_mod_CFLAGS): Likewise.
21504 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21505 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21506 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21507 Likewise.
21508 (grub_emu_SOURCES): Likewise.
21509 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21510 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21511 (grub_setup_SOURCES): Likewise.
21512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21513 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21514 (grub_setup_SOURCES): Likewise.
21515 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21516 Likewise.
21517 * fs/ufs2.c: New file.
21518 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21519
d3539132 215202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21521
21522 Framebuffer split.
21523
21524 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21525 subsystem at the end.
21526 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21527 (video_fb_mod_SOURCES): New variable.
21528 (video_fb_mod_CFLAGS): Likewise.
21529 (video_fb_mod_LDFLAGS): Likewise.
21530 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21531 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21532 * video/i386/pc/vbeblit.c: Moved from here ...
21533 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21534 * video/i386/pc/vbefill.c: Moved from here ...
21535 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21536 * video/i386/pc/vbeutil.c: Moved from here ...
21537 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21538 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21539 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21540 * include/grub/i386/pc/vbefill.h: Moved from here ...
21541 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21542 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21543 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21544 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21545 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21546 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21547 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21548 (grub_video_adapter): Added 'get_info_and_fini'.
21549 (grub_video_get_info_and_fini): New prototype.
21550 (grub_video_set_mode): make modestring const char *.
21551 * loader/i386/linux.c (grub_linux_setup_video): Use
21552 grub_video_get_info_and_fini.
21553 (grub_linux_boot): Move modesetting just before booting.
21554 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21555 grub_video_get_info_and_fini.
21556 * video/i386/pc/vbe.c: Moved framebuffer part ...
21557 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21558 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21559 grub_video_fbstd_colors and grub_video_fb_set_palette.
21560 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21561 grub_video_fb_init.
21562 (grub_video_vbe_fini): Use grub_video_fb_fini.
21563 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21564 render_target and use grub_video_fb_set_active_render_target and
21565 grub_video_fb_set_palette.
21566 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21567 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21568 (grub_video_vbe_adapter): Use framebuffer.
21569 * video/video.c (grub_video_get_info_and_fini): New function.
21570 (grub_video_set_mode): Make modestring const char *.
21571 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21572 values are already initialised.
21573
d404ee56 215742009-08-14 Pavel Roskin <proski@gnu.org>
21575
21576 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21577 ABS and APPLE_CC.
21578 * boot/i386/pc/diskboot.S: Likewise.
21579 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21580 sectors allow compilation on MacOSX.
21581 * conf/i386-pc.rmk: Enable unconditional compilation of
21582 lnxboot.img.
21583
9a10df16 215842009-08-13 Colin Watson <cjwatson@ubuntu.com>
21585
21586 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21587 * util/grub.d/00_header.in: Enter interruptible sleep if
21588 GRUB_HIDDEN_TIMEOUT is set.
21589
be3c9ca7 215902009-08-13 Yves Blusseau <blusseau@zetam.org>
21591
21592 * include/grub/symbol.h: Add the LOCAL macro.
21593 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21594 starting with "L_".
21595
1f9e557e 215962009-08-13 Pavel Roskin <proski@gnu.org>
21597
9ca62843 21598 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21599 any modern compilers we support.
21600
1f9e557e 21601 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21602 Use local labels starting with "L_" so that Apple assembler
21603 knows they are local.
21604
81623db6 216052009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21606
21607 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21608 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21609 (bsd_kernel_types): ... this enum.
21610
21611 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21612 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21613 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21614
21615 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21616 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21617 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21618 messages.
21619
f5d35e7a 216202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21621
21622 * util/grub-dumpdevtree: Moved from here ...
21623 * util/i386/efi/grub-dumpdevtree: ... to here.
21624 (hexify): New function. Converts a string to its hex version.
21625 Generate hex versions of "efi" and "device-properties" by calling
21626 hexify() on the ASCII strings rather than by hardcoding numbers.
21627
d1e1d527 216282009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21629
21630 * fs/jfs.c: Update copyright year.
21631
1ebbe064 216322009-08-08 Felix Zielcke <fzielcke@z-51.de>
21633
21634 * util/grub.d/00_header.in: Fix a comment.
21635 * util/grub.d/10_linux.in: Likewise.
21636 * util/grub.d/10_windows.in: Likewise.
21637 * util/grub.d/10_hurd.in: Likewise.
21638
a78c8d24 216392009-08-08 Felix Zielcke <fzielcke@z-51.de>
21640
21641 * util/grub-mkconfig.in: Allow the user to specify the used font
21642 with GRUB_FONT.
21643
29a6b9e8 216442009-08-08 Pavel Roskin <proski@gnu.org>
21645
b5f16cc4 21646 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21647 available, xfs.mod needs it now.
21648
2f5cb827 21649 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21650 the "g" modifier in sed when the intention is to strip something
21651 once. This fixes comparison of kernels with multiple dashes.
21652
29a6b9e8 21653 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21654 on it. Add missing space before closing bracket. Fix
21655 misleading formatting.
21656
892a3d98 216572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21658
21659 * docs/grub.texi: Major overhaul. Remove all sections that are
21660 specific to GRUB Legacy, or mostly composed of Legacy-specific
21661 information.
21662
ed94253f 216632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21664
21665 * docs/version.texi: New file. Provides version information for
21666 grub.texi.
21667
126d6628 216682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21669
21670 * docs/grub.texi: Update CVS information to SVN.
21671 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21672
998b5aa9 216732009-08-07 Felix Zielcke <fzielcke@z-51.de>
21674
21675 * util/grub-mkconfig.in: Remove a wrong `fi'.
21676
818e094a 216772009-08-07 Felix Zielcke <fzielcke@z-51.de>
21678
21679 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21680 (grub_jfs_uuid): New function.
21681 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21682
b969c52f 216832009-08-07 Felix Zielcke <fzielcke@z-51.de>
21684
21685 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21686 of it to ...
21687 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21688 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21689
7a4894cc 216902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21691
21692 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21693 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21694 Update all users.
21695
21696 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21697 not just "vmlinu[zx]".
21698 Moved from here ...
21699 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21700 all users.
21701
21702 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21703 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21704 all users.
21705
4e2171f8 217062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21707
21708 * util/grub.d/10_freebsd.in: Use an absolute device path for
21709 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21710
6dcfcb32 217112009-08-06 Felix Zielcke <fzielcke@z-51.de>
21712
21713 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21714 handling of multiple abstraction modules.
21715
f56a8756 217162009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21717
21718 Fix a bug resulting in black screen when loading Linux using a
21719 packed video mode.
21720
21721 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21722 function.
21723
21724 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21725 (grub_vbe_bios_getset_dac_palette_width): New function.
21726 (grub_vbe_bios_get_dac_palette_width)
21727 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21728 grub_vbe_bios_getset_dac_palette_width()).
21729
21730 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21731 check for return status.
21732 (grub_vbe_get_video_mode_info): When getting information for a packed
21733 mode (<= 8 bpp), obtain DAC palette width using
21734 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21735 {red,green,blue}_mark_size.
21736
222671b2 217372009-08-04 Felix Zielcke <fzielcke@z-51.de>
21738
ecb1a6d9 21739 * commands/search.c (options): Fix help output to match actual code.
222671b2 21740
f84114f5 217412009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21744 of homegrown code.
21745
bd288a20 217462009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 21747
21748 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21749 on XFS or ReiserFS.
21750
8aab5e25 217512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21752
21753 Support Apple partition map with sector size different from 512 bytes.
21754
21755 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21756 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21757 and 'apart.partmap_size'.
21758
6ad6258a 217592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
217602009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21761
21762 Fix cpuid command.
21763
21764 * commands/i386/cpuid.c (options): New variable.
21765 (grub_cmd_cpuid): Return real error.
21766 (GRUB_MOD_INIT(cpuid)): Declare options.
21767
67459bc6 217682009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21769
21770 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21771 valid.
21772
fbc6ab54 217732009-07-31 Bean <bean123ch@gmail.com>
21774
21775 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21776 log2_inode.
21777 (grub_fshelp_node): Move inode field to the end.
21778 (grub_xfs_data): Remove inode field.
21779 (grub_xfs_inode_block): Calculate inode size using sblock.
21780 (grub_xfs_inode_offset): Likewise.
21781 (grub_xfs_read_inode): Calculate inode size using sblock.
21782 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21783 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21784 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21785 to match inode size.
21786 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21787 not accessible when data is null.
21788 (grub_xfs_open): Likewise.
21789
f45d6cfc 217902009-07-31 Bean <bean123ch@gmail.com>
21791
21792 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21793 Don't change pv->disk if it's already set.
21794
21795 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21796 (grub_raid_register): ... here.
21797 (grub_raid_rescan): Removed.
21798
21799 * include/grub/raid.h (grub_raid_rescan): Removed.
21800
21801 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21802 (fstest): Replace grub_raid_rescan with module fini function followed
21803 by init function.
21804
21805 * util/grub-probe.c: Add include file <grub/raid.h>.
21806 (probe_raid_level): New function.
21807 (probe): Detect abstraction by walking the disk device, support two
21808 level of abstraction (LVM on RAID) when detecting partition map.
21809
24443b5a 218102009-07-31 Pavel Roskin <proski@gnu.org>
21811
21812 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21813 to grub_zalloc(), it was erroneous.
21814 Reported by Bean <bean123ch@gmail.com>
21815
a275d9e7 218162009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21817
21818 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 21819 embedding zone, not only the first one.
a275d9e7 21820
56c5a47f 218212009-07-29 Joe Auricchio <jauricchio@gmail.com>
21822
21823 * term/gfxterm.c (clear_char): New function.
21824 (grub_virtual_screen_setup): Use clear_char.
21825 (scroll_up): Likewise.
21826 (grub_virtual_screen_cls): Likewise.
21827
67bb323a 218282009-07-29 Felix Zielcke <fzielcke@z-51.de>
21829
21830 * util/deviceiter.c (get_acceleraid_disk_name): New static
21831 function.
21832 (grub_util_iterate_devices): Handle Accelraid devices.
21833 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21834
388a7c75 218352009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21836
21837 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21838 separator for the suggested gfxpayload string (';' collides with the
21839 parser and needs escaping).
21840
3bb7abcf 218412009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21844 Clear direction flag before jumping to OS.
21845 (grub_multiboot2_real_boot): Likewise.
21846
2ddd36d7 218472009-07-28 Felix Zielcke <fzielcke@z-51.de>
21848
21849 * util/i386/pc/grub-install: Fix parsing of --disk-module
21850 option.
21851
c521b62b 218522009-07-28 Felix Zielcke <fzielcke@z-51.de>
21853
21854 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21855 when embedding.
21856
880e0a0c 218572009-07-26 Felix Zielcke <fzielcke@z-51.de>
21858
21859 * util/grub-mkconfig.in (package_version): New variable.
21860 Use it do display the version.
21861
2366e356 218622009-07-25 Felix Zielcke <fzielcke@z-51.de>
21863
21864 * kern/file.c (grub_file_open): Revert to previous check with
21865 grub_errno.
21866
7ad8c80e 218672009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21870 from help line. It's out of sync with code.
21871
72b9658b 218722009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21873
21874 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21875 entries on failed boot.
21876
77435277 218772009-07-25 Felix Zielcke <fzielcke@z-51.de>
21878
21879 * kern/file.c (grub_file_open): Fix an error check.
21880
fcaa8b21 218812009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21882
35d16c74 21883 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21884 partition map couldn't be identified.
fcaa8b21 21885
48904cd1 218862009-07-23 Pavel Roskin <proski@gnu.org>
21887
ef3c317f 21888 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21889 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21890 case of little endian words becomes just an optimization.
21891 Respect const modifier.
ad8ea1f4 21892 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 21893
48904cd1 21894 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21895 to avoid loss of upper bits if align is unsigned and shorter
21896 than addr.
21897
260c9a89 218982009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 UUID support for UFS
21901
21902 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21903 (grub_ufs_uuid): New function.
21904 (grub_ufs_fs): add .uuid
21905
f76ce889 219062009-07-21 Pavel Roskin <proski@gnu.org>
21907
21908 * kern/dl.c (grub_dl_check_header): Make static.
21909
6a6cbcaf 219102009-07-21 Felix Zielcke <fzielcke@z-51.de>
21911
21912 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21913 add drivemap for Vista. It breaks Windows 7.
21914
cffcddb2 219152009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21916
21917 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21918 128 bytes
21919
1ef44b80 219202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21921
21922 Add BFS support
21923
21924 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21925 (grub_fstest_SOURCES): Likewise.
21926 (pkglib_MODULES): Add befs.mod.
21927 (befs_mod_SOURCES): New variable.
21928 (befs_mod_CFLAGS): Likewise.
21929 (befs_mod_LDFLAGS): Likewise.
21930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21931 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21933 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21934 (grub_setup_SOURCES): Likewise.
21935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21936 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21937 (grub_setup_SOURCES): Likewise.
21938 * fs/befs.c: New file.
21939 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21940 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21941 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21942 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21943 (B_KEY_INDEX_ALIGN): New declaration.
21944 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21945 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21946 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21947 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21948 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21949 (grub_afs_mount) [MODE_BFS]: Likewise.
21950 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21951 (grub_afs_fs): Use GRUB_AFS_FSNAME
21952 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21953 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21954 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21955 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21956
4f253044 219572009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21958
21959 * util/getroot.c (find_root_device): Add support for MacOSX.
21960 * util/hostdisk.c: Likewise.
21961
57a55913 219622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21963
21964 * font/font.c (find_glyph): Check whether a font is present to avoid
21965 segmentation fault.
75421ca9 21966
219672009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 21968
21969 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21970
e98cd0c2 219712009-07-20 Pavel Roskin <proski@gnu.org>
21972
21973 * configure.ac: Trim excessively wordy excuses.
21974
1d2d169a 219752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21976
21977 Add symlink, mtime and label support to AtheFS.
21978
21979 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21980 (grub_afs_iterate_dir): Handle symlinks.
21981 (grub_afs_open): Use grub_afs_read_symlink.
21982 (grub_afs_dir): Likewise.
21983 Pass mtime.
21984 (grub_afs_label): New function.
21985 (grub_afs_fs): Add grub_afs_label.
21986 (grub_afs_read_symlink): New function.
21987
186f3189 219882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21989
21990 Fix AtheFS support.
21991
21992 * fs/afs.c: Fix comments style.
21993 (grub_afs_blockrun): Declare as packed.
21994 (grub_afs_datastream): Likewise.
21995 (grub_afs_bnode): Likewise.
21996 (grub_afs_btree): Likewise.
21997 (grub_afs_sblock): Likewise.
21998 Declare `name' as char.
21999 (grub_afs_inode): Declare as packed.
22000 Change void *vnode to grub_uint32_t unused.
22001 (grub_afs_iterate_dir): Check that key_size is positive.
22002 (grub_afs_mount): Don't read superblock twice.
75421ca9 22003 (grub_afs_dir): Don't free node in case of error,
186f3189 22004 grub_fshelp_find_file already handles this.
22005 (grub_afs_open): Likewise.
22006
5680109e 220072009-07-19 Pavel Roskin <proski@gnu.org>
22008
22009 * Makefile.in: Remove LIBLZO and enable_lzo.
22010 * conf/i386-pc.rmk: Remove lzo support.
22011 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22012 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22013 support.
22014 * kern/i386/pc/lzo1x.S: Remove.
22015 * kern/i386/pc/startup.S: Remove lzo support.
22016 * util/i386/pc/grub-mkimage.c: Likewise.
22017
ac70fa32 220182009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22019
22020 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22021 * fs/xfs.c (grub_xfs_dir): Likewise.
22022 * fs/afs.c (grub_afs_dir): Likewise.
22023 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22024 (grub_iso9660_open): Likewise.
22025 * fs/jfs.c (grub_jfs_open): Likewise.
22026 * fs/ext2.c (grub_ext2_dir): Likewise.
22027 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22028 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 22029
eab58da2 220302009-07-16 Pavel Roskin <proski@gnu.org>
22031
d2838156 22032 * configure.ac: Never add "-c" to CFLAGS.
22033
55c70904 22034 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22035
43e6200c 22036 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22037 grub_cv_cc_efiemu should be used.
22038
ce7a733d 22039 * configure.ac: Typo fixes.
22040
eab58da2 22041 * kern/mm.c (grub_zalloc): New function.
22042 (grub_debug_zalloc): Likewise.
22043 * include/grub/mm.h: Declare grub_zalloc() and
22044 grub_debug_zalloc().
22045 * util/misc.c (grub_zalloc): New function.
22046 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22047 instead of grub_malloc(), remove unneeded initializations.
22048 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22049 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22050 * commands/parttool.c (grub_cmd_parttool): Likewise.
22051 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22052 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22053 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22054 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22055 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22056 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22057 (grub_cmd_efiemu_pnvram): Likewise.
22058 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22059 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22060 (grub_iso9660_iterate_dir): Likewise.
22061 * fs/jfs.c (grub_jfs_opendir): Likewise.
22062 * fs/ntfs.c (list_file): Likewise.
22063 (grub_ntfs_mount): Likewise.
22064 * kern/disk.c (grub_disk_open): Likewise.
22065 * kern/dl.c (grub_dl_load_core): Likewise.
22066 * kern/elf.c (grub_elf_file): Likewise.
22067 * kern/env.c (grub_env_context_open): Likewise.
22068 (grub_env_set): Likewise.
22069 (grub_env_set_data_slot): Likewise.
22070 * kern/file.c (grub_file_open): Likewise.
22071 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22072 * loader/i386/multiboot.c (grub_module): Likewise.
22073 * loader/xnu.c (grub_xnu_create_key): Likewise.
22074 (grub_xnu_create_value): Likewise.
22075 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22076 (read_config_file): Likewise.
22077 * normal/menu_entry.c (make_screen): Likewise.
22078 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22079 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22080 * script/sh/script.c (grub_script_parse): Likewise.
22081 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22082 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22083 * video/readers/png.c (grub_png_output_byte): Likewise.
22084 (grub_video_reader_png): Likewise.
22085
830afef7 220862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 22087
22088 Enable all targets that can be built by default
22089
830afef7 22090 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 22091 grub-mkfont and grub-fstest if they can be built
22092
ee293aee 220932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22094
22095 Fix hang and segmentation fault in grub-emu-usb
22096
22097 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22098 * util/usb.c (grub_libusb_devices): likewise
22099 (grub_libusb_init): rename to ...
22100 (GRUB_MOD_INIT (libusb)):...this
22101 (grub_libusb_fini): rename to ..
22102 (GRUB_MOD_FINI (libusb)):...this
22103 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22104 * include/grub/disk.h (grub_raid_init): removed, it's useless
22105 (grub_raid_fini): likewise
22106 (grub_lvm_init): likewise
22107 (grub_lvm_fini): likewise
22108 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22109 by grub_init_all
22110
94414221 221112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 Fix libusb
22114
22115 * Makefile.in (LIBUSB): new macro
22116 * genmk.rb (Utility/print_tail): new method
22117 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22118 (top level): call util.print_tail at the end.
22119
59ade63d 221202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 Make FreeBSD accept zpool.cache
22123
22124 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22125 type is /boot/zfs/zpool.cache
22126
a58da8c7 221272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 Fix 64-bit efiemu
22130
22131 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22132 correct wrong typedef
22133 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22134
20591577 221352009-07-15 Pavel Roskin <proski@gnu.org>
22136
560ca572 22137 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22138 * kern/disk.c (struct grub_disk_cache): Likewise.
22139
e8e8e4fd 22140 * commands/probe.c (options): Typo fix.
22141
fde24e10 22142 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22143 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22144 accordingly.
22145 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22146
379c54c1 22147 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22148 the end of "Error" to make the message more readable.
22149
7bd8f5bf 22150 * boot/i386/pc/boot.S (kernel_segment): Remove.
22151 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22152 for destination.
22153
40b132c5 22154 * boot/i386/pc/boot.S (boot_version): Remove.
22155 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22156 Remove.
22157
20591577 22158 * include/grub/i386/pc/boot.h: Sort all offsets.
22159 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22160 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22161 * boot/i386/pc/boot.S: Assert location of every offset listed in
22162 include/grub/i386/pc/boot.h.
22163
2df32b2c 221642009-07-13 Pavel Roskin <proski@gnu.org>
22165
44b5d879 22166 * include/grub/i386/coreboot/machine.h: Rename
22167 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22168 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22169 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22170
17dc3751 22171 * kern/dl.c: Force native word size to suppress warnings when
22172 compiling grub-emu.
22173
2df32b2c 22174 * kern/device.c (grub_device_iterate): Change struct part_ent to
22175 hold the name, not a pointer to it. Use one grub_malloc() per
22176 partition, not two. Free partition_name if grub_malloc() fails.
22177 Set ents to NULL only before grub_partition_iterate() is called.
22178
75c59f59 221792009-07-11 Bean <bean123ch@gmail.com>
22180
22181 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22182 childname.
22183
0ae1bf88 221842009-07-10 Bean <bean123ch@gmail.com>
221852009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22186
22187 * kern/ieee1275/openfw.c (grub_children_iterate)
22188 (grub_devalias_iterate): Fix size evaluation for property or path
22189 strings, which was broken since r2132.
22190
8279cade 221912009-07-07 Pavel Roskin <proski@gnu.org>
22192
7d8a52d3 22193 * commands/search.c (search_file): Merge into ...
22194 (search_fs): ... this. Accept search type as argument.
22195 (grub_cmd_search): Pass search type to search_fs().
22196
25f9a05a 22197 * include/grub/util/console.h: New file.
22198 * util/console.c: Use it instead of grub/machine/console.h.
22199 * util/grub-emu.c: Likewise.
22200
8279cade 22201 * lib/arg.c (find_long_option): Remove.
22202 (find_long): Add `len' argument, make `s' const char *.
22203 (grub_arg_parse): Parse long options in place, not in a
22204 temporary buffer.
22205
4a11b60f 222062009-07-06 Pavel Roskin <proski@gnu.org>
22207
99f68041 22208 * commands/search.c (search_fs): Fix potential NULL pointer
22209 dereference.
22210
4a11b60f 22211 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22212 function pointer.
22213
e110f4de 222142009-07-06 Daniel Mierswa <impulze@impulze.org>
22215
22216 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22217 comparison.
22218
46eeb6a2 222192009-07-05 Pavel Roskin <proski@gnu.org>
22220
bab74958 22221 * include/grub/i386/linux.h (struct linux_kernel_params):
22222 Restore padding3, it's still needed.
22223
46eeb6a2 22224 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22225 FreeBSD.
22226 * util/osdetect.lua: Likewise.
22227
b4a1dc79 222282009-07-05 Bean <bean123ch@gmail.com>
22229
22230 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22231
22232 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22233 (grub_lua_getenv): Likewise.
22234 (grub_lua_setenv): Likewise.
22235 (save_errno): New function.
22236 (push_result): Likewise.
22237 (grub_lua_enum_device): Likewise.
22238 (grub_lua_enum_file): Likewise.
22239 (grub_lua_file_open): Likewise.
22240 (grub_lua_file_close): Likewise.
22241 (grub_lua_file_seek): Likewise.
22242 (grub_lua_file_read): Likewise.
22243 (grub_lua_file_getline): Likewise.
22244 (grub_lua_file_getsize): Likewise.
22245 (grub_lua_file_getpos): Likewise.
22246 (grub_lua_file_eof): Likewise.
22247 (grub_lua_file_exist): Likewise.
22248 (grub_lua_add_menu): Likewise.
22249
22250 * script/lua/grub_lua.h (isupper): New inline function.
22251 (islower): Likewise.
22252 (ispunct): Likewise.
22253 (isxdigit): Likewise.
22254 (strcspn): Change to normal function.
22255 (strpbkr): New function declaration.
22256 (memchr): Likewise.
22257
22258 * script/lua/grub_main.c (scan_str): New function.
22259 (strcspn): Likewise.
22260 (strpbrk): Likewise.
22261 (memchr): Likewise.
22262
22263 * script/lua/linit.c (lualibs): Enable the string library.
22264
22265 * util/osdetect.lua: New file.
22266
2da92295 222672009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22268
22269 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22270 `capabilities' member.
22271
b2582ec9 222722009-07-02 Pavel Roskin <proski@gnu.org>
22273
22274 * genparttoollist.sh: Add missing newline at the end.
22275
32622956 222762009-07-01 Pavel Roskin <proski@gnu.org>
22277
87a7339e 22278 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22279
d23af54e 22280 * util/hostdisk.c (open_device): Remove `const' from
22281 `sysctl_size', as sysctlbyname() can change it (in this case it
22282 doesn't actually happen).
22283
c94b18a9 22284 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22285 using signed long int constants.
22286
c6cd3ef0 22287 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22288 constant to avoid a warning on FreeBSD.
22289
0df63420 22290 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22291 where it's needed.
22292
999577f1 22293 * Makefile.in: Install include/grub/machine symlink.
22294
6f41557f 22295 * Makefile.in: When installing symlinks, use "cp -fR", which
22296 works on FreeBSD and MacOSX.
22297 From Yves Blusseau <cl7m42e02@sneakemail.com>
22298
c8d22988 22299 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22300 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22301
1b96e952 22302 * util/misc.c: Move grub_reboot() and grub_halt() ...
22303 * util/grub-emu.c: ... here. Make main_env static.
22304 * include/grub/util/misc.h: Remove main_env.
22305
2ef0084d 22306 * kern/mm.c: Use correct format to print size_t.
22307
32622956 22308 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22309 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22310 * kern/powerpc/dl.c: Likewise.
22311 * kern/sparc64/dl.c: Likewise.
22312 * kern/x86_64/dl.c: Likewise.
22313
3f7f0cd0 223142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22315
22316 Fix grub-emu build on sparc64-ieee1275.
22317
75421ca9 22318 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 22319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22320
211d06b5 223212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22322
22323 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22324 (grub_reboot, grub_halt): New functions.
22325
22326 * util/i386/pc/misc.c: Delete. Update all users.
22327 * util/sparc64/ieee1275/misc.c: Likewise.
22328 * util/powerpc/ieee1275/misc.c: Likewise.
22329
aaf53e3c 223302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22331
22332 * conf/i386.rmk (setjmp_mod_SOURCES)
22333 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22334 * conf/common.rmk (setjmp_mod_SOURCES)
22335 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22336 to use $(target_cpu).
22337 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22338 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22339 * conf/powerpc-ieee1275.rmk: Likewise.
22340 * conf/sparc64-ieee1275.rmk: Likewise.
22341
22342 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22343 $(target_cpu) for kern/$(target_cpu)/dl.c.
22344 * conf/i386-efi.rmk: Likewise.
22345 * conf/i386-ieee1275.rmk: Likewise.
22346 * conf/x86_64-efi.rmk: Likewise.
22347 * conf/i386-coreboot.rmk: Likewise.
22348 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22349 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22350 kern/$(target_cpu)/cache.S.
22351 * conf/sparc64-ieee1275.rmk: Likewise.
22352
a337130b 223532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22354
22355 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22356 type to `grub_uint8_t', and adjust `padding9' accordingly.
22357
c6fe4d53 223582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22359
b09db61d 22360 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22361
c6fe4d53 22362 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22363 assembly in final jump, using register constraints.
22364
b09db61d 22365 (grub_linux_boot): For text mode, initialize `have_vga' using
22366 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22367
22368 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22369 right before the final jump.
22370
22371 Set `video_mode' to 0x3.
22372
22373 Document initialization of `video_page', `video_mode' and
22374 `video_ega_bx'.
22375
28333ad0 223762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22377
22378 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22379 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 22380 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 22381
02164e1b 223822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22383
22384 Fix build on Debian / sparc.
22385
22386 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22387
18b6c557 223882009-06-28 Pavel Roskin <proski@gnu.org>
22389
85f2aab6 22390 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22391 fix a warning.
22392
18b6c557 22393 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22394
ad760f81 223952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22396
22397 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22398 `err'.
22399
87a4623b 224002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22401
22402 Revert r2338.
22403
22404 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22405 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22406 grub_errno / grub_errmsg appropriately.
87a4623b 22407 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22408
8231fb77 224092009-06-27 Pavel Roskin <proski@gnu.org>
224102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22411
22412 * include/grub/dl.h: Include grub/elf.h.
22413 (struct grub_dl): Add symtab field.
22414 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22415 GRUB_MODULES_MACHINE_READONLY.
22416 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22417 of the header for read-only modules.
22418 (grub_dl_unload): Free mod->symtab for read-only modules.
22419 * kern/i386/dl.c: Use mod->symtab.
22420 * kern/powerpc/dl.c: Likewise.
22421 * kern/sparc64/dl.c: Likewise.
22422 * kern/x86_64/dl.c: Likewise.
22423
22424 * conf/i386-qemu.rmk: New file.
22425 * kern/i386/qemu/startup.S: Likewise.
22426 * kern/i386/qemu/mmap.c: Likewise.
22427 * boot/i386/qemu/boot.S: Likewise.
22428 * include/grub/i386/qemu/time.h: Likewise.
22429 * include/grub/i386/qemu/serial.h: Likewise.
22430 * include/grub/i386/qemu/kernel.h: Likewise.
22431 * include/grub/i386/qemu/console.h: Likewise.
22432 * include/grub/i386/qemu/boot.h: Likewise.
22433 * include/grub/i386/qemu/init.h: Likewise.
22434 * include/grub/i386/qemu/machine.h: Likewise.
22435 * include/grub/i386/qemu/loader.h: Likewise.
22436 * include/grub/i386/qemu/memory.h: Likewise.
22437
22438 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22439 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22440 [qemu] (pkglib_IMAGES): Add `boot.img'.
22441 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22442 [qemu] (boot_img_FORMAT): New variables.
22443 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22444 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22445 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22446 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22447 [qemu] (kernel_img_FORMAT): New variables.
22448
22449 * configure.ac: Recognise `i386-qemu'.
22450
22451 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22452 (for no compression).
22453 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22454 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22455 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22456 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22457 ifdefs).
22458
97fe384e 224592009-06-27 Pavel Roskin <proski@gnu.org>
22460
22461 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22462 read.
22463 * efiemu/prepare32.c: Likewise.
22464 * efiemu/prepare64.c: Likewise.
22465
c402ab17 224662009-06-26 Pavel Roskin <proski@gnu.org>
22467
22468 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22469 * include/grub/elf.h: Define symbols without "32" or "64" based
22470 on GRUB_TARGET_WORDSIZE.
22471 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22472 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22473 ELF definitions.
22474 * efiemu/loadcore64.c: Likewise.
22475 * loader/i386/bsd32.c: Likewise.
22476 * loader/i386/bsd64.c: Likewise.
22477 * kern/dl.c: Remove own ELF definitions.
22478 * util/i386/efi/grub-mkimage.c: Likewise.
22479
9bbdfd4d 224802009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22481
22482 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22483 segment 0x0 unconditionally, because the reference generated by
22484 GAS is an absolute address.
22485
a42ce6e9 224862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22487
22488 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22489 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22490
c952cf92 224912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22492
22493 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22494 indexes. Check for -f explicitly.
cc3752ad 22495 (search_file): Improve error message.
22496 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22497
132a0a59 224982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22499
22500 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22501 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22502
387a140c 225032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22504
22505 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22506 * conf/i386-ieee1275.rmk: Likewise.
22507 * conf/i386-coreboot.rmk: Likewise.
22508
22509 * kern/i386/pc/startup.S (grub_stop): Remove function.
22510 * kern/i386/ieee1275/startup.S: Likewise.
22511 * kern/i386/coreboot/startup.S: Likewise.
22512 * kern/i386/misc.S (grub_stop): New function.
22513
41da9665 225142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22515
22516 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22517 * kern/i386/realmode.S (real_to_prot): ... to here.
22518
bf337234 225192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22520
22521 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22522 with `kernel.img'.
22523 (kernel_elf_SOURCES): Rename to ...
22524 (kernel_img_SOURCES): ... this.
22525 (kernel_elf_HEADERS): Rename to ...
22526 (kernel_img_HEADERS): ... this. Update all users.
22527 (kernel_elf_ASFLAGS): Rename to ...
22528 (kernel_img_ASFLAGS): ... this.
22529 (kernel_elf_CFLAGS): Rename to ...
22530 (kernel_img_CFLAGS): ... this.
22531 (kernel_elf_LDFLAGS): Rename to ...
22532 (kernel_img_LDFLAGS): ... this.
22533 * conf/i386-coreboot.rmk: Likewise.
22534 * conf/powerpc-ieee1275.rmk: Likewise.
22535
22536 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22537 with "kernel.img".
22538
f52196ff 225392009-06-21 Pavel Roskin <proski@gnu.org>
22540
c3cee413 22541 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22542 to match nested functions.
22543 * loader/sparc64/ieee1275/linux.c: Likewise.
22544
f52196ff 22545 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22546
58750afc 225472009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22548
22549 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22550 all i386 platforms.
22551
15355c7d 225522009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22553
22554 Fix asm file handling on ELF, and remove workarounds.
22555
22556 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 22557 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 22558 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22559 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22560
3f3ec72b 225612009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 Load BSD ELF modules
22564
22565 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22566 and loader/i386/bsd64.c
22567 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22568 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22569 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22570 (grub_freebsd_load_elfmodule32): New declaration
22571 (grub_freebsd_load_elfmoduleobj64): Likewise
22572 (grub_freebsd_load_elf_meta32): Likewise
22573 (grub_freebsd_load_elf_meta64): Likewise
22574 (grub_freebsd_add_meta): Likewise
22575 (grub_freebsd_add_meta_module): Likewise
22576 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22577 (grub_freebsd_add_meta_module): Likewise and move module-specific
22578 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22579 (grub_cmd_freebsd): Add elf-kernel specific parts
22580 based on grub_freebsd_add_meta_module
22581 (grub_cmd_freebsd_module): Add type parsing moved from
22582 grub_freebsd_add_meta_module
22583 (grub_cmd_freebsd_module_elf): New function
22584 (cmd_freebsd_module_elf): New variable
22585 (GRUB_MOD_INIT): Register freebsd_module_elf
22586 * loader/i386/bsd32.c: New file
22587 * loader/i386/bsd64.c: Likewise
22588 * loader/i386/bsdXX.c: Likewise
22589 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22590 (grub_elf64_load): Likewise
22591 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22592 All users updated
22593 (grub_elf64_load_hook_t): Likewise
22594
0db15301 225952009-06-21 Colin Watson <cjwatson@ubuntu.com>
22596
22597 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22598 variable.
22599 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22600 don't write a menu entry for recovery mode.
22601
546796c1 226022009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22603
22604 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22605 after it's no longer needed.
22606
cd7310d5 226072009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22608
22609 * include/grub/i386/loader.h (grub_linux_prot_size)
22610 (grub_linux_tmp_addr, grub_linux_real_addr)
22611 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22612 GRUB_MACHINE_PCBIOS.
22613 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22614 common grub_util_info() call to ...
22615 (generate_image): ... here.
22616 Fix use of uninitialized memory, comparison of signed with
22617 unsigned integers and memory leak.
22618 Remove bogus module address message.
22619
ab32d3b5 226202009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22621
22622 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22623 grub_raid_register
22624 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22625
024ef597 226262009-06-19 Pavel Roskin <proski@gnu.org>
22627
22628 * configure.ac: Remove stray AC_MSG_CHECKING.
22629
3ac72b51 226302009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22631
22632 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 22633
e14cd814 226342009-06-18 Pavel Roskin <proski@gnu.org>
22635
22636 * conf/common.rmk: Add fs_file.mod.
22637 * disk/fs_file.c: New file.
22638 * include/grub/disk.h (enum grub_disk_dev_id): Add
22639 GRUB_DISK_DEVICE_FILE_ID.
22640
26586d98 226412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 Fix build with Apple's toolchain. Part 2
22644
22645 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22646 a fake start
22647
26de2bcd 226482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 Fix build with Apple's toolchain. Part 1
22651
22652 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22653 for long calls
22654 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 22655 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 22656 Apple's toolchain
22657
09b3490b 226582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22659
22660 Fix warnings
22661
22662 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22663 (decomp_block): initialize ch
22664 use grub_memcpy instead of memcpy
22665
c22a006a 226662009-06-17 Pavel Roskin <proski@gnu.org>
22667
d3638678 22668 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22669 version, use declarations needed to use vga_text as the startup
22670 console.
22671
c22a006a 22672 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22673 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22674 the kernel.
22675 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22676 and grub_at_keyboard_fini(), it's done on module load and
22677 unload.
22678
05b129e0 226792009-06-17 Felix Zielcke <fzielcke@z-51.de>
22680
22681 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22682 file can't be found.
22683 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22684
cf24ed9e 226852009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22686
22687 Fix newline handling
22688
22689 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 22690 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 22691 (grub_script_yylex): don't segfault on unterminated script
22692 newline terminates command and variable
22693
74aa8e4b 226942009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 avoid double grub_adjust_range call. Bug reported by David Simner
22697
22698 * kern/disk.c (grub_disk_write): change to raw disk access before
22699 calling disk_read
22700
1bd265f3 227012009-06-17 Colin Watson <cjwatson@ubuntu.com>
22702
22703 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22704 spaces, for the benefit of help2man.
22705 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22706
a2d08c06 227072009-06-16 Pavel Roskin <proski@gnu.org>
22708
22709 * kern/i386/halt.c: Include grub/machine/init.h.
22710 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22711
b97bcb19 227122009-06-16 Felix Zielcke <fzielcke@z-51.de>
22713
22714 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22715 drivemap menuentry.
22716
0644f96c 227172009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22718
22719 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22720 `echo' command.
22721
3ef17a2e 227222009-06-16 Pavel Roskin <proski@gnu.org>
22723
22724 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22725 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22726 save %dx, we only need %dl and we never change it.
22727 * boot/i386/pc/cdboot.S: Don't set the root drive.
22728 * boot/i386/pc/pxeboot.S: Likewise.
22729 * include/grub/i386/pc/boot.h: Remove
22730 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22731 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22732 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22733 * kern/i386/pc/init.c (make_install_device): Remove references
22734 to grub_root_drive.
22735 * kern/i386/pc/startup.S: Likewise.
22736 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22737
693fe637 227382009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 xnu_uuid command
22741
22742 * commands/xnu_uuid.c: new file
22743 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22744 (xnu_uuid_mod_SOURCES): new variable
22745 (xnu_uuid_mod_CFLAGS): likewise
22746 (xnu_uuid_mod_LDFLAGS): likewise
22747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22748 * conf/i386-ieee1275.rmk: likewise
22749 * conf/i386-pc.rmk: likewise
22750 * conf/powerpc-ieee1275.rmk: likewise
22751 * conf/sparc64-ieee1275.rmk: likewise
22752 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22753
c9da87d0 227542009-06-16 Pavel Roskin <proski@gnu.org>
22755
22756 * configure.ac: Avoid '==' in test command, it's not portable.
22757
9c6f4596 227582009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 Probe command
22761
22762 * commands/probe.c: new file
22763 * conf/common.rmk (pkglib_MODULES): add probe.mod
22764 (probe_mod_SOURCES): new variable
22765 (probe_mod_CFLAGS): likewise
22766 (probe_mod_LDFLAGS): likewise
22767 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22768 * conf/i386-ieee1275.rmk: likewise
22769 * conf/i386-pc.rmk: likewise
22770 * conf/powerpc-ieee1275.rmk: likewise
22771 * conf/sparc64-ieee1275.rmk: likewise
22772
70b7f9fd 227732009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22774
22775 Fix handling of string like \"hello\" and "a
22776 b"
22777
22778 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22779 (grub_script_yylex): fix parsing of quoting, escaping and newline
22780
71c79a6b 227812009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22782
dd74360c 22783 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 22784 handling
dd74360c 22785
0644f96c 227862009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 22787
22788 * util/grub-mkconfig.in: Fix parsing of --output option.
22789
e40893c3 227902009-06-12 Pavel Roskin <proski@gnu.org>
22791
22792 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22793 genmk.rb don't need to be generated or installed.
22794
3a1acfe2 227952009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 * commands/i386/pc/drivemap_int13h.S: add more comments
22798
3a4575d4 227992009-06-11 Pavel Roskin <proski@gnu.org>
22800
0658e928 22801 * Makefile.in (uninstall): Uninstall manuals.
22802
ca0388f0 22803 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22804 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22805 and update-grub_lib in two places.
22806 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22807
e3b27c39 22808 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22809 a compiler warning.
22810
3a4575d4 22811 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22812 `entry_lo' to fix variable shadowing.
22813
af1f4f55 228142009-06-11 Christian Franke <franke@computer.org>
22815
22816 * kern/misc.c (__enable_execute_stack): Add missing return type
22817 to prevent gcc warning.
22818
5225e649 228192009-06-11 Felix Zielcke <fzielcke@z-51.de>
22820
22821 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22822
7d83bd47 228232009-06-11 Pavel Roskin <proski@gnu.org>
22824
c1cb63ba 22825 * Makefile.in: Don't rely on any scripts being executable.
22826 Always use $(SHELL) to run shell scripts.
22827
7d83bd47 22828 * configure.ac: Always define ___main if using -nostdlib. This
22829 fixes tests on Cygwin.
22830
948f48e7 228312009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22832
22833 UDF fix
22834
7d83bd47 22835 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 22836 is in bytes and not in blocks
7d83bd47 22837
8ada9bc1 228382009-06-11 Pavel Roskin <proski@gnu.org>
22839
22840 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22841 warning.
22842
25ad2323 228432009-06-11 Felix Zielcke <fzielcke@z-51.de>
22844
22845 * util/grub.d/30_os-prober.in: Fix a comment. Source
22846 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22847 to set the root device. Place drivemap command in the generated
22848 chain entry.
22849
e65acb0c 228502009-06-11 Pavel Roskin <proski@gnu.org>
22851
22852 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22853 have long been resolved.
22854
f285fe2d 228552009-06-11 Colin Watson <cjwatson@ubuntu.com>
22856
bd47b0b5 22857 * util/grub.d/10_linux.in: Capitalise "Linux".
22858
f285fe2d 22859 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22860
a0c62e4e 228612009-06-11 Pavel Roskin <proski@gnu.org>
22862
b6783cb2 22863 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22864 fix a gcc warning and ensure that the function won't ever exit.
22865
dde032e8 22866 * kern/i386/ieee1275/init.c: Add missing prototype for
22867 grub_stop_floppy().
22868
22cd079d 22869 * loader/ieee1275/multiboot2.c [__i386__]: Include
22870 grub/cpu/multiboot.h.
22871
a0c62e4e 22872 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22873 casts to short - they are not portable and cause warnings. Fix
22874 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22875
63963d17 228762009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22877
22878 Drivemap fixes
22879
22880 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22881 new function
22882 (grub_get_root_biosnumber_saved): new variable
22883 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22884 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 22885 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 22886 %dx after the call if necessary
22887 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22888 (boot_mod_SOURCES): remove
22889 (boot_mod_CFLAGS): remove
22890 (boot_mod_LDFLAGS): remove
22891 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22892 (boot_mod_SOURCES): new variable
22893 (boot_mod_CFLAGS): likewise
22894 (boot_mod_LDFLAGS): likewise
22895 * conf/i386-efi.rmk: likewise
22896 * conf/i386-ieee1275.rmk: likewise
22897 * conf/i386-pc.rmk: likewise
22898 * conf/powerpc-ieee1275.rmk: likewise
22899 * conf/sparc64-ieee1275.rmk: likewise
22900 * conf/x86_64-efi.rmk: likewise
22901 * include/grub/i386/pc/biosnum.h: new file
22902 * lib/i386/pc/biosnum.c: likewise
22903 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22904 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22905 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 22906
33abf7ae 229072009-06-10 Pavel Roskin <proski@gnu.org>
22908
5ac35b35 22909 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22910 Use separate variables. Read only the file size at the end, but
22911 not the checksum that we don't use.
22912
5c5215d5 22913 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22914 Adjust all callers.
22915
27d5fef7 22916 * kern/ieee1275/openfw.c: Remove libc includes.
22917 * kern/ieee1275/cmain.c: Likewise.
22918 * include/grub/ieee1275/ieee1275.h: Likewise.
22919
33abf7ae 22920 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22921 compiler warnings.
22922
19d50c2b 229232009-06-10 Felix Zielcke <fzielcke@z-51.de>
22924
22925 * Makefile.in: Remove all trailing whitespace.
22926 * conf/i386-pc.rmk: Likewise.
22927 * conf/powerpc-ieee1275.rmk: Likewise.
22928 * conf/sparc64-ieee1275.rmk: Likewise.
22929 * docs/grub.texi: Likewise.
22930 * docs/texinfo.tex: Likewise.
22931 * disk/fs_uuid.c: Likewise.
22932 * disk/lvm.c: Likewise.
22933 * disk/scsi.c: Likewise.
22934 * disk/ata.c: Likewise.
22935 * disk/ieee1275/ofdisk.c: Likewise.
22936 * disk/i386/pc/biosdisk.c: Likewise.
22937 * disk/host.c: Likewise.
22938 * disk/raid.c: Likewise.
22939 * disk/efi/efidisk.c: Likewise.
22940 * disk/usbms.c: Likewise.
22941 * disk/memdisk.c: Likewise.
22942 * disk/loopback.c: Likewise.
22943 * kern/powerpc/dl.c: Likewise.
22944 * kern/device.c: Likewise.
22945 * kern/dl.c: Likewise.
22946 * kern/sparc64/dl.c: Likewise.
22947 * kern/ieee1275/ieee1275.c: Likewise.
22948 * kern/term.c: Likewise.
22949 * kern/fs.c: Likewise.
22950 * kern/i386/dl.c: Likewise.
22951 * kern/i386/pc/startup.S: Likewise.
22952 * kern/i386/pc/init.c: Likewise.
22953 * kern/i386/pc/mmap.c: Likewise.
22954 * kern/i386/pc/lzo1x.S: Likewise.
22955 * kern/i386/ieee1275/init.c: Likewise.
22956 * kern/i386/realmode.S: Likewise.
22957 * kern/i386/tsc.c: Likewise.
22958 * kern/partition.c: Likewise.
22959 * kern/corecmd.c: Likewise.
22960 * kern/file.c: Likewise.
22961 * kern/efi/efi.c: Likewise.
22962 * kern/efi/init.c: Likewise.
22963 * kern/efi/mm.c: Likewise.
22964 * kern/main.c: Likewise.
22965 * kern/err.c: Likewise.
22966 * kern/env.c: Likewise.
22967 * kern/disk.c: Likewise.
22968 * kern/generic/millisleep.c: Likewise.
22969 * kern/generic/rtc_get_time_ms.c: Likewise.
22970 * kern/misc.c: Likewise.
22971 * kern/parser.c: Likewise.
22972 * genmk.rb: Likewise.
22973 * configure.ac: Likewise.
22974 * boot/i386/pc/diskboot.S: Likewise.
22975 * boot/i386/pc/pxeboot.S: Likewise.
22976 * boot/i386/pc/boot.S: Likewise.
22977 * boot/i386/pc/lnxboot.S: Likewise.
22978 * boot/i386/pc/cdboot.S: Likewise.
22979 * parttool/pcpart.c: Likewise.
22980 * video/readers/tga.c: Likewise.
22981 * video/video.c: Likewise.
22982 * video/bitmap.c: Likewise.
22983 * lib/envblk.c: Likewise.
22984 * lib/i386/setjmp.S: Likewise.
22985 * fs/xfs.c: Likewise.
22986 * fs/afs.c: Likewise.
22987 * fs/fat.c: Likewise.
22988 * fs/ntfs.c: Likewise.
22989 * fs/udf.c: Likewise.
22990 * fs/affs.c: Likewise.
22991 * fs/iso9660.c: Likewise.
22992 * fs/hfs.c: Likewise.
22993 * fs/fshelp.c: Likewise.
22994 * fs/ext2.c: Likewise.
22995 * fs/jfs.c: Likewise.
22996 * fs/reiserfs.c: Likewise.
22997 * fs/hfsplus.c: Likewise.
22998 * fs/minix.c: Likewise.
22999 * fs/cpio.c: Likewise.
23000 * fs/sfs.c: Likewise.
23001 * fs/ufs.c: Likewise.
23002 * efiemu/prepare.c: Likewise.
23003 * efiemu/loadcore_common.c: Likewise.
23004 * efiemu/runtime/efiemu.sh: Likewise.
23005 * efiemu/runtime/efiemu.S: Likewise.
23006 * efiemu/runtime/efiemu.c: Likewise.
23007 * efiemu/pnvram.c: Likewise.
23008 * efiemu/main.c: Likewise.
23009 * efiemu/i386/pc/cfgtables.c: Likewise.
23010 * efiemu/i386/loadcore64.c: Likewise.
23011 * efiemu/i386/loadcore32.c: Likewise.
23012 * efiemu/loadcore.c: Likewise.
23013 * efiemu/symbols.c: Likewise.
23014 * efiemu/mm.c: Likewise.
23015 * include/grub/autoefi.h: Likewise.
23016 * include/grub/datetime.h: Likewise.
23017 * include/grub/term.h: Likewise.
23018 * include/grub/hfs.h: Likewise.
23019 * include/grub/lvm.h: Likewise.
23020 * include/grub/i386/tsc.h: Likewise.
23021 * include/grub/i386/linux.h: Likewise.
23022 * include/grub/i386/xnu.h: Likewise.
23023 * include/grub/i386/efiemu.h: Likewise.
23024 * include/grub/i386/pc/biosdisk.h: Likewise.
23025 * include/grub/i386/pc/memory.h: Likewise.
23026 * include/grub/i386/pc/vbe.h: Likewise.
23027 * include/grub/parttool.h: Likewise.
23028 * include/grub/video.h: Likewise.
23029 * include/grub/memory.h: Likewise.
23030 * include/grub/fs.h: Likewise.
23031 * include/grub/partition.h: Likewise.
23032 * include/grub/xnu.h: Likewise.
23033 * include/grub/efi/api.h: Likewise.
23034 * include/grub/efi/pe32.h: Likewise.
23035 * include/grub/efi/memory.h: Likewise.
23036 * include/grub/multiboot.h: Likewise.
23037 * include/grub/usbdesc.h: Likewise.
23038 * include/grub/multiboot2.h: Likewise.
23039 * include/grub/acpi.h: Likewise.
23040 * include/grub/efiemu/efiemu.h: Likewise.
23041 * include/grub/disk.h: Likewise.
23042 * include/grub/ieee1275/ieee1275.h: Likewise.
23043 * include/grub/net.h: Likewise.
23044 * include/grub/machoload.h: Likewise.
23045 * include/grub/macho.h: Likewise.
23046 * include/multiboot.h: Likewise.
23047 * genmoddep.awk: Likewise.
23048 * normal/main.c: Likewise.
23049 * normal/menu_entry.c: Likewise.
23050 * normal/menu_viewer.c: Likewise.
23051 * normal/completion.c: Likewise.
23052 * normal/cmdline.c: Likewise.
23053 * normal/misc.c: Likewise.
23054 * normal/datetime.c: Likewise.
23055 * bus/usb/usbtrans.c: Likewise.
23056 * bus/usb/ohci.c: Likewise.
23057 * bus/usb/uhci.c: Likewise.
23058 * bus/usb/usb.c: Likewise.
23059 * mmap/efi/mmap.c: Likewise.
23060 * mmap/i386/pc/mmap_helper.S: Likewise.
23061 * mmap/i386/pc/mmap.c: Likewise.
23062 * mmap/i386/mmap.c: Likewise.
23063 * mmap/i386/uppermem.c: Likewise.
23064 * mmap/mmap.c: Likewise.
23065 * commands/acpi.c: Likewise.
23066 * commands/echo.c: Likewise.
23067 * commands/blocklist.c: Likewise.
23068 * commands/loadenv.c: Likewise.
23069 * commands/usbtest.c: Likewise.
23070 * commands/boot.c: Likewise.
23071 * commands/parttool.c: Likewise.
23072 * commands/search.c: Likewise.
23073 * commands/cat.c: Likewise.
23074 * commands/i386/pc/play.c: Likewise.
23075 * commands/i386/pc/drivemap.c: Likewise.
23076 * commands/i386/pc/vbeinfo.c: Likewise.
23077 * commands/i386/pc/acpi.c: Likewise.
23078 * commands/i386/pc/vbetest.c: Likewise.
23079 * commands/ls.c: Likewise.
23080 * commands/cmp.c: Likewise.
23081 * commands/test.c: Likewise.
23082 * commands/efi/acpi.c: Likewise.
23083 * commands/gptsync.c: Likewise.
23084 * commands/help.c: Likewise.
23085 * partmap/amiga.c: Likewise.
23086 * partmap/apple.c: Likewise.
23087 * partmap/acorn.c: Likewise.
23088 * partmap/pc.c: Likewise.
23089 * partmap/sun.c: Likewise.
23090 * partmap/gpt.c: Likewise.
23091 * script/sh/lexer.c: Likewise.
23092 * script/sh/function.c: Likewise.
23093 * font/font.c: Likewise.
23094 * font/font_cmd.c: Likewise.
23095 * loader/powerpc/ieee1275/linux.c: Likewise.
23096 * loader/efi/chainloader.c: Likewise.
23097 * loader/multiboot_loader.c: Likewise.
23098 * loader/macho.c: Likewise.
23099 * loader/i386/multiboot.c: Likewise.
23100 * loader/i386/linux.c: Likewise.
23101 * loader/i386/pc/linux.c: Likewise.
23102 * loader/i386/pc/multiboot2.c: Likewise.
23103 * loader/i386/pc/chainloader.c: Likewise.
23104 * loader/i386/pc/xnu.c: Likewise.
23105 * loader/i386/bsd_trampoline.S: Likewise.
23106 * loader/i386/efi/linux.c: Likewise.
23107 * loader/i386/multiboot_elfxx.c: Likewise.
23108 * loader/i386/bsd_helper.S: Likewise.
23109 * loader/i386/bsd.c: Likewise.
23110 * loader/i386/linux_trampoline.S: Likewise.
23111 * loader/i386/xnu_helper.S: Likewise.
23112 * loader/i386/xnu.c: Likewise.
23113 * loader/i386/bsd_pagetable.c: Likewise.
23114 * loader/i386/multiboot_helper.S: Likewise.
23115 * loader/xnu.c: Likewise.
23116 * loader/xnu_resume.c: Likewise.
23117 * io/gzio.c: Likewise.
23118 * term/efi/console.c: Likewise.
23119 * term/terminfo.c: Likewise.
23120 * term/ieee1275/ofconsole.c: Likewise.
23121 * term/i386/pc/serial.c: Likewise.
23122 * term/i386/pc/vesafb.c: Likewise.
23123 * term/i386/pc/vga.c: Likewise.
23124 * term/usb_keyboard.c: Likewise.
23125 * term/gfxterm.c: Likewise.
23126 * aclocal.m4: Likewise.
23127 * util/lvm.c: Likewise.
23128 * util/grub.d/30_os-prober.in: Likewise.
23129 * util/grub.d/10_hurd.in: Likewise.
23130 * util/console.c: Likewise.
23131 * util/grub-macho2img.c: Likewise.
23132 * util/grub-probe.c: Likewise.
23133 * util/hostfs.c: Likewise.
23134 * util/i386/pc/grub-mkimage.c: Likewise.
23135 * util/i386/pc/grub-setup.c: Likewise.
23136 * util/i386/efi/grub-mkimage.c: Likewise.
23137 * util/grub-mkconfig.in: Likewise.
23138 * util/raid.c: Likewise.
23139 * util/resolve.c: Likewise.
23140 * util/grub-mkdevicemap.c: Likewise.
23141 * util/grub-emu.c: Likewise.
23142 * util/getroot.c: Likewise.
23143 * util/hostdisk.c: Likewise.
23144 * util/usb.c: Likewise.
23145 * util/grub-editenv.c: Likewise.
23146 * util/misc.c: Likewise.
23147
d2d49665 231482009-06-10 Felix Zielcke <fzielcke@z-51.de>
23149
23150 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23151 `genparttoollist.sh'.
23152 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23153 Add `*.sh' to the list find searches for and change `mdate.sh'
23154 to `mdate-sh'.
23155
fe052e37 231562009-06-10 Pavel Roskin <proski@gnu.org>
23157
2763ac18 23158 * include/grub/multiboot2.h: Provide compatibility defines for
23159 multiboot2.h.
23160 * include/multiboot2.h: Include stdint.h only if needed, using
23161 angle brackets.
23162 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23163 grub/multiboot2.h.
23164 * loader/ieee1275/multiboot2.c: Likewise.
23165 * loader/multiboot2.c: Likewise.
23166 * loader/multiboot_loader.c: Likewise.
23167
437e6adc 23168 * configure.ac: Use -nostdlib when probing for the target. It
23169 should not be required to have libc for the target.
23170
06a6836c 23171 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23172 they fail without libc headers for the target.
23173 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23174 exports.
23175 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23176 preprocessor conditionals.
23177
fe052e37 23178 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23179 build system doesn't need to be aware of the tar.c internals.
23180
afd22553 231812009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23182
afd22553 23183 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23184
6b787c4f 231852009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23186
23187 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23188 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23189
231902009-06-09 Felix Zielcke <fzielcke@z-51.de>
23191
23192 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23193 aren't available if ata.mod gets used.
6b787c4f 23194
473d1e45 231952009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23196
473d1e45 23197 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23198 initialising controller.
473d1e45 23199 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23200
255a27d4 232012009-06-08 Felix Zielcke <fzielcke@z-51.de>
23202
23203 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23204 to choose between ata and biosdisk module on i386-pc.
23205
473d1e45 232062009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 23207
d55842d8 23208 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23209 Subclass and Programming Interface fields in terms of the 3 byte
23210 Class Code register.
23211 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23212
fa5db0b1 23213 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23214 interface is OHCI. Add grub_dprintf for symmetry with
23215 bus/usb/uhci.c.
23216 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23217 interface is UHCI. Add interf variable for programming
23218 interface. Print interface with class/subclass.
23219
c0947beb 23220 * bus/usb/ohci.c: Set interf with correct field.
23221
69da8877 23222 * bus/usb/uhci.c: Remove unneeded doubled lines.
23223 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23224 Remove whitespace inside comment.
23225
9e172e30 232262009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23227
23228 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23229 as fallback an equivalent option without depth.
23230
de65ee2b 232312009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 Not fail if unable to retrieve C/H/S on LBA disks
23234
473d1e45 23235 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 23236 if unable to retrieve C/H/S on LBA disks
23237
b57ea2c9 232382009-06-08 Pavel Roskin <proski@gnu.org>
23239
23240 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23241 about aliasing.
23242
af361263 232432009-06-08 Felix Zielcke <fzielcke@z-51.de>
23244
23245 * Makefile.in (uninstall): Remove all $lib_DATA files.
23246
4c9ec6b3 232472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23248
23249 Bugfix: install on partitionless device
23250
23251 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23252 is a whole disk
23253
e76fc924 232542009-06-08 Felix Zielcke <fzielcke@z-51.de>
23255
23256 * Makefile.in (uninstall): Remove all $include_DATA files.
23257
ba5a0d05 232582009-06-08 Felix Zielcke <fzielcke@z-51.de>
23259
23260 * commands/true.c: New file. Implement the true and false commands.
23261 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23262 (true_mod_SOURCES): New variable.
23263 (true_mod_CFLAGS): Likewise.
23264 (true_mod_LDFLAGS): Likewise.
23265
c8048e32 232662009-06-05 Colin D Bennett <colin@gibibit.com>
23267
23268 Optimized font character lookup using binary search instead of linear
23269 search. Fonts now are required to have the character index ordered by
23270 code point.
23271
23272 * font/font.c (load_font_index): Verify that fonts have ordered
23273 character indices.
23274 (find_glyph): Use binary search instead of linear search to find a
23275 character in a font.
23276
408305be 232772009-06-05 Michael Scherer <misc@mandriva.org>
23278
23279 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23280 uses case sensitive btree.
23281 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23282 only for case insensitive filesystems.
23283
8ee1e0d9 232842009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23285
23286 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23287 * conf/common.rmk (search_mod_CFLAGS): likewise
23288
a9966eb1 232892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23290
473d1e45 23291 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 23292 compensate a compiler bug
23293
9e7100fb 232942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23295
473d1e45 23296 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 23297 instead of '\b'
473d1e45 23298
ede21d71 232992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 Definitions for creating asm symbols with Apple's CC
23302
23303 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23304 [APPLE_CC] (VARIABLE): likewise
23305
9dbf7653 233062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23307
23308 Disable lnxboot.img when compiled
23309 with Apple's CC
23310
23311 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23312 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23313 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23314 [! APPLE_CC] (CODE_LENG): skip
23315 [! APPLE_CC] (setup_sects): likewise
23316 [! APPLE_CC]: skip filling
473d1e45 23317
e93cdc3d 233182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 Address in trampolines based on 32-bit registers when compiled
23321 with Apple's CC
23322
473d1e45 23323 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 23324 for addresses
23325 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23326
6c688477 233272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23328
23329 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23330
23331 * kern/misc.c [APPLE_CC] (memcpy): new function
23332 [APPLE_CC] (memmove): likewise
23333 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 23334 (memcpy): define alias conditionally on !APPLE_CC
6c688477 23335 (memset): likewise
23336 (abort): likewise
23337 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23338 APPLE_CC are defined
23339 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23340 (grub_assert_fail): make prototype conditional
23341
e37ffc5c 233422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23343
23344 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23345
473d1e45 23346 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23347 grub-macho2img
e37ffc5c 23348 (CLEANFILES): add grub-macho2img
23349 (grub_macho2img_SOURCES): new variable
23350 * kern/i386/pc/startup.S (bss_start): new variable
23351 (bss_end): likewise
23352 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23353 * util/grub-macho2img.c: new file
23354
cf00df31 233552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23356
23357 Use objconv when compiling with Apple's CC
23358
23359 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23360 (efiemu64.o): likewise
23361 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23362 when compiling with Apple's CC
23363 (efiemu64_s.o): likewise
23364 * configure.ac: check for objconv when compiling with Apple's CC
23365 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 23366
d119a20c 233672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23368
23369 Define segment as well as section when compiling with
23370 Apple's CC
23371
23372 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23373 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23374 (efiemu_convert_pointer): likewise
23375 (efiemu_set_virtual_address_map): likewise
23376 (efiemu_convert_pointer): likewise
23377 (efiemu_getcrc32): likewise
23378 (init_crc32_table): likewise
23379 (reflect): likewise
23380 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23381 (GRUB_MOD_DEP): likewise
473d1e45 23382
c8600122 233832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23384
23385 Allow a compilation without -mcmodel=large
23386
23387 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23388 when compiled without -mcmodel=large
473d1e45 23389 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 23390 without -mcmodel=large
473d1e45 23391 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 23392 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 23393
e8df1d4e 233942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23395
23396 Remove nested functions in efiemu core
23397
23398 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23399
cc6c3ac1 234002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23401
23402 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23403
23404 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23405 temporary storage
473d1e45 23406 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23407 using Apple's CC
cc6c3ac1 23408 (grub_cpu_is_tsc_supported): likewise
23409 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23410
3e325901 234112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23412
23413 Absolute addressing through constant with Apple's cc
23414
23415 * kern/i386/pc/startup.S: Define necessary constants
23416 and address through it when using ABS with Apple's CC
23417 * boot/i386/pc/diskboot.S: likewise
23418 * boot/i386/pc/boot.S: likewise
23419 * boot/i386/pc/lnxboot.S: likewise
23420 * boot/i386/pc/cdboot.S: likewise
23421 * mmap/i386/pc/mmap_helper.S: likewise
23422 * commands/i386/pc/drivemap_int13h.S: likewise
23423
2b167a72 234242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23425
23426 Check if compiler is apple cc
23427
23428 * Makefile.in (ASFLAGS): new variable
23429 (TARGET_ASFLAGS): likewise
23430 (TARGET_MODULE_FORMAT): likewise
23431 (TARGET_APPLE_CC): likewise
23432 (OBJCONV): likewise
23433 (TARGET_IMG_CFLAGS): likewise
23434 (TARGET_CPPFLAGS): add includedir
23435 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23436 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23437 Check for linker script only if compiler isn't Apple's CC
23438 (TARGET_MODULE_FORMAT): set
23439 (TARGET_APPLE_CC): likewise
23440 (TARGET_ASFLAGS): likewise
23441 (ASFLAGS): likewise
23442 Check for objcopy only if compiler isn't Apple's CC
23443 Check for BSS symbol only if compiler isn't Apple's CC
23444 * genmk.rb: adapt nm options if we use Apple's utils
23445 * aclocal.m4 (grub_apple_cc): new test
23446 (grub_apple_target_cc): likewise
473d1e45 23447
fb14123e 234482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23449
23450 Simplify sed expressions and improve awk
23451
23452 * Makefile.in (install-local): simplify sed expression
23453 * gencmdlist.sh: likewise
23454 * genmoddep.awk: avoid adding module as a dependency of itself
23455
5b889789 234562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23457
23458 Add missing start symbols
23459
23460 * boot/i386/pc/boot.S: add start
fb14123e 23461 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23462
fd2bf2e3 234632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23464
23465 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23466
23467 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23468 (relocate_addresses): consider both r_addend and value at offset
23469 (make_mods_section): zerofill modinfo and header
23470 (convert_elf): write prefix here
473d1e45 23471
5389763d 234722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23473
23474 Use .asciz instead of .string
23475
23476 * i386/pc/diskboot.S: use .asciz instead of .string
23477 * i386/pc/boot.S: likewise
23478 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23479 (GRUB_MOD_NAME): likewise
473d1e45 23480
3eb5ed4e 234812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23482
23483 gfxpayload support
23484
23485 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23486 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23487 (grub_video_setup): remove
23488 (grub_video_set_mode): new prototype
23489 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23490 (vid_mode): remove
23491 (linux_vesafb_res): compile only on PCBIOS
23492 (grub_linux_boot): support gfxpayload
23493 * loader/i386/pc/xnu.c (video_hook): new function
23494 (grub_xnu_set_video): support gfxpayload
23495 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23496 (DEFAULT_VIDEO_HEIGHT): likewise
23497 (DEFAULT_VIDEO_FLAGS): likewise
23498 (DEFAULT_VIDEO_MODE): new definition
23499 (video_hook): new function
23500 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23501 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23502 loading xnu
23503 * video/video.c (grub_video_setup): removed
473d1e45 23504 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23505 grub_video_setup
23506
4b0e1143 235072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 Avoid calling biosdisk in drivemap
23510
23511 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23512 (revparse_biosdisk): likewise
23513 (list_mappings): derive name from id directly
23514 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23515
fda6cb98 235162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23517
23518 Script fixes
23519
23520 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23521 (grub_lexer_param): add tokenonhold
23522 (grub_script_create_cmdline): remove cmdline. All callers updated
23523 (grub_script_function_create): make functionname
23524 grub_script_arg. All callers updated
23525 (grub_script_execute_argument_to_string): new prototype
23526 * kern/parser.c (state_transitions): reorder
23527 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 23528 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 23529 make global
23530 (grub_script_execute_cmdline): use new format
23531 * script/sh/function.c (grub_script_function_create): make functionname
23532 grub_script_arg. All callers updated
473d1e45 23533 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 23534 (grub_script_yylex): remove
23535 (grub_script_yylex2): renamed to ...
23536 (grub_script_yylex): ...renamed
23537 parse the expressions like a${b}c
23538 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23539 (GRUB_PARSER_TOKEN_VAR): remove
23540 (GRUB_PARSER_TOKEN_NAME): likewise
23541 ("if"): declare as typeless
23542 ("while"): likewise
23543 ("function"): likewise
23544 ("else"): likewise
23545 ("then"): likewise
23546 ("fi"): likewise
23547 (text): remove
23548 (argument): likewise
23549 (script): accept empty scripts and make exit on error
23550 (arguments): use GRUB_PARSER_TOKEN_ARG
23551 (function): likewise
23552 (command): move error handling to script
23553 (menuentry): move grub_script_lexer_ref before
473d1e45 23554 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 23555 argument. All callers updated
23556
f4448a07 235572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23558
23559 Prevent GRUB from probing floppies during boot.
23560
23561 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23562 * commands/search.c (options): Add --no-floppy.
23563 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23564 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23565 --no-floppy when searching for UUIDs.
23566
2bf5885a 235672009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23568
23569 Simplify the code duplication in commands/search.c.
23570
23571 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23572 (search_fs): ... this. Update all users.
23573
f6fd460a 235742009-06-03 Felix Zielcke <fzielcke@z-51.de>
23575
23576 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23577
cbb3c83e 235782009-05-28 Pavel Roskin <proski@gnu.org>
23579
57788cfd 23580 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23581 Remove the original symlink explicitly.
23582
cbb3c83e 23583 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23584 just one slash. That's how grub_fshelp_find_file() does it.
23585
cd0d5e30 235862009-05-26 Pavel Roskin <proski@gnu.org>
23587
f0f8bbe2 23588 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23589 to `str'.
23590
cd0d5e30 23591 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23592 possibly unused.
23593
8c2cab51 235942009-05-25 Christian Franke <franke@computer.org>
23595
23596 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23597 register.
23598 (grub_atapi_identify): Add wait after drive select.
23599 (grub_ata_identify): Do more strict status register check before
23600 calling grub_atapi_identify (). Suppress error message if status
23601 register is 0x00 after command failure. Add status register
23602 check after PIO read to avoid bogus identify due to stuck DRQ.
23603 Thanks to Pavel Roskin for testing.
23604 (grub_device_initialize): Remove unsafe status register check.
23605 Thanks to 'phcoder' for problem report and patch.
23606 Prevent sign extension in debug message.
23607
230c0ad6 236082009-05-23 Colin D Bennett <colin@gibibit.com>
23609
23610 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23611 definition file, and functions defined in `normal/menu.c' have had
23612 their prototypes moved to `include/grub/menu.h' for consistency.
23613
23614 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23615 from normal.h.
23616 (grub_menu_get_entry): Likewise.
23617 (grub_menu_get_timeout): Likewise.
23618 (grub_menu_set_timeout): Likewise.
23619 (grub_menu_execute_entry): Likewise.
23620 (grub_menu_execute_with_fallback): Likewise.
23621 (grub_menu_entry_run): Likewise.
23622
23623 * include/grub/normal.h: Re-ordered and grouped function
23624 prototypes by file that the function is defined in.
23625 (grub_menu_execute_callback): Removed; moved to menu.h.
23626 (grub_menu_get_entry): Likewise.
23627 (grub_menu_get_timeout): Likewise.
23628 (grub_menu_set_timeout): Likewise.
23629 (grub_menu_execute_entry): Likewise.
23630 (grub_menu_execute_with_fallback): Likewise.
23631 (grub_menu_entry_run): Likewise.
23632 (grub_menu_addentry): Renamed from this ...
23633 (grub_normal_add_menu_entry): ... to this.
23634
23635 * normal/main.c (grub_menu_addentry): Renamed from this ...
23636 (grub_normal_add_menu_entry): ... to this.
23637
23638 * script/sh/execute.c (grub_script_execute_menuentry): Update
23639 reference to renamed grub_menu_addentry function.
23640
861f03a5 236412009-05-23 Felix Zielcke <fzielcke@z-51.de>
23642
23643 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23644
96b1619a 236452009-05-22 Pavel Roskin <proski@gnu.org>
23646
bf6a5fb2 23647 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23648 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23649 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23650 compiling for the i386 targets, but not for the utilities.
23651
96b1619a 23652 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23653 to grub_uint8_t.
23654 (grub_root_drive): Likewise.
23655 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23656 remove alignment.
23657 (grub_root_drive): Change size to byte.
23658 (grub_start_addr): Remove.
23659 (grub_end_addr): Likewise.
23660 (grub_apm_bios_info): Likewise.
23661
b729776b 236622009-05-21 Felix Zielcke <fzielcke@z-51.de>
23663
23664 * normal/i386: Remove.
23665 * normal/powerpc: Likewise.
23666 * normal/sparc64: Likewise.
23667 * normal/x86_64: Likewise.
23668
0a15ce80 236692009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 23672 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 23673 * loader/i386/xnu_helper.S: Likewise
d6da58e6 23674
33db9015 236752009-05-18 Colin D Bennett <colin@gibibit.com>
23676
d6da58e6 23677 Display error messages when parsing a Lua statement fails.
23678 Previously, executing a syntactically invalid statement like
23679 ")foo" or "bar;" would silently fail.
33db9015 23680
23681 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 23682 (grub_lua_parse_line): Improved reporting of Lua parser and
23683 execution errors.
33db9015 23684
46422c89 236852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23686
23687 Remove -Werror which causes build to fail on some systems
23688
23689 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23690 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23691 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 23692
22f53a96 236932009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23694
23695 trampoline for linux on 64-bit platform
23696
18f547ad 23697 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23698 loader/i386/efi/linux_trampoline.S
23699 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 23700 declaration
d6da58e6 23701 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23702 here
22f53a96 23703 * loader/i386/linux_trampoline.S: moved here
d6da58e6 23704 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23705 trampoline
22f53a96 23706 (jumpvector): removed
23707 (grub_linux_trampoline_start): new declaration
23708 (grub_linux_trampoline_end): likewise
23709 (grub_linux_boot): use trampoline when on 64-bit platform
23710 * loader/i386/linux.c: likewise
23711
cb5a0f40 237122009-05-16 Pavel Roskin <proski@gnu.org>
23713
23714 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23715 const to avoid a warning.
23716 (grub_lua_setenv): Likewise.
23717 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23718 lmsg to fix a warning.
23719
334f2c28 237202009-05-16 Felix Zielcke <fzielcke@z-51.de>
23721
23722 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 23723 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23724 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23725 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23726 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23727 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23728 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23729 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 23730
59e5d3ec 237312009-05-16 Felix Zielcke <fzielcke@z-51.de>
23732
23733 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23734
9d87a1ba 237352009-05-16 Bean <bean123ch@gmail.com>
23736
23737 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23738 (lua_mod_SOURCES): New variable.
23739 (lua_mod_CFLAGS): Likewise.
23740 (lua_mod_LDFLAGS): Likewise.
23741
23742 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23743 (setjmp_mod_SOURCES): New variable.
23744 (setjmp_mod_CFLAGS): Likewise.
23745 (setjmp_LDFLAGS): Likewise.
23746
23747 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23748 (setjmp_mod_SOURCES): New variable.
23749 (setjmp_mod_CFLAGS): Likewise.
23750 (setjmp_LDFLAGS): Likewise.
23751
23752 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23753 (setjmp_mod_SOURCES): New variable.
23754 (setjmp_mod_CFLAGS): Likewise.
23755 (setjmp_LDFLAGS): Likewise.
23756
23757 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23758 (setjmp_mod_SOURCES): New variable.
23759 (setjmp_mod_CFLAGS): Likewise.
23760 (setjmp_LDFLAGS): Likewise.
23761
23762 * normal/i386/setjmp.S: Moved from here ...
23763 * lib/i386/setjmp.S: ... Moved here
23764 * normal/x86_64/setjmp.S: Moved from here ...
23765 * lib/x86_64/setjmp.S: ... Moved here
23766 * normal/powerpc/setjmp.S: Moved from here ...
23767 * lib/powerpc/setjmp.S: ... Moved here
23768 * normal/sparc64/setjmp.S: Moved from here ...
23769 * lib/sparc64/setjmp.S: ... Moved here
23770
23771 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23772 returns_twice in mingw.
23773
23774 * script/lua/grub_lib.c: New file.
23775 * script/lua/grub_lib.h: Likewise.
23776 * script/lua/grub_lua.h: Likewise.
23777 * script/lua/grub_main.c: Likewise.
23778 * script/lua/lapi.c: Likewise.
23779 * script/lua/lapi.h: Likewise.
23780 * script/lua/lauxlib.c: Likewise.
23781 * script/lua/lauxlib.h: Likewise.
23782 * script/lua/lbaselib.c: Likewise.
23783 * script/lua/lcode.c: Likewise.
23784 * script/lua/lcode.h: Likewise.
23785 * script/lua/ldblib.c: Likewise.
23786 * script/lua/ldebug.c: Likewise.
23787 * script/lua/ldebug.h: Likewise.
23788 * script/lua/ldo.c: Likewise.
23789 * script/lua/ldo.h: Likewise.
23790 * script/lua/ldump.c: Likewise.
23791 * script/lua/lfunc.c: Likewise.
23792 * script/lua/lfunc.h: Likewise.
23793 * script/lua/lgc.c: Likewise.
23794 * script/lua/lgc.h: Likewise.
23795 * script/lua/linit.c: Likewise.
23796 * script/lua/liolib.c: Likewise.
23797 * script/lua/llex.c: Likewise.
23798 * script/lua/llex.h: Likewise.
23799 * script/lua/llimits.h: Likewise.
23800 * script/lua/lmathlib.c: Likewise.
23801 * script/lua/lmem.c: Likewise.
23802 * script/lua/lmem.h: Likewise.
23803 * script/lua/loadlib.c: Likewise.
23804 * script/lua/lobject.c: Likewise.
23805 * script/lua/lobject.h: Likewise.
23806 * script/lua/lopcodes.c: Likewise.
23807 * script/lua/lopcodes.h: Likewise.
23808 * script/lua/loslib.c: Likewise.
23809 * script/lua/lparser.c: Likewise.
23810 * script/lua/lparser.h: Likewise.
23811 * script/lua/lstate.c: Likewise.
23812 * script/lua/lstate.h: Likewise.
23813 * script/lua/lstring.c: Likewise.
23814 * script/lua/lstring.h: Likewise.
23815 * script/lua/lstrlib.c: Likewise.
23816 * script/lua/ltable.c: Likewise.
23817 * script/lua/ltable.h: Likewise.
23818 * script/lua/ltablib.c: Likewise.
23819 * script/lua/ltm.c: Likewise.
23820 * script/lua/ltm.h: Likewise.
23821 * script/lua/lua.h: Likewise.
23822 * script/lua/luaconf.h: Likewise.
23823 * script/lua/lualib.h: Likewise.
23824 * script/lua/lundump.c: Likewise.
23825 * script/lua/lundump.h: Likewise.
23826 * script/lua/lvm.c: Likewise.
23827 * script/lua/lvm.h: Likewise.
23828 * script/lua/lzio.c: Likewise.
23829 * script/lua/lzio.h: Likewise.
23830
5e898c9d 238312009-05-16 Bean <bean123ch@gmail.com>
23832
23833 * include/grub/kernel.h (grub_module_header_types): Add type
23834 OBJ_TYPE_CONFIG.
23835
23836 * kern/main.c (grub_load_config): New function.
23837 (grub_main): Call grub_load_config to read boot config.
23838
23839 * grub-mkimage (generate_image): New parameter config_path.
23840 (options): New option --config.
23841 (main): Parse --config option, and pass it to generate_image.
23842
cf353a47 238432009-05-14 Christian Franke <franke@computer.org>
23844
23845 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23846 This fixes build on Cygwin.
23847
3834887f 238482009-05-14 Pavel Roskin <proski@gnu.org>
23849
23850 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23851 jump. This saves two bytes, so the typical case of 2 swapped
23852 drives would fit 32 bytes.
23853
8090fc01 238542009-05-13 Pavel Roskin <proski@gnu.org>
23855
ac963883 23856 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23857 grub_uint32_t to avoid a warning.
23858
8090fc01 23859 * loader/i386/linux.c (allocate_pages): When assigning
23860 real_mode_mem, cast through grub_size_t to fix a warning. The
23861 code already makes sure that the value would fit a pointer.
23862 (grub_linux_setup_video): Cast render_target->data to
23863 grub_size_t to fix a warning.
23864
18f547ad 238652009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 23866
23867 * commands/i386/pc/drivemap.c: New file - implement drivemap
23868 command.
23869 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23870 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23871
6f6a8b28 238722009-05-13 Pavel Roskin <proski@gnu.org>
23873
23874 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23875 embedding_area_exists.
23876
15fbf4c4 238772009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23878
23879 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23880 it easier to understand / work with.
59978c8a 23881 Improve warning messages for cases where there's no embedding area,
23882 or when it is too small (or core.img too large).
15fbf4c4 23883
238e871f 238842009-05-13 Pavel Roskin <proski@gnu.org>
23885
0ab3a9a4 23886 * loader/i386/pc/multiboot2.c: Add necessary includes for
23887 grub_multiboot2_real_boot().
23888
a2c8c5f8 23889 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23890 PX record is always little-endian. We only need the lower 2
23891 bytes of the mode.
23892
faec96af 23893 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23894 facilitate code reuse.
23895 (grub_cpio_mount): Use "struct head", not a char buffer. This
23896 fixes a warning reported by gcc 4.4.
23897
238e871f 23898 * kernel/disk.c (grub_disk_read): Use void pointer for the
23899 buffer.
23900 (grub_disk_write): Use const void pointer for the buffer.
23901 Adjust all callers. Remove unnecessary casts.
23902
901d2f0c 239032009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23904
23905 * util/i386/pc/grub-install.in: Update copyright year.
23906
18f547ad 239072009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 23908
23909 gptsync
23910
23911 * commands/gptsync.c: new file
23912 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23913 (gptsync_mod_SOURCES): new variable
23914 (gptsync_mod_CFLAGS): likewise
23915 (gptsync_mod_LDFLAGS): likewise
18f547ad 23916 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 23917 new definition
23918 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23919 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23920 * conf/i386-ieee1275.rmk: likewise
23921 * conf/i386-pc.rmk: likewise
23922 * conf/powerpc-ieee1275.rmk: likewise
23923
b4ba690a 239242009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23925
23926 Fixed grub-emu
23927
23928 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23929 (grub_dl_ref): likewise
23930
317e1a44 239312009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23932
23933 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23934 split in two functions (one for msdos and one for gpt).
23935
041b8094 239362009-05-08 Pavel Roskin <proski@gnu.org>
23937
752473c2 23938 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23939 not modified.
23940
041b8094 23941 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23942 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23943 Initialize them with -1. Add sanity check for bad1. Eliminate
23944 nerr variable.
23945
172800ce 239462009-05-08 David S. Miller <davem@davemloft.net>
23947
23948 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23949
29aa5e81 239502009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23951
23952 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 23953 existence.
29aa5e81 23954
96613b62 239552009-05-05 Felix Zielcke <fzielcke@z-51.de>
23956
23957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 23958 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 23959
eef73c8a 239602009-05-05 David S. Miller <davem@davemloft.net>
23961
23962 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23963
119494b5 239642009-05-05 Pavel Roskin <proski@gnu.org>
23965
23966 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23967 of grub_dl_ref() and grub_dl_unref().
23968 * commands/parttool.c: Remove preprocessor conditionals around
23969 grub_dl_ref() and grub_dl_unref().
23970 * fs/affs.c: Likewise.
23971 * fs/afs.c: Likewise.
23972 * fs/cpio.c: Likewise.
23973 * fs/ext2.c: Likewise.
23974 * fs/fat.c: Likewise.
23975 * fs/hfs.c: Likewise.
23976 * fs/hfsplus.c: Likewise.
23977 * fs/iso9660.c: Likewise.
23978 * fs/jfs.c: Likewise.
23979 * fs/minix.c: Likewise.
23980 * fs/ntfs.c: Likewise.
23981 * fs/reiserfs.c: Likewise.
23982 * fs/sfs.c: Likewise.
23983 * fs/udf.c: Likewise.
23984 * fs/ufs.c: Likewise.
23985 * fs/xfs.c: Likewise.
23986 * include/grub/dl.h: Likewise.
23987 * loader/xnu.c: Likewise.
23988
de5fd76e 239892009-05-04 Pavel Roskin <proski@gnu.org>
23990
23991 * commands/acpi.c: Remove unused variable my_mod.
23992 * partmap/amiga.c: Likewise.
23993 * partmap/apple.c: Likewise.
23994 * partmap/gpt.c: Likewise.
23995 * partmap/pc.c: Likewise.
23996 * partmap/sun.c: Likewise.
23997 * term/gfxterm.c: Likewise.
23998 * term/i386/pc/vesafb.c: Likewise.
23999 * term/i386/pc/vga.c: Likewise.
24000
983598ad 240012009-05-04 David S. Miller <davem@davemloft.net>
24002
24003 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24004 pointer args to grub_ieee1275_get_property().
24005
8aadec43 24006 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24007
9554b15e 24008 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24009 devices, and do not traverse down under controller nodes.
24010
67e23c90 24011 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24012 (grub_ofdisk_open): Use it to un-escape "," characters.
24013 * kern/disk.c (find_part_sep): New.
24014 (grub_disk_open): Use it to find the first non-escaped ','
24015 character in the disk name.
24016 * util/ieee1275/devicemap.c (escape_of_path): New.
24017 (grub_util_emit_devicemap_entry): Use it.
24018 * util/sparc64/ieee1275/grub-install.in: Update script to
24019 strip partition specifiers properly by not triggering on
24020 '\' escaped ',' characters.
24021
74bfdd2f 240222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24023
24024 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24025 to 0x300.
24026 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24027 resolutions.
24028 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24029 on documentation from Wikipedia).
24030
4241d2b1 240312009-05-04 Pavel Roskin <proski@gnu.org>
24032
24033 * disk/ata.c: Spelling fixes.
24034 * disk/raid.c: Likewise.
24035 * disk/usbms.c: Likewise.
24036 * disk/dmraid_nvidia.c: Likewise.
24037 * kern/ieee1275/openfw.c: Likewise.
24038 * kern/ieee1275/init.c: Likewise.
24039 * kern/ieee1275/cmain.c: Likewise.
24040 * boot/i386/pc/cdboot.S: Likewise.
24041 * video/readers/png.c: Likewise.
24042 * video/i386/pc/vbe.c: Likewise.
24043 * fs/udf.c: Likewise.
24044 * fs/hfs.c: Likewise.
24045 * fs/reiserfs.c: Likewise.
24046 * efiemu/runtime/efiemu.c: Likewise.
24047 * efiemu/main.c: Likewise.
24048 * efiemu/mm.c: Likewise.
24049 * include/grub/elf.h: Likewise.
24050 * include/grub/xnu.h: Likewise.
24051 * include/grub/usbdesc.h: Likewise.
24052 * include/grub/usb.h: Likewise.
24053 * include/grub/script_sh.h: Likewise.
24054 * include/grub/lib/LzmaEnc.h: Likewise.
24055 * include/grub/efiemu/efiemu.h: Likewise.
24056 * include/grub/command.h: Likewise.
24057 * normal/menu.c: Likewise.
24058 * normal/main.c: Likewise.
24059 * normal/datetime.c: Likewise.
24060 * bus/usb/uhci.c: Likewise.
24061 * mmap/i386/uppermem.c: Likewise.
24062 * mmap/mmap.c: Likewise.
24063 * commands/acpi.c: Likewise.
24064 * commands/test.c: Likewise.
24065 * partmap/apple.c: Likewise.
24066 * font/font.c: Likewise.
24067 * loader/sparc64/ieee1275/linux.c: Likewise.
24068 * loader/macho.c: Likewise.
24069 * loader/i386/bsd_trampoline.S: Likewise.
24070 * loader/i386/bsd.c: Likewise.
24071 * loader/xnu.c: Likewise.
24072 * term/i386/pc/vesafb.c: Likewise.
24073 * term/usb_keyboard.c: Likewise.
24074 * util/resolve.c: Likewise.
24075 * util/getroot.c: Likewise.
24076
0cfc0083 240772009-05-04 Felix Zielcke <fzielcke@z-51.de>
24078
24079 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24080
7c1d00cd 240812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24082
24083 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24084 build error.
24085
b01f0548 240862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24087
24088 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24089 parameter only available on BIOS.
24090
ecc3eb22 240912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24092
24093 Removed wrong semicolon in declaration
24094
24095 * grub/misc.h (grub_dprintf): remove semicolon
24096
112972a9 240972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24098
24099 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24100 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24101 is done by grub_cmd_linux() now).
24102 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24103 restore video to text mode.
24104 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24105 indicates lack of "vga=" parameter. "vga=0" is mapped to
24106 `GRUB_LINUX_VID_MODE_NORMAL'.
24107
afd5c115 241082009-05-04 Felix Zielcke <fzielcke@z-51.de>
24109
24110 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24111 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24112 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 24113 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 24114 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24115 `grub_script.tab.c'.
24116
24117 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24120 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24121 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24122
faa517ce 24123 * Makefile.in: Remove duplicated 2008 in Copyright line.
24124
ae0c0bdc 241252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24126
473d1e45 24127 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24128 unconditionally.
24129 * include/grub/util/misc.h (grub_util_warn): New declaration.
24130
24131 * util/i386/pc/grub-install.in: Understand --force and pass it down
24132 to grub-setup.
24133
24134 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24135 down to setup().
24136 (setup): Improve error messages and add warnings when requested to
24137 install in odd layouts. Refuse to install using blocklists unless
24138 --force was set.
24139
18f547ad 241402009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24141
24142 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24143
6d260daa 241442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24145
24146 Updated copyright year
24147
24148 * fs/hfsplus.c: updated copyright year
18f547ad 24149
69f853f8 241502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24151
24152 HFS+ UUID
24153
18f547ad 24154 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24155 in the space previously used by unused3
24156 (grub_hfsplus_uuid): new function
24157 (grub_hfsplus_fs): added uuid field
24158
4c402e73 241592009-05-03 Pavel Roskin <proski@gnu.org>
24160
24161 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24162 suppress warnings. It's no longer needed.
24163 * disk/host.c: Likewise.
24164 * disk/ata_pthru.c: Likewise.
24165 * disk/loopback.c: Likewise.
24166 * hook/datehook.c: Likewise.
24167 * parttool/pcpart.c: Likewise.
24168 * fs/i386/pc/pxe.c: Likewise.
24169 * fs/ntfscomp.c: Likewise.
24170 * efiemu/main.c: Likewise.
24171 * mmap/mmap.c: Likewise.
24172 * commands/crc.c: Likewise.
24173 * commands/hexdump.c: Likewise.
24174 * commands/hdparm.c: Likewise.
24175 * commands/acpi.c: Likewise.
24176 * commands/echo.c: Likewise.
24177 * commands/minicmd.c: Likewise.
24178 * commands/blocklist.c: Likewise.
24179 * commands/memrw.c: Likewise.
24180 * commands/loadenv.c: Likewise.
24181 * commands/usbtest.c: Likewise.
24182 * commands/lsmmap.c: Likewise.
24183 * commands/boot.c: Likewise.
24184 * commands/parttool.c: Likewise.
24185 * commands/configfile.c: Likewise.
24186 * commands/search.c: Likewise.
24187 * commands/ieee1275/suspend.c: Likewise.
24188 * commands/cat.c: Likewise.
24189 * commands/i386/pc/pxecmd.c: Likewise.
24190 * commands/i386/pc/play.c: Likewise.
24191 * commands/i386/pc/halt.c: Likewise.
24192 * commands/i386/pc/vbeinfo.c: Likewise.
24193 * commands/i386/pc/vbetest.c: Likewise.
24194 * commands/lspci.c: Likewise.
24195 * commands/date.c: Likewise.
24196 * commands/handler.c: Likewise.
24197 * commands/ls.c: Likewise.
24198 * commands/test.c: Likewise.
24199 * commands/cmp.c: Likewise.
24200 * commands/efi/loadbios.c: Likewise.
24201 * commands/efi/fixvideo.c: Likewise.
24202 * commands/halt.c: Likewise.
24203 * commands/help.c: Likewise.
24204 * commands/reboot.c: Likewise.
24205 * hello/hello.c: Likewise.
24206 * script/sh/main.c: Likewise.
24207 * loader/xnu.c: Likewise.
24208 * term/terminfo.c: Likewise.
24209 * term/i386/pc/serial.c: Likewise.
24210 * term/usb_keyboard.c: Likewise.
24211
515b5079 242122009-05-03 David S. Miller <davem@davemloft.net>
24213
24214 * normal/menu.c: Include grub/parser.h
24215
dfc31a22 242162009-05-03 Pavel Roskin <proski@gnu.org>
24217
2fee74f1 24218 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24219 not char*.
24220 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24221 Suggested by Javier Martín <lordhabbit@gmail.com>
24222
dfc31a22 24223 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24224 efiemu??.o doesn't exist.
24225 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24226 copying.
24227
18f547ad 242282009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 24229
24230 FreeBSD 64-bit support
24231
18f547ad 24232 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 24233 and loader/i386/bsd_trampoline.S
24234 (bsd_mod_ASFLAGS): new variable
24235 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24236 (FREEBSD_MODTYPE_KERNEL64): likewise
24237 (grub_bsd64_trampoline_start): likewise
24238 (grub_bsd64_trampoline_end): likewise
24239 (grub_bsd64_trampoline_selfjump): likewise
24240 (grub_bsd64_trampoline_gdt): likewise
24241 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24242 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24243 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24244 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 24245 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 24246 of "attrib" member
24247 * loader/i386/bsd_pagetable.c: new file
24248 * loader/i386/bsd_trampoline.S: likewise
24249 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24250 (ALIGN_VAR): likewise
24251 (entry_hi): new variable
24252 (kern_end_mdofs): likewise
24253 (is_64bit): likewise
24254 (grub_freebsd_add_meta): use ALIGN_VAR
24255 (grub_e820_mmap): new declaration
24256 (grub_freebsd_add_mmap): new function
24257 (grub_freebsd_add_meta_module): support 64 bit kernels
24258 (grub_freebsd_list_modules): use ALIGN_VAR
24259 (gdt_descriptor): new declaration
24260 (grub_freebsd_boot): support 64 bit kernels
24261 (grub_bsd_elf64_hook): new function
24262 (grub_bsd_load_elf): support elf64
24263
038c5720 242642009-05-03 Bean <bean123ch@gmail.com>
24265
24266 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24267 after we get the result of if statement.
24268
fc45fb58 242692009-05-03 Bean <bean123ch@gmail.com>
24270
24271 * Makefile.in (enable_efiemu): New variable.
24272
24273 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24274 set.
24275 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24276 path.
24277 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24278 path, add -mno-red-zone option.
24279 (efiemu64_s.o): Likewise.
24280 (efiemu64.o): Use macro $^ for source file.
24281
24282 * configure.ac (--enable-efiemu): New option.
24283
bbee0f2b 242842009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24285
24286 xnu support
24287
24288 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24289 (pkglib_MODULES): add xnu.mod
24290 (xnu_mod_SOURCES): new variable
24291 (xnu_mod_CFLAGS): likewise
24292 (xnu_mod_LDFLAGS): likewise
24293 (xnu_mod_ASFLAGS): likewise
24294 * conf/i386-pc.rmk: likewise
24295 * conf/x86_64-efi.rmk: likewise
7dd4a573 24296 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 24297 new declaration
24298 * include/grub/i386/macho.h: new file
24299 * include/grub/i386/xnu.h: likewise
24300 * include/grub/macho.h: likewise
24301 * include/grub/machoload.h: likewise
24302 * include/grub/x86_64/macho.h: likewise
24303 * include/grub/x86_64/xnu.h: likewise
24304 * include/grub/xnu.h: likewise
24305 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24306 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24307 * loader/i386/efi/xnu.c: new file
24308 * loader/i386/pc/xnu.c: likewise
24309 * loader/i386/xnu.c: likewise
24310 * loader/i386/xnu_helper.S: likewise
24311 * loader/macho.c: likewise
24312 * loader/xnu.c: likewise
24313 * loader/xnu_resume.c: likewise
24314 * util/grub-dumpdevtree: likewise
24315 * include/grub/i386/pit.h: include grub/err.h
24316 (grub_pit_wait): export
24317 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 24318
5caf964d 243192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24320
24321 Efiemu
7dd4a573 24322
5caf964d 24323 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 24324 _linux_efi, linux_efi.
24325 new files in grub-emu
5caf964d 24326 new targets efiemu32.o and efiemu64.o
24327 * loader/linux_normal_efiemu.c: likewise
24328 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 24329 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 24330 files to copy
24331 * include/grub/autoefi.h: new file
7dd4a573 24332 * include/grub/i386/efiemu.h: likewise
5caf964d 24333 * include/grub/i386/pc/efiemu.h: likewise
24334 * include/grub/efi/api.h: add LL suffix when necessary
24335 new definitions relating to tables
24336 * include/grub/efiemu/efiemu.h: new file
24337 * include/grub/efiemu/runtime.h: likewise
24338 * efiemu/prepare.c: likewise
24339 * efiemu/loadcore_common.c: likewise
24340 * efiemu/loadcore64.c: likewise
24341 * efiemu/runtime/efiemu.sh: likewise
24342 * efiemu/runtime/efiemu.S: likewise
24343 * efiemu/runtime/efiemu.c: likewise
24344 * efiemu/runtime/config.h: likewise
24345 * efiemu/prepare32.c: likewise
24346 * efiemu/main.c: likewise
24347 * efiemu/modules/pnvram.c: likewise
24348 * efiemu/modules/i386: likewise
24349 * efiemu/modules/i386/pc: likewise
24350 * efiemu/modules/acpi.c: likewise
24351 * efiemu/i386/pc/cfgtables.c: likewise
24352 * efiemu/i386/loadcore64.c: likewise
24353 * efiemu/i386/loadcore32.c: likewise
24354 * efiemu/prepare64.c: likewise
24355 * efiemu/loadcore.c: likewise
24356 * efiemu/symbols.c: likewise
24357 * efiemu/mm.c: likewise
24358 * efiemu/loadcore32.c: likewise
7dd4a573 24359
243602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 24361
24362 ACPI spoofing
24363
24364 * commands/acpi.c: new file
24365 * commands/i386/pc/acpi.c: likewise
24366 * commands/efi/acpi.c: likewise
24367 * include/grub/acpi.h: likewise
24368 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24369 (acpi_mod_SOURCES): new variable
24370 (acpi_mod_CFLAGS): likewise
24371 (acpi_mod_LDFLAGS): likewise
24372 * conf/i386-efi.rmk: likewise
24373 * conf/x86_64-efi.rmk: likewise
24374
7dd4a573 243752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 24376
24377 Missing part from mmap patch
24378
24379 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24380 (grub_mmap_unregister)
24381 (grub_mmap_free_and_unregister): use grub_mmap_register
24382
7dd4a573 243832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 24384
24385 Mmap services
24386
24387 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24388 * loader/i386/linux.c (find_mmap_size): likewise
24389 (allocate_pages): likewise
24390 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24391 (grub_fill_multiboot_mmap): likewise
24392 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24393 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24394 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24395 (OPENBSD_MMAP_RESERVED): likewise
24396 * include/grub/i386/pc/memory.h: include grub/memory.h
24397 (grub_lower_mem): removed
24398 (grub_upper_mem): likewise
24399 (GRUB_MACHINE_MEMORY_ACPI): new definition
24400 (GRUB_MACHINE_MEMORY_NVS): likewise
24401 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24402 (GRUB_MACHINE_MEMORY_HOLE): likewise
24403 (grub_machine_mmap_register): likewise
24404 (grub_machine_mmap_unregister): likewise
24405 (grub_machine_get_upper): likewise
24406 (grub_machine_get_lower): likewise
24407 (grub_machine_get_post64): likewise
24408 * include/grub/i386/efi/memory.h: new file
24409 * include/grub/x86_64/efi/memory.h: likewise
24410 * include/grub/efi/memory.h: likewise
24411 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24412 (mmap_mod_SOURCES): new variable
24413 (mmap_mod_LDFLAGS): likewise
24414 (mmap_mod_ASFLAGS): likewise
24415 * conf/i386-coreboot.rmk: likewise
24416 * conf/i386-ieee1275.rmk: likewise
24417 * conf/i386-efi.rmk: likewise
24418 * conf/x86_64-efi.rmk: likewise
24419 * include/grub/types.h (UINT_TO_PTR): new macro
24420 (PTR_TO_UINT32): likewise
24421 (PTR_TO_UINT64): likewise
24422 * include/grub/memory.h: new file
24423 * mmap/i386/pc/mmap.c: likewise
24424 * mmap/i386/pc/mmap_helper.S: likewise
24425 * mmap/i386/uppermem.c: likewise
24426 * mmap/mmap.c: likewise
24427 * mmap/efi/mmap.c: likewise
7dd4a573 24428 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24429 grub_upper_mem
24430 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24431 (grub_upper_mem): likewise
24432 (grub_machine_init): don't use grub_upper_mem,
24433 make grub_lower_mem local
24434 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24435 grub_mmap_iterate and grub_mmap_get_upper
24436 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24437
d558e6b5 244382009-05-02 Bean <bean123ch@gmail.com>
24439
24440 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24441 script/sh/parser.y.
24442 (pkglib_MODULES): Add normal.mod and sh.mod.
24443 (normal_SOURCES): New variable.
24444 (normal_mod_CFLAGS): Likewise.
24445 (normal_mod_LDFLAGS): Likewise.
24446 (sh_mod_SOURCES): Likewise.
24447 (sh_mod_CFLAGS): Likewise.
24448 (sh_mod_LDFLAGS): Likewise.
24449
24450 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24451 script/sh/lexer.c_DEPENDENCIES.
24452 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24453 kern/rescue_reader.c and kern/rescue_parser.c.
24454 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24455 (grub_emu_SOURCES): Change source files.
24456 (pkglib_MODULES): Remove normal.mod.
24457 (normal_SOURCES): Removed.
24458 (normal_mod_CFLAGS): Likewise.
24459 (normal_mod_LDFLAGS): Likewise.
24460 * conf/i386-coreboot.rmk: Likewise.
24461 * conf/i386-efi.rmk: Likewise.
24462 * conf/i386-ieee1276.rmk: Likewise.
24463 * conf/powerpc-ieee1275.rmk: Likewise.
24464 * conf/sparc64-ieee1275.rmk: Likewise.
24465 * conf/x86_64-efi.rmk: Likewise.
24466
24467 * include/grub/command.h (grub_command_execute): New inline function.
24468
24469 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24470
24471 * include/grub/normal.h: Remove <grub/setjmp.h>.
24472 (grub_fs_module_list): Moved to normal/autofs.c.
24473 (grub_exit_env): Removed.
24474 (grub_command_execute): Likewise.
24475 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24476 parameter script.
24477 (read_command_list): New function declaration.
24478 (read_fs_list): Likewise.
24479
24480 * include/parser.h: Include <grub/reader.h>.
24481 (grub_parser_split_cmdline): Change type of getline parameter.
24482 (grub_parser): New structure.
24483 (grub_parser_class): New variable.
24484 (grub_parser_execute): New function declaration.
24485 (grub_register_rescue_parser): Likewise.
24486 (grub_parser_register): New inline function.
24487 (grub_parser_unregister): Likewise.
24488 (grub_parser_get_current): Likewise.
24489 (grub_parser_set_current): Likewise.
24490
24491 * include/grub/reader.h: New file.
24492 * kern/reader.c: Likewise.
24493 * kern/rescue_parser.c: Likewise.
24494 * kern/rescue_reader.c: Likewise.
24495 * normal/autofs.c: Likewise.
24496 * normal/dyncmd.c: Likewise.
24497
24498 * include/grub/rescue.h: Removed.
24499 * normal/command.h: Likewise.
24500
24501 * include/grub/script.h: Moved to ...
24502 * include/grub/script_sh.h: ... Moved here.
24503 * normal/execute.c: Moved to ...
24504 * script/sh/execute.c: ... Moved here.
24505 * normal/function.c: Moved to ...
24506 * script/sh/function.c: ... Moved here.
24507 * normal/lexer.c: Moved to ...
24508 * script/sh/lexer.c: ... Moved here.
24509 * normal/parser.y: Moved to ...
24510 * script/sh/parser.y: ... Moved here.
24511 * normal/script.c: Moved to ...
24512 * script/sh/script.c: ... Moved here.
24513
24514 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24515 <grub/reader.h>.
24516 (grub_exit_env): Removed.
24517 (fs_module_list): Moved to normal/autofs.c.
24518 (grub_file_getline): Don't handle comment here.
24519 (free_menu): Skip removed field entry->commands.
24520 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24521 script parameter.
24522 (read_config_file): Removed nested parameter, change getline function.
24523 (grub_enter_normal_mode): Removed.
24524 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24525 (read_command_list): Likewise.
24526 (autoload_fs_module): Moved to normal/autofs.c.
24527 (read_fs_list): Likewise.
24528 (reader_nested): New variable.
24529 (grub_normal_execute): Run parser.sh to switch to sh parser.
24530 (grub_cmd_rescue): Removed.
24531 (cmd_normal): Removed.
24532 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24533 rescue command.
24534 (grub_cmdline_run): New function.
24535 (grub_normal_reader_init): Likewise.
24536 (grub_normal_read_line): Likewise.
24537 (grub_env_write_pager): Likewise.
24538 (cmdline): New variable.
24539 (grub_normal_reader): Likewise.
24540 (GRUB_MOD_INIT): Register normal reader and set as current, register
24541 pager hook, register normal command with grub_register_command_prio,
24542 so that it won't show up in command.lst.
24543 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24544 grub_fs_autoload_hook.
24545
24546 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24547 (grub_menu_execute_entry): Replace grub_script_execute with
24548 grub_parser_execute, change parameter to grub_command_execute.
24549
24550 * normal/menu_text.c: Remove <grub/script.h>.
24551
24552 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24553 and <grub/parser.h>.
24554 (run): Change editor_getline to use new parser interface. Change
24555 parameter to grub_command_execute.
24556
24557 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24558 <grub/reader.h> and <grub/parser.h>.
24559 (grub_load_normal_mode): Execute normal command.
24560 (grub_main): Call grub_register_core_commands,
24561 grub_register_rescue_parser and grub_register_rescue_reader, use
24562 grub_reader_loop to enter input loop.
24563
7dd4a573 24564 * kern/parser.c (grub_parser_split_cmdline): Change type of
24565 getline parameter.
d558e6b5 24566 (grub_parser_class): New variable.
24567 (grub_parser_execute): New function.
24568
24569 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24570 * loader/multiboot2.c: Likewise.
24571 * loader/sparc64/ieee1275/linux.c: Likewise.
24572
24573 * util/grub-emu.c (read_command_list): New dummy function.
24574
18db813d 245752009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24576
24577 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24578 count to 16 for CCISS and IDA.
24579
6c67de15 245802009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24581
24582 * normal/menu_text.c (grub_wait_after_message): Print a newline
24583 after waiting for user input.
24584
24585 * loader/i386/linux.c: Include `<grub/normal.h>'.
24586 (grub_cmd_linux): Improve the error message about `ask' mode, by
24587 waiting for user input so it's not missed (we can do this, since
24588 user requested interaction).
24589
d9dc87b0 245902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24591
24592 Added missing lst to grub-mkrescue
24593
24594 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24595 and ${input_dir}/parttool.lst
24596
ac8a2baa 245972009-04-30 David S. Miller <davem@davemloft.net>
24598
ad22a610 24599 * util/hostdisk.c (device_is_wholedisk): New function.
24600 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24601 zero only if device_is_wholedisk() returns true.
24602
6966215d 24603 * util/hostdisk.c (convert_system_partition_to_system_disk):
24604 Handle virtual disk devices named /dev/vdiskX as found on sparc
24605 and powerpc.
24606
ac8a2baa 24607 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24608 lettered partition specifier is found, convert to numbered.
24609
979b4fb4 246102009-04-29 David S. Miller <davem@davemloft.net>
24611
e2bf39b2 24612 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24613 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24614
3c64e104 24615 * normal/command.c: Add missing newline at end of file.
24616
979b4fb4 24617 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24618 warnings.
24619 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24620 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24621 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24622 ihandles have a 32-bit type but need to be stored in a "void *".
24623
136d9f82 246242009-04-28 Pavel Roskin <proski@gnu.org>
24625
9459c306 24626 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24627 not disk. Adjust all dependencies.
2e08a26a 24628 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 24629 grub_disk_close().
24630
136d9f82 24631 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24632 parent's partition, don't copy it by reference, as it gets freed
24633 on close.
24634
7dd4a573 246352009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 24636
24637 Preboot hooks support
24638
24639 * commands/boot.c (struct grub_preboot_t): new declaration
24640 (preboots_head): new variable
24641 (preboots_tail): likewise
24642 (grub_loader_register_preboot_hook): new function
24643 (grub_loader_unregister_preboot_hook): likewise
24644 (grub_loader_set): launch preboot hooks
24645 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24646 (grub_loader_register_preboot_hook): new declaration
24647 (grub_loader_unregister_preboot_hook): likewise
24648
5af922b5 246492009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24650
24651 Warning fix
24652
7dd4a573 24653 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 24654 calling grub_dprintf
24655
a5562c30 246562009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24657
24658 Bug and warning fixes
24659
7dd4a573 24660 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 24661 declaration
24662 * commands/test.c (test_parse): fixed bug with file tests and corrected
24663 declaration of find_file
24664
4006f85c 246652009-04-26 Pavel Roskin <proski@gnu.org>
24666
24667 * Makefile.in: Don't install empty manual pages if help2man is
24668 missing. Use help2man option for output, not shell redirection.
24669
5c77c3de 246702009-04-26 David S. Miller <davem@davemloft.net>
24671
24672 * util/grub-mkdevicemap.c (make_device_map): Add missing
24673 NESTED_FUNC_ATTR to process_device().
24674
033b10a8 246752009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24676
24677 Test command
24678
24679 * commands/test.c: rewritten to use bash-like test
24680
e4343593 246812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24682
24683 Parttool autoloading and improvements
24684
7dd4a573 24685 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 24686 (parttool.lst): new target
24687 * genmk.rb: generate parttool-*
24688 (CLEANFILES): add #{parttool}
24689 (PARTTOOLFILES): new variable
24690 * genparttoollist.sh: new file
7dd4a573 24691 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 24692 (grub_pcpart_type): likewise
24693 * commands/parttool.c (helpmsg): new variable
24694 (grub_cmd_parttool): output help if not enough arguments are supplied
24695 autoload modules
24696 (GRUB_MOD_INIT(parttool)): use helpmsg
24697
0d312500 246982009-04-24 David S. Miller <davem@davemloft.net>
24699
7dd4a573 24700 Avoiding opening same device multiple times in device iterator.
0d312500 24701
24702 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 24703 and use it to build a list of partitions in iterate_disk() and
0d312500 24704 iterate_partition().
24705
ac20caff 24706 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24707 on disk->data.
24708
0dcf7495 24709 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24710 grub_devalias_iterate() result instead of unconditional 0.
24711 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24712 Also, capture hook return value, either directly or via
24713 grub_children_iterate(), and propagate to caller.
24714 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24715 grub_children_iterate): Return value is now 'int' instead of
24716 'grub_err_t'.
24717 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24718 like a proper iterator, stopping when hooks return non-zero.
24719 (grub_devalias_iterate): Likewise.
24720
c8c08833 247212009-04-23 David S. Miller <davem@davemloft.net>
24722
24723 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24724
f01005a8 247252009-04-22 David S. Miller <davem@davemloft.net>
24726
24727 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24728 is larger than address_cells, use that value for address_cells too.
24729
4e8269da 24730 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24731 IEEE1275_MAX_PATH_LEN): Define.
24732 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24733 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24734 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24735 'devtype'. Explicitly NULL terminate devalias expansion.
24736
a1447506 24737 * util/sparc64/ieee1275/misc.c: New file.
24738 * util/sparc64/ieee1275/grub-setup.c: New file.
24739 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24740 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24741 * util/sparc64/ieee1275/grub-install.in: New file.
24742 * util/ieee1275/ofpath.c: New file.
24743 * util/ieee1275/devicemap.c: New file.
24744 * util/devicemap.c: New file.
24745 * util/deviceiter.c: New file.
24746 * kern/sparc64/ieee1275/init.c: New file.
24747 * include/grub/util/ofpath.h: New file.
24748 * include/grub/util/deviceiter.h: New file.
24749 * util/grub-mkdevicemap.c: Include deviceiter.h.
24750 Implement using grub_util_emit_devicemap_entry and
24751 grub_util_iterate_devices.
24752 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24753 util/devicemap.c into grub-mkdevicemap
24754 * conf/i386-efi.rmk: Likewise.
24755 * conf/i386-ieee1275.rmk: Likewise.
24756 * conf/i386-pc.rmk: Likewise.
24757 * conf/powerpc-ieee1275.rmk: Likewise.
24758 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24759 images and installation utilities. Build kernel as image
24760 instead of as elf binary. Use common rules as much as possible.
24761
7dd4a573 247622009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 24763
24764 Correct GPT definition
24765
7dd4a573 24766 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 24767 of "attrib" member
24768
c6c5219f 247692009-04-19 Felix Zielcke <fzielcke@z-51.de>
24770
24771 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24772
0552ff9f 247732009-04-19 David S. Miller <davem@davemloft.net>
24774
24775 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24776 (grub_rescue_cmd_linux): Rename to...
24777 (grub_cmd_linux): and fix prototype.
24778 (grub_rescue_cmd_initrd): Rename to...
24779 (grub_cmd_initrd): and fix prototype.
24780 (cmd_linux, cmd_initrd): New.
24781 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24782 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24783
d1a282fc 247842009-04-17 Pavel Roskin <proski@gnu.org>
24785
07c5039f 24786 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24787 format.
24788 (grub_ohci_transfer): Likewise.
24789
b012002d 24790 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24791
1bc09c35 24792 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24793 return without a value. Fix inconsistent indentation.
24794
e0ff9126 24795 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24796 match struct grub_fs.
24797
d1a282fc 24798 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24799 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24800 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24801 * commands/lspci.c (grub_lspci_iter): Likewise.
24802
a96df3f2 248032009-04-16 Bean <bean123ch@gmail.com>
24804
24805 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24806 value.
24807
41bb0fe9 248082009-04-15 Pavel Roskin <proski@gnu.org>
24809
24810 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24811 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24812 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24813 definitions.
24814
596c6970 248152009-04-15 Felix Zielcke <fzielcke@z-51.de>
24816
24817 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 24818 that no multiple data or metadata areas are supported and `Unknown
596c6970 24819 metadata header'.
24820
7dd4a573 248212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 24822
24823 Move loader out of the kernel
24824
24825 * kern/loader.c: moved to ...
24826 * commands/boot.c: ... moved here
24827 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24828 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24829 * include/grub/kernel.h (grub_machine_fini): export
24830 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24831 (grub_loader_set): likewise
24832 (grub_loader_unset): likewise
24833 (grub_loader_boot): likewise
24834 * conf/common.rmk: new module boot.mod
24835 (pkglib_MODULES): add boot.mod
24836 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24837 (grub_emu_SOURCES): likewise
24838 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24839 (grub_emu_SOURCES): likewise
24840 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24841 (grub_emu_SOURCES): likewise
24842 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24843 (grub_emu_SOURCES): likewise
24844 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24845 (grub_emu_SOURCES): likewise
7dd4a573 24846 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24847 (grub_emu_SOURCES): likewise
0d5d5653 24848 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 24849 (grub_emu_SOURCES): likewise
0d5d5653 24850
7dd4a573 248512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 24852
24853 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 24854
5999d619 24855 * kern/misc.c (grub_itoa): Removed function
24856 (grub_ltoa): likewise
24857 (grub_vsprintf): use grub_lltoa
24858
7dd4a573 248592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 24860
24861 Restore grub-emu
24862
24863 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24864 * conf/i386-coreboot.rmk: likewise
24865 * conf/i386-ieee1275.rmk: likewise
24866 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24867
20318222 248682009-04-15 Felix Zielcke <fzielcke@z-51.de>
24869
24870 * INSTALL: Add that `./autogen.sh' needs to be run before
24871 `./configure.'.
24872
d05f0df3 248732009-04-14 Bean <bean123ch@gmail.com>
24874
24875 * Makefile.in (pkglib_DATA): Add handler.lst.
24876 (handler.lst): New rule.
24877
24878 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24879 * conf/i386-coreboot.rmk: Likewise.
24880 * conf/i386-ieee1275.rmk: Likewise.
24881 * conf/i386-efi.rmk: Likewise.
24882 * conf/x86_64-efi.rmk: Likewise.
24883 * conf/powerpc-ieee1275.rmk: Likewise.
24884 * conf/sparc64-ieee1275.rmk: Likewise.
24885
24886 * genhandlerlist.sh: New file.
24887
24888 * genmk.rb: Add rules to generate handler.lst.
24889
24890 * include/grub/normal.h (grub_file_getline): New function definition.
24891 (read_handler_list): Likewise.
24892 (free_handler_list): Likewise.
24893
24894 * include/grub/term.h (grub_term_register_input): Add name parameter
24895 for auto generation of handler.lst.
24896 (grub_term_register_output): Likewise.
24897
24898 * normal/handler.c: New file.
24899
24900 * normal/main.c (get_line): Renamed to grub_file_getline.
24901 (read_config_file): Use the newly renamed grub_file_getline.
24902 (read_command_list): Likewise.
24903 (read_fs_list): Likewise.
24904 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24905 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24906
24907 * term/efi/console.c (grub_console_init): Add name parameter for auto
24908 generation of handler.lst.
24909 * term/gfxterm.c: Likewise.
24910 * term/i386/pc/at_keyboard.c: Likewise.
24911 * term/i386/pc/console.c: Likewise.
24912 * term/i386/pc/serial.c: Likewise.
24913 * term/i386/pc/vesafb.c: Likewise.
24914 * term/i386/pc/vga.c: Likewise.
24915 * term/i386/pc/vga_text.c: Likewise.
24916 * term/ieee1275/ofconsole.c: Likewise.
24917 * term/usb_keyboard.c: Likewise.
24918
33c846be 249192009-04-14 Bean <bean123ch@gmail.com>
24920
24921 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24922 properly with null character.
24923
4484e01e 249242009-04-14 Felix Zielcke <fzielcke@z-51.de>
24925
24926 * configure: Remove.
24927 * config.h.in: Likewise.
f93d668e 24928 * stamp-h.in: Likewise.
4484e01e 24929 * DISTLIST: Likewise.
24930 * conf/common.mk: Likewise.
24931 * conf/i386-coreboot.mk: Likewise.
24932 * conf/i386-efi.mk: Likewise.
24933 * conf/i386-ieee1275.mk: Likewise.
24934 * conf/i386.mk: Likewise.
24935 * conf/i386-pc.mk: Likewise.
24936 * conf/powerpc-ieee1275.mk: Likewise.
24937 * conf/sparc64-ieee1275.mk: Likewise.
24938 * conf/x86_64-efi.mk: Likewise.
24939
24940 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24941 develop on GRUB.
24942
7dd4a573 249432009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 24944 David S. Miller <davem@davemloft.net>
24945
24946 * util/hostdisk.c (make_device_name): Fix buffer length
24947 calculations.
24948
e25b5a8c 249492009-04-14 Felix Zielcke <fzielcke@z-51.de>
24950
24951 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24952 <sys/param.h> and <sys/sysctl.h>.
24953 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24954 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24955 opening the device and reset them afterwards.
24956
1f1f580c 249572009-04-13 Pavel Roskin <proski@gnu.org>
24958
24959 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24960 Reported by John Stanley <jpsinthemix@verizon.net>
24961
7ebc2d6b 249622009-04-13 Robert Millan <rmh@aybabtu.com>
24963
24964 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 24965 that name for menuentries when appropriate.
7ebc2d6b 24966
d8ba3667 249672009-04-13 Felix Zielcke <fzielcke@z-51.de>
24968
24969 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24970
cba416eb 249712009-04-13 Robert Millan <rmh@aybabtu.com>
24972
24973 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24974 to Linux, simply abort telling the user it's no longer supported.
24975
a547a745 249762009-04-13 Felix Zielcke <fzielcke@z-51.de>
24977
24978 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 24979 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 24980 `freebsd_loadenv' only when devices.hints exist.
24981
232a769c 249822009-04-13 Pavel Roskin <proski@gnu.org>
24983
24984 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24985
c3012039 249862009-04-13 Felix Zielcke <fzielcke@z-51.de>
24987
24988 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24989 partition number.
24990 (grub_drive): Likewise.
24991
234022fe 249922009-04-13 David S. Miller <davem@davemloft.net>
24993
24994 * kern/sparc64/ieee1275/ieee1275.c: New file.
24995 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24996 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24997 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24998 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24999 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25000 grub_ieee1275_alloc_physmem): Declare new exported functions.
25001
d8e1836c 25002 * include/grub/sparc64/ieee1275/loader.h: New file.
25003 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25004 * include/grub/sparc64/kernel.h: Likewise.
25005 * loader/sparc64/ieee1275/linux.c: Likewise.
25006
96bd81ec 25007 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25008 (grub_fstest_SOURCES): Likewise.
25009
6a4737e5 25010 * util/hostdisk.c (make_device_name): Do not make any assumptions
25011 about the length of drive names.
25012
1d7a72fd 25013 * kern/dl.c (grub_dl_load_file): Close file immediately when
25014 we are done using it.
25015
56bc2471 250162009-04-12 David S. Miller <davem@davemloft.net>
25017
25018 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25019 values. Noticed by Pavel Roskin.
25020
df38d0bb 25021 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25022 target compiler.
7dd4a573 25023
e382e93a 25024 * genmk.rb: Add more flexible image type specification, also
25025 pass --strip-unneeded to objcopy.
25026 * conf/i386-pc.rmk: Use *_FORMAT.
25027 * conf/i386-pc.mk: Rebuilt.
25028
f5dbbca9 25029 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25030 (OFDISK_HASH_SZ): Define.
25031 (ofdisk_hash): New hash table.
25032 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25033 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25034 instead of device phandle which is not unique.
25035
91c88b12 25036 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25037 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25038 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25039 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25040 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25041 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25042 GRUB_KERNEL_MACHINE_DATA_END): Define.
25043 (grub_kernel_image_size, grub_total_module_size): Declare.
25044
5b5d4aa5 250452009-04-12 Pavel Roskin <proski@gnu.org>
25046
7dd4a573 25047 * configure.ac: Change the logic when we check for target tools.
25048 Do it when the target is specified and it's different from the
25049 specified value of the host.
5b5d4aa5 25050
c91e1793 250512009-04-11 Felix Zielcke <fzielcke@z-51.de>
25052
25053 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25054 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25055 GNU/kFreeBSD. Check if a device is a character device. Use
25056 DIOCGMEDIASIZE to get the size.
25057 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25058 support for GNU/kFreeBSD.
25059 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25060 is a character device instead of a block device. Add support for
25061 FreeBSD device names.
25062
25063 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25064 is a character device instead of a block device.
25065
25066 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25067 is a character device instead of a block device.
25068
b1ac8644 250692009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25070
25071 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25072 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25073 FreeBSD. Check if a device is a character device. Use
25074 DIOCGMEDIASIZE to get the size.
25075 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25076 support for FreeBSD.
25077 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25078 is a character device instead of a block device. Add support for
25079 FreeBSD device names.
25080
25081 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25082 a character device instead of a block device.
25083 (grub_util_check_char_device): New function.
25084
25085 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25086 a character device instead of a block device.
25087
25088 * include/grub/util/getroot.h (grub_util_check_char_device): New
25089 prototype.
25090
a3f7515a 250912009-04-11 David S. Miller <davem@davemloft.net>
25092
25093 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25094 static libgcc.
25095 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25096 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25097 function, if present.
25098 (__bswapdi2): Likewise.
25099
0d44993d 25100 * include/grub/sparc64/ieee1275/boot.h: New file.
25101 * boot/sparc64/ieee1275/boot.S: Likewise.
25102 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25103
ed3d2bc2 25104 * kern/misc.c (grub_ltoa): New function.
25105 (grub_vsprintf): Use it to format 'long' integers.
25106
d3bfb59c 251072009-04-10 David S. Miller <davem@davemloft.net>
25108
25109 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25110 slots are of type grub_ieee1275_cell_t.
25111 (grub_nand_read): Likewise.
25112 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25113 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25114 macros are used to compare values in arg/ret block of the call.
25115 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25116 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25117 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25118 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25119 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25120 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25121 grub_ieee1275_close, grub_ieee1275_set_property,
25122 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25123 grub_ieee1275_cell_t.
25124 * kern/ieee1275/openfw.c (grub_map): Likewise.
25125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25126 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25127
450e2238 25128 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25129 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25130 (grub_devalias_iterate): Likewise.
25131
7dd4a573 251322009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25133
25134 UFS improvements
25135
25136 * fs/ufs.c (INODE_NBLOCKS): new definition
25137 (struct grub_ufs_dirent): added fields for non-BSD dirents
25138 (grub_ufs_get_file_block): fixed double indirect handling
25139 (grub_ufs_lookup_symlink): use more robust way to determine whether
25140 symlink is inline
25141 (grub_ufs_find_file): support for non-BSD dirents
25142 (grub_ufs_dir): support for non-BSD dirents
25143
e7e6862a 251442009-04-10 Bean <bean123ch@gnail.com>
25145
25146 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25147 attribute, otherwise the size would be wrong for i386 platform.
25148
25149 * include/grub/pci.h (grub_pci_read_word): New inline function.
25150 (grub_pci_read_byte): Likewise.
25151 (grub_pci_write): Likewise.
25152 (grub_pci_write_word): Likewise.
25153 (grub_pci_write_byte): Likewise.
25154
25155 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25156
25157 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25158 (find_framebuf): Scan pci to locate the frame buffer address.
25159
25160 * commands/efi/fixvideo.c: New file.
25161
25162 * commands/efi/loadbios.c: Likewise.
25163
25164 * commands/memrw.c: Likewise.
25165
25166 * util/grub-dumpbios.in: Likewise.
25167
25168 * conf/common.rmk (grub-dumpbios): New utility.
25169 (pkglib_MODULES): New module memrw.mod.
25170 (memrw_mod_SOURCE): New macro.
25171 (memrw_mod_CFLAGS): Likewise.
25172 (memrw_mod_LDFLAGS): Likewise.
25173
7dd4a573 25174 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25175 fixvideo.mod.
25176 (loadbios_mod_SOURCE): New macro.
25177 (loadbios_mod_CFLAGS): Likewise.
25178 (loadbios_mod_LDFLAGS): Likewise.
25179 (fixvideo_mod_SOURCE): Likewise.
25180 (fixvideo_mod_CFLAGS): Likewise.
25181 (fixvideo_mod_LDFLAGS): Likewise.
25182
7dd4a573 25183 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25184 fixvideo.mod.
25185 (loadbios_mod_SOURCE): New macro.
25186 (loadbios_mod_CFLAGS): Likewise.
25187 (loadbios_mod_LDFLAGS): Likewise.
25188 (fixvideo_mod_SOURCE): Likewise.
25189 (fixvideo_mod_CFLAGS): Likewise.
25190 (fixvideo_mod_LDFLAGS): Likewise.
25191
af63ada2 251922009-04-08 Felix Zielcke <fzielcke@z-51.de>
25193
25194 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25195
c2cdde70 251962009-04-07 David S. Miller <davem@davemloft.net>
25197
25198 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25199 support for R_SPARC_OLO10 relocations. Fix compile warning for
25200 R_SPARC_WDISP30 case.
ea3f72cf 25201 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25202
761319cf 252032009-04-06 Pavel Roskin <proski@gnu.org>
25204
1007d1f5 25205 * include/grub/misc.h (ARRAY_SIZE): New macro.
25206 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25207 New macro.
25208 * loader/i386/linux.c (allocate_pages): Use free_pages().
25209 (grub_linux_unload): Don't use free_pages().
25210 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25211 wrong index. Treat all other modes as text modes.
25212 (grub_cmd_linux): Initialize vid_mode unconditionally to
25213 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25214
761319cf 25215 * commands/help.c (print_command_help): Use cmd->prio, not
25216 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25217
ea761d40 252182009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 25219
ea761d40 25220 Parttool
25221
25222 * parttool/pcpart.c: new file
25223 * commands/parttool.c: likewise
25224 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25225 (parttool_mod_SOURCES): new variable
25226 (parttool_mod_CFLAGS): likewise
25227 (parttool_mod_LDFLAGS): likewise
25228 (pcpart_mod_SOURCES): likewise
25229 (pcpart_mod_CFLAGS): likewise
25230 (pcpart_mod_LDFLAGS): likewise
7dd4a573 25231 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 25232 and parttool/pcpart.c
25233 * conf/i386-efi.rmk: likewise
25234 * conf/i386-ieee1275.rmk: likewise
25235 * conf/i386-pc.rmk: likewise
25236 * conf/powerpc-ieee1275.rmk: likewise
25237 * conf/sparc64-ieee1275.rmk: likewise
25238 * conf/x86_64-ieee1275.rmk: likewise
25239
05aaebfb 252402009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25241
25242 Support for mtime and further expandability of dir command
25243
25244 * include/grub/lib/datetime.h: moved to ...
7dd4a573 25245 * include/grub/datetime.h: ... moved here and added
05aaebfb 25246 declaration of grub_unixtime2datetime. All users updated
7dd4a573 25247 * include/grub/fs.h: new syntax for dir and mtime functions in
25248 struct grub_fs
05aaebfb 25249 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25250 and GRUB_FSHELP_FLAGS_MASK
25251 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25252 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25253 (grub_ext2_mtime): new function
25254 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25255 (grub_hfsplus_mtime): new function
25256 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25257 (GRUB_UFS_ATTR_FILE): likewise
25258 (GRUB_UFS_ATTR_LNK): likewise
25259 (struct grub_ufs_sblock): new fields mtime
25260 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25261 all users updated
25262 (grub_ufs_dir): mtime support
25263 (grub_ufs_mtime): new function
25264 * fs/affs.c (grub_affs_dir): use new dir syntax
25265 * fs/afs.c (grub_afs_dir): likewise
25266 * fs/cpio.c (grub_cpio_dir): likewise
25267 * fs/fat.c (grub_fat_find_dir): likewise
25268 * fs/hfs.c (grub_hfs_dir): likewise
25269 * fs/iso9660.c (grub_iso9660_dir): likewise
25270 * fs/jfs.c (grub_jfs_dir): likewise
25271 * fs/minix.c (grub_minix_dir): likewise
25272 * fs/ntfs.c (grub_ntfs_dir): likewise
25273 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25274 * fs/sfs.c (grub_sfs_dir): likewise
25275 * fs/xfs.c (grub_xfs_dir): likewise
25276 * util/hostfs.c (grub_hostfs_dir): likewise
25277 * lib/datetime.c: moved to ...
25278 * normal/datetime.c: ... moved here
25279 (grub_unixtime2datetime): new function
25280 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 25281 * normal/completion.c (iterate_dir): use new dir syntax
25282 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 25283 last modification time of a volume
7dd4a573 25284 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 25285 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 25286 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 25287 (normal_mod_SOURCES): likewise
25288 (datetime_mod_SOURCES): Removed lib/datetime.c
25289 * conf/i386-efi.rmk: likewise
7dd4a573 25290 * conf/i386-ieee1275.rmk: likewise
05aaebfb 25291 * conf/i386-pc.rmk: likewise
25292 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25293 * conf/sparc64-ieee1275.rmk: likewise
25294 * conf/x86_64-efi.rmk: likewise
05aaebfb 25295
8a7e1a14 252962009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25297
25298 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 25299
25300 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 25301 on grub_fat_find_dir
25302 (grub_fat_find_dir): use grub_fat_iterate_dir
25303 (grub_fat_label): likewise
25304
04186a9c 253052009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25306
7dd4a573 25307 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 25308 and command.h
25309 remove extraneous kernel_elf_HEADERS
25310
da4c0bb6 253112009-04-04 Bean <bean123ch@gnail.com>
25312
25313 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25314
25315 * util/misc.c: Likewise.
25316
54ad9555 253172009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25318
25319 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25320 instead of grub_printf.
25321
7a6bf9f2 253222009-04-03 Robert Millan <rmh@aybabtu.com>
25323
25324 * loader/i386/linux.c (grub_linux_setup_video): Fill
25325 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25326 values from `mode info' structure instead of hardcoded
25327 values.
25328
3fcc2083 253292009-04-01 Pavel Roskin <proski@gnu.org>
25330
25331 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25332 unused now.
25333 * genmk.rb: Likewise.
25334 * configure.ac: Likewise.
25335
5ec9740b 253362009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25337
25338 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25339 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25340
5270cec8 253412009-04-01 David S. Miller <davem@davemloft.net>
25342
25343 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 25344 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 25345 (grub_setjmp): Mark with 'returns_twice' attribute.
25346 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25347 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25348 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25349
9c3dd854 253502009-04-01 Robert Millan <rmh@aybabtu.com>
25351
25352 Reapply fix from 2008-07-28 which was accidentally reverted; also
25353 perform the same fix to a similar check in same function.
25354
25355 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25356 with the same number are found, just use issue a warning with
25357 grub_dprintf(), as this error has been reported to be non-fatal.
25358
0d818b7e 253592009-03-31 Pavel Roskin <proski@gnu.org>
25360
25361 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25362 for cross-compilation.
25363
95646d92 253642009-03-30 Robert Millan <rmh@aybabtu.com>
25365
25366 Fix i386-ieee1275 build.
25367
25368 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25369 Remove declaration.
25370
6a003ed1 253712009-03-30 Pavel Roskin <proski@gnu.org>
25372
25373 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25374 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25375 zero-terminated, rely only on the strlen value. Fix comparison
25376 of strings differing in length.
25377
92f33540 253782009-03-30 Robert Millan <rmh@aybabtu.com>
25379
25380 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25381 checking for abi version. Improve error messages on BIOS to notify
25382 user about `linux16' command.
25383
a8c48fd5 253842009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25385
f968172e 25386 Leak fixes
a8c48fd5 25387
f968172e 25388 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25389 in case of collision
25390 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 25391
9c323f09 253922009-03-29 Robert Millan <rmh@aybabtu.com>
25393
25394 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25395 set `vid_mode' accordingly.
25396 (grub_linux_boot): Process `vid_mode' and set video mode.
25397
ae68f423 253982009-03-29 Robert Millan <rmh@aybabtu.com>
25399
25400 * util/grub.d/10_linux.in (linux_entry): New function.
25401 Factorize generation of Linux boot entries.
25402
5709cfc4 254032009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25404
25405 Make the format of Environment Block plain text. The boot loader
25406 part is not tested well yet.
7dd4a573 25407
5709cfc4 25408 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25409 (buffer): Removed.
25410 (envblk): Likewise.
25411 (usage): Remove "info" and "clear". Add "unset". Update the
25412 description of "set", as this does not delete variables any
25413 longer.
25414 (create_envblk_file): Complete rewrite.
25415 (open_envblk_file): Likewise.
25416 (cmd_info): Removed.
25417 (cmd_list): Likewise.
25418 (cmd_set): Likewise.
25419 (cmd_clear): Likewise.
25420 (list_variables): New function.
25421 (write_envblk): Likewise.
25422 (set_variables): Likewise.
25423 (unset_variables): Likewise.
25424 (main): Complete rewrite.
25425
25426 * commands/loadenv.c (buffer): Removed.
25427 (envblk): Likewise.
25428 (open_envblk_file): New function.
25429 (read_envblk_file): Complete rewrite.
25430 (grub_cmd_load_env): Likewise.
25431 (grub_cmd_list_env): Likewise.
25432 (struct blocklist): New struct.
25433 (free_blocklists): New function.
25434 (check_blocklists): Likewise.
25435 (write_blocklists): Likewise.
25436 (grub_cmd_save_env): Complete rewrite.
25437
25438 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25439 a plain text signature.
25440 (GRUB_ENVBLK_MAXLEN): Removed.
25441 (struct grub_envblk): Complete rewrite.
25442 (grub_envblk_find): Removed.
25443 (grub_envblk_insert): Likewise.
25444 (grub_envblk_open): New prototype.
25445 (grub_envblk_set): Likewise.
25446 (grub_envblk_delete): Put const to VALUE.
25447 (grub_envblk_iterate): Put const to NAME and VALUE.
25448 (grub_envblk_close): New prototype.
25449 (grub_envblk_buffer): New inline function.
25450 (grub_envblk_size): Likewise.
25451
25452 * lib/envblk.c: Include grub/mm.h.
25453 (grub_env_find): Removed.
25454 (grub_envblk_open): New function.
25455 (grub_envblk_close): Likewise.
25456 (escaped_value_len): Likewise.
25457 (find_next_line): Likewise.
25458 (grub_envblk_insert): Removed.
25459 (grub_envblk_set): New function.
25460 (grub_envblk_delete): Complete rewrite.
25461 (grub_envblk_iterate): Likewise.
25462
a9368fd3 254632009-03-28 Robert Millan <rmh@aybabtu.com>
25464
25465 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25466 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25467 variables. Use 16-bit loader.
25468 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25469 loader.
25470 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25471 (grub_linux16_boot): ... this. Update all users.
25472 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25473 (grub_linux_boot): ... this. Update all users.
25474
25475 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25476 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25477 commands to `linux16' and `initrd16'.
25478 (GRUB_MOD_FINI(linux)): Rename to ...
25479 (GRUB_MOD_FINI(linux16)): ... this.
25480
e4dd5a7e 254812009-03-24 Pavel Roskin <proski@gnu.org>
25482
25483 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25484 not just for compilation.
25485
c04d6e05 254862009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25487
25488 Move multiboot helper out of kernel
25489
25490 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25491 `loader/i386/multiboot_helper.S'.
25492 * conf/i386-coreboot.rmk: Likewise
25493 * conf/i386-ieee1275.rmk: Likewise
25494
25495 * kern/i386/loader.S: Move multiboot helpers from here...
25496 * loader/i386/multiboot_helper.S: ...moved here
25497 * include/grub/i386/loader.h: Move declarations of multiboot
25498 helpers from here...
25499 * include/grub/i386/multiboot.h: ...moved here
25500 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25501
42a5b3fc 255022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25503
25504 * kern/env.c (grub_env_context_open): Added an argument to specify
25505 whether a new context inherits exported variables from current
25506 one. This is useful when making a sandbox to interpret a config
25507 file.
25508 All callers updated.
25509
25510 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25511
b28bbc4e 255122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25513
25514 * kern/env.c (grub_env_context_close): Fix memory leaks.
25515
f04f02e4 255162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25517
25518 * normal/main.c (grub_normal_execute): Added an argument
25519 BATCH to specify if an interactive interface should be provided
25520 after reading a config file.
25521 All callers updated.
25522 (read_command_list): Prevent being executed twice.
25523 (read_fs_list): Likewise.
25524
42a5b3fc 25525 * include/grub/normal.h (grub_normal_execute): Updated the
25526 prototype.
f04f02e4 25527
41473ac2 255282009-03-22 Pavel Roskin <proski@gno.org>
25529
fbc00b0c 25530 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25531 _start.
25532 * kern/i386/pc/startup.S: Likewise.
25533 * kern/i386/efi/startup.S: Likewise.
25534 * kern/i386/ieee1275/startup.S: Likewise.
25535 * kern/i386/coreboot/startup.S: Likewise.
25536 * kern/x86_64/efi/startup.S: Likewise.
25537
41473ac2 25538 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25539 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25540 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25541
2274cc8f 255422009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25543
25544 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25545
25546 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25547 limit detection.
25548 Use vaddr of correct segment for entry_point.
25549
b1b797cb 255502009-03-21 Bean <bean123ch@gmail.com>
25551
25552 * commands/blocklist.c: Add include file <grub/command.h>, remove
25553 <grub/normal.h> and <grub/arg.h>.
25554 (grub_cmd_blocklist): Use the new command interface.
25555 (GRUB_MOD_INIT): Likewise.
25556 (GRUB_MOD_FINI): Likewise.
25557 * commands/boot.c: Likewise.
25558 * commands/cat.c: Likewise.
25559 * commands/cmp.c: Likewise.
25560 * commands/configfile.c: Likewise.
25561 * commands/crc.c: Likewise.
25562 * commands/echo.c: Likewise.
25563 * commands/halt.c: Likewise.
25564 * commands/handler.c: Likewise.
25565 * commands/hdparm.c: Likewise.
25566 * commands/help.c: Likewise.
25567 * commands/hexdump.c: Likewise.
25568 * commands/loadenv.c: Likewise.
25569 * commands/ls.c: Likewise.
25570 * commands/lsmmap.c: Likewise.
25571 * commands/lspci.c: Likewise.
25572 * commands/loadenv.c: Likewise.
25573 * commands/read.c: Likewise.
25574 * commands/reboot.c: Likewise.
25575 * commands/search.c: Likewise.
25576 * commands/sleep.c: Likewise.
25577 * commands/test.c: Likewise.
25578 * commands/usbtest.c: Likewise.
25579 * commands/videotest.c: Likewise.
25580 * commands/i386/cpuid.c: Likewise.
25581 * commands/i386/pc/halt.c: Likewise.
25582 * commands/i386/pc/play.c: Likewise.
25583 * commands/i386/pc/pxecmd.c: Likewise.
25584 * commands/i386/pc/vbeinfo.c: Likewise.
25585 * commands/i386/pc/vbetest.c: Likewise.
25586 * commands/ieee1275/suspend.c: Likewise.
25587 * disk/loopback.c: Likewise.
25588 * font/font_cmd.c: Likewise.
25589 * hello/hello.c: Likewise.
25590 * loader/efi/appleloader.c: Likewise.
25591 * loader/efi/chainloader.c: Likewise.
25592 * loader/i386/bsd.c: Likewise.
25593 * loader/i386/efi/linux.c: Likewise.
25594 * loader/i386/ieee1275/linux.c: Likewise.
25595 * loader/i386/linux.c: Likewise.
25596 * loader/i386/pc/chainloader.c: Likewise.
25597 * loader/i386/pc/linux.c: Likewise.
25598 * loader/powerpc/ieee1275/linux.c: Likewise.
25599 * loader/multiboot_loader.c: Likewise.
25600 * term/gfxterm.c: Likewise.
25601 * term/i386/pc/serial.c: Likewise.
25602 * term/terminfo.c: Likewise.
25603
25604 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25605 * term/i386/pc/vga.c: Likewise.
25606 * video/readers/jpeg.c: Likewise.
25607 * video/readers/png.c: Likewise.
25608 * video/readers/tga.c: Likewise.
25609
25610 * util/grub-fstest (cmd_loopback): Removed.
25611 (cmd_blocklist): Likewise.
25612 (cmd_ls): Likewise.
25613 (grub_register_command): Likewise.
25614 (grub_unregister_command): Likewise.
25615 (execute_command): Use grub_command_find to locate command and execute
25616 it.
25617
25618 * include/grub/efi/chainloader.h: Removed.
25619 * loader/efi/chainloader_normal.c: Likewise.
25620 * loader/i386/bsd_normal.c: Likewise.
25621 * loader/i386/pc/chainloader_normal.c: Likewise.
25622 * loader/i386/pc/multiboot_normal.c: Likewise.
25623 * loader/linux_normal.c: Likewise.
25624 * loader/multiboot_loader_normal.c: Likewise.
25625 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25626
25627 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25628 and grub_register_command_p1.
25629
25630 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25631 kern/command.c, lib/arg.c and commands/extcmd.c.
25632 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25633 (minicmd_mod_SOURCES): New variable.
25634 (minicmd_mod_CFLAGS): Likewise.
25635 (minicmd_mod_LDFLAGS): Likewise.
25636 (extcmd_mod_SOURCES): Likewise.
25637 (extcmd_mod_CFLAGS): Likewise.
25638 (extcmd_mod_LDFLAGS): Likewise.
25639 (boot_mod_SOURCES): Removed.
25640 (boot_mod_CFLAGS): Likewise.
25641 (boot_mod_LDFLAGS): Likewise.
25642
25643 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25644 kern/corecmd.c.
25645 (kernel_img_HEADERS): Add command.h.
25646 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25647 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25648 and lib/arg.c.
25649 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25650 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25651 remove the corresponding normal mode command.
25652 (normal_mod_SOURCES): Remove normal/arg.c.
25653 * conf/i386-coreboot.rmk: Likewise.
25654 * conf/i386-efi.rmk: Likewise.
25655 * conf/i386-ieee1275.rmk: Likewise.
25656 * conf/powerpc-ieee1275.rmk: Likewise.
25657 * conf/x86_64-efi.rmk: Likewise.
25658
25659 * include/grub/arg.h: Move from here ...
25660 * include/grub/lib/arg.h: ... to here.
25661
25662 * normal/arg.c: Move from here ...
25663 * lib/arg.c: ... to here.
25664
25665 * commands/extcmd.c: New file.
25666 * commands/minicmd.c: Likewise.
25667 * include/grub/command.h: Likewise.
25668 * include/grub/extcmd.h: Likewise.
25669 * kern/command.c: Likewise.
25670 * kern/corecmd.c: Likewise.
25671
25672 * kern/list.c (grub_list_iterate): Return int instead of void.
25673 (grub_list_insert): New function.
25674 (grub_prio_list_insert): Likewise.
25675
25676 * kern/rescue.c (grub_rescue_command): Removed.
25677 (grub_rescue_command_list): Likewise.
25678 (grub_rescue_register_command): Likewise.
25679 (grub_rescue_unregister_command): Likewise.
25680 (grub_rescue_cmd_boot): Move to minicmd.c
25681 (grub_rescue_cmd_help): Likewise.
25682 (grub_rescue_cmd_info): Likewise.
25683 (grub_rescue_cmd_boot): Likewise.
25684 (grub_rescue_cmd_testload): Likewise.
25685 (grub_rescue_cmd_dump): Likewise.
25686 (grub_rescue_cmd_rmmod): Likewise.
25687 (grub_rescue_cmd_lsmod): Likewise.
25688 (grub_rescue_cmd_exit): Likewise.
25689 (grub_rescue_print_devices): Moved to corecmd.c.
25690 (grub_rescue_print_files): Likewise.
25691 (grub_rescue_cmd_ls): Likewise.
25692 (grub_rescue_cmd_insmod): Likewise.
25693 (grub_rescue_cmd_set): Likewise.
25694 (grub_rescue_cmd_unset): Likewise.
7d074e3c 25695 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 25696 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 25697 commands, remove grub_rescue_register_command calls.
b1b797cb 25698
7d074e3c 25699 * normal/command.c (grub_register_command): Removed.
b1b797cb 25700 (grub_unregister_command): Likewise.
25701 (grub_command_find): Likewise.
25702 (grub_iterate_commands): Likewise.
25703 (rescue_command): Likewise.
25704 (export_command): Moved to corecmd.c.
25705 (set_command): Removed.
25706 (unset_command): Likewise.
25707 (insmod_command): Likewise.
25708 (rmmod_command): Likewise.
25709 (lsmod_command): Likewise.
25710 (grub_command_init): Likewise.
25711
25712 * normal/completion.c (iterate_command): Use cmd->prio to check for
25713 active command.
25714 (complete_arguments): Use grub_extcmd_t structure to find options.
25715 (grub_normal_do_completion): Change function grub_iterate_commands to
25716 grub_command_iterate.
25717
25718 * normal/execute.c (grub_script_execute_cmd): No need to parse
25719 argument here.
25720
25721 * normal/main.c (grub_dyncmd_dispatcher): New function.
25722 (read_command_list): Register unload commands as dyncmd.
25723 (grub_cmd_normal): Use new command interface, register rescue,
25724 unregister normal at entry, register normal, unregister rescue at exit.
25725
25726 * include/grub/list.h (grub_list_test_t): New type.
25727 (grub_list_iterate): Return int instead of void.
25728 (grub_list_insert): New function.
25729 (GRUB_AS_NAMED_LIST_P): New macro.
25730 (GRUB_AS_PRIO_LIST): Likewise.
25731 (GRUB_AS_PRIO_LIST_P): Likewise.
25732 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25733 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25734 (grub_prio_list): New structure.
25735 (grub_prio_list_insert): New function.
25736 (grub_prio_list_remove): New inline function.
25737
25738 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25739 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25740 (GRUB_COMMAND_FLAG_MENU): Likewise.
25741 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25742 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25743 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25744 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25745 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25746 (grub_command): Likewise.
25747 (grub_register_command): Likewise.
25748 (grub_command_find): Likewise.
25749 (grub_iterate_commands): Likewise.
25750 (grub_command_init): Likewise.
25751 (grub_arg_parse): Likewise.
25752 (grub_arg_show_help): Likewise.
25753
25754 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25755 (grub_rescue_unregister_command): Likewise.
25756
25757 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25758 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25759 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25760
25761 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25762 grub_rescue_cmd_initrd.
25763 * include/grub/i386/loader.h: Likewise.
25764 * include/grub/x86_64/loader.h: Likewise.
25765
25766 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25767
1f4147aa 257682009-03-21 Bean <bean123ch@gmail.com>
25769
25770 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25771 instead of stat in mingw environment.
25772
25773 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25774
25775 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25776
25777 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25778 AC_CONFIG_LINKS.
25779
2156d5ba 257802009-03-21 Bean <bean123ch@gmail.com>
25781
25782 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25783 out of range error.
25784
177b82ca 257852009-03-18 Michel Dänzer <michel@daenzer.net>
25786
25787 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25788 checking inode flags for EXT4_EXTENTS_FLAG.
25789
14aad807 257902009-03-18 Robert Millan <rmh@aybabtu.com>
25791
25792 * loader/i386/linux.c: Include `<grub/video.h>' and
25793 `<grub/i386/pc/vbe.h>'..
25794 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25795 (grub_linux32_boot): Attempt to configure video settings with
25796 grub_linux_setup_video().
25797 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25798 to avoid grub_console_fini() which would step out of graphical mode
25799 unconditionally.
25800
8cf83a27 258012009-03-14 Robert Millan <rmh@aybabtu.com>
25802
25803 Fix build on powerpc.
25804 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25805
40164e75 258062009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25809 background image command.
25810
c58bc32a 258112009-03-12 Colin D Bennett <colin@gibibit.com>
25812
25813 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25814 (grub_gfxterm_putchar): Extract pairs of identical calls to
25815 draw_cursor out of conditional blocks.
25816
5415144a 258172009-03-11 Pavel Roskin <proski@gnu.org>
25818
25819 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25820 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25821
6394042e 258222009-03-11 Robert Millan <rmh@aybabtu.com>
25823
25824 * loader/i386/multiboot_elfxx.c
25825 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25826
b7b50e5f 258272009-03-11 Felix Zielcke <fzielcke@z-51.de>
25828
25829 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25830 `kern/handler.c'.
25831
1ca7fc96 258322009-03-11 Robert Millan <rmh@aybabtu.com>
25833
25834 * loader/i386/multiboot.c (code_size): New variable.
25835 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 25836 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 25837 4-byte alignment to MBI and others by increasing
7d074e3c 25838 `boot_loader_name_length' appropriately.
1ca7fc96 25839
25840 * loader/i386/multiboot_elfxx.c
25841 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25842
a83ea1d2 258432009-03-09 Felix Zielcke <fzielcke@z-51.de>
25844
25845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25846 `fs/ext2.c'.
25847
aa9f3bff 258482009-03-08 Robert Millan <rmh@aybabtu.com>
25849
25850 Make loader/i386/linux.c usable on i386-pc again.
25851
25852 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25853 memory to heap.
25854 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25855 `#error' stanza.
25856
d8b3b60e 258572009-03-07 Bean <bean123ch@gmail.com>
25858
25859 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25860 allocation.
25861
b362c9e9 258622009-03-06 Robert Millan <rmh@aybabtu.com>
25863
25864 Fix display issue on terminals with screen size other than 80x25
25865 (e.g. gfxterm with resolution higher than 640x480).
25866
25867 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 25868 position relative to the center of the terminal instead of relying
b362c9e9 25869 on a hardcoded offset.
25870
9304eef1 258712009-03-04 Robert Millan <rmh@aybabtu.com>
25872
25873 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25874 installed.
25875
25876 * Makefile.in (host_kernel): New variable.
25877 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25878 scripts instead of just the windows one.
25879 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25880
eabc95fb 258812009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 25882
25883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25884 `kern/handler.c'.
25885 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25887 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25889 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25890 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25891
ceb1223c 258922009-03-04 Felix Zielcke <fzielcke@z-51.de>
25893
25894 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25895 or if there's no space for the disk label and print the partition number on a
25896 invalid magic.
25897
4910684a 258982009-03-04 Felix Zielcke <fzielcke@z-51.de>
25899
25900 * util/misc.c: Include <time.h>.
25901 (grub_millisleep): New function.
25902
7e9ca17a 259032009-03-04 Bean <bean123ch@gmail.com>
25904
25905 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25906 another option -mno-red-zone.
25907
25908 * commands/handler.c: Change module description.
25909
25910 * kern/handler.c: Add missing space at the end of description line.
25911
25912 * kern/list.c: Likewise.
25913
f501677c 259142009-03-03 Robert Millan <rmh@aybabtu.com>
25915
25916 Move more components to the relocation area, and fix mbi pointer
25917 handling to use the destination rather than the origin (thanks to
25918 Vladimir Serbinenko for spotting).
25919
25920 * loader/i386/multiboot.c (mbi_dest): New variable.
25921 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25922 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25923 relocation area.
25924
9902d047 259252009-03-01 Bean <bean123ch@gmail.com>
25926
50fb7002 25927 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 25928 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25929 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25930 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25931
25932 * loader/i386/efi/linux.c (acpi_guid): New variable.
25933 (acpi_guid): Likewise.
25934 (EBDA_SEG_ADDR): New constant.
25935 (LOW_MEM_ADDR): Likewise.
25936 (FAKE_EBDA_SEG): Likewise.
25937 (fake_bios_data): New function.
25938 (grub_linux_boot): Call fake_bios_data.
25939
71b9f361 259402009-03-01 Bean <bean123ch@gmail.com>
25941
25942 * commands/terminal.c: Removed.
25943
25944 * commands/handler.c: New file.
25945
25946 * include/grub/list.h: Likewise.
25947
25948 * include/grub/handler.h: Likewise.
25949
25950 * kern/list.c: Likewise.
25951
25952 * kern/handler.c: Likewise.
25953
25954 * kern/term.h: Include header file <grub/handler.h>.
25955 (grub_term_input): Move next field to the beginning.
25956 (grub_term_output): Likewise.
25957 (grub_term_input_class): New variable.
25958 (grub_term_output_class): Likewise.
25959 (grub_term_register_input): Changed to inline function.
25960 (grub_term_register_output): Likewise.
25961 (grub_term_unregister_input): Likewise.
25962 (grub_term_unregister_output): Likewise.
25963 (grub_term_set_current_input): Likewise.
25964 (grub_term_set_current_output): Likewise.
25965 (grub_term_get_current_input): Likewise.
25966 (grub_term_get_current_output): Likewise.
25967 (grub_term_iterate_input): Removed.
25968 (grub_term_iterate_output): Likewise.
25969
25970 * kern/term.c (grub_term_list_input): Removed.
25971 (grub_term_list_output): Likewise.
25972 (grub_term_input_class): New variable.
25973 (grub_term_output_class): Likewise.
50fb7002 25974 (grub_cur_term_input): Change variable as macro.
71b9f361 25975 (grub_cur_term_output): Likewise.
25976 (grub_term_register_input): Removed.
25977 (grub_term_register_output): Likewise.
25978 (grub_term_unregister_input): Likewise.
25979 (grub_term_unregister_output): Likewise.
25980 (grub_term_set_current_input): Likewise.
25981 (grub_term_set_current_output): Likewise.
25982 (grub_term_iterate_input): Likewise.
25983 (grub_term_iterate_output): Likewise.
25984 (grub_term_get_current_input): Likewise.
25985 (grub_term_get_current_output): Likewise.
25986
25987 * util/grub-editenv.c: Include header file <grub/handler.h>.
25988 (grub_term_get_current_input): Removed.
25989 (grub_term_get_current_output): Likewise.
25990 (grub_term_input_class): New variable.
50fb7002 25991 (grub_term_output_class): Likewise.
71b9f361 25992
25993 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25994 (grub_term_get_current_output): Likewise.
25995 (grub_term_input_class): New variable.
50fb7002 25996 (grub_term_output_class): Likewise.
71b9f361 25997
25998 * util/grub-probe.c (grub_term_get_current_input): Removed.
25999 (grub_term_get_current_output): Likewise.
26000 (grub_term_input_class): New variable.
50fb7002 26001 (grub_term_output_class): Likewise.
71b9f361 26002
26003 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26004 (grub_term_get_current_output): Likewise.
26005 (grub_term_input_class): New variable.
50fb7002 26006 (grub_term_output_class): Likewise.
71b9f361 26007
26008 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26009 (terminal_mod_SOURCES): Likewise.
26010 (terminal_mod_CFLAGS): Likewise.
26011 (terminal_mod_LDFLAGS): Likewise.
26012
26013 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26014 handler.c.
26015 (kernel_img_SOURCES): Add list.c and handler.c.
26016 (kernel_img_HEADERS): Add list.h and handler.h.
26017
26018 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26019 handler.c.
26020 (kernel_mod_SOURCES): Add list.c and handler.c.
26021 (kernel_mod_HEADERS): Add list.h and handler.h.
26022
26023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26024 handler.c.
26025 (kernel_elf_SOURCES): Add list.c and handler.c.
26026 (kernel_elf_HEADERS): Add list.h and handler.h.
26027
26028 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26029 handler.c.
26030 (kernel_elf_SOURCES): Add list.c and handler.c.
26031 (kernel_elf_HEADERS): Add list.h and handler.h.
26032
26033 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26034 handler.c.
26035 (kernel_mod_SOURCES): Add list.c and handler.c.
26036 (kernel_mod_HEADERS): Add list.h and handler.h.
26037
26038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26039 handler.c.
26040 (kernel_elf_SOURCES): Add list.c and handler.c.
26041 (kernel_elf_HEADERS): Add list.h and handler.h.
26042
8a31787f 260432009-02-27 Robert Millan <rmh@aybabtu.com>
26044
26045 Factorize elf32 / elf64 code in Multiboot loader. This will
26046 prevent it from getting out of sync again.
26047
26048 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26049 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26050 grub_multiboot_load_elf64): Move from here ...
26051 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26052 grub_multiboot_load_elf): ... to here (new file).
26053
51cd3dfc 260542009-02-27 Robert Millan <rmh@aybabtu.com>
26055
26056 * util/grub.d/10_linux.in: Rename "single-user mode" to
26057 "recovery mode".
26058
6e8c9c3a 260592009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26060
26061 Don't leak in SCSI code.
26062 * disk/scsi.c (grub_scsi_close): free `scsi'.
26063
4b6bf4f9 260642009-02-27 Robert Millan <rmh@aybabtu.com>
26065
26066 * loader/i386/pc/multiboot.c: Move from here ...
26067 * loader/i386/multiboot.c: ... to here. Update all users.
26068
b9413424 260692009-02-27 Robert Millan <rmh@aybabtu.com>
26070
26071 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26072 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26073
50fb7002 260742009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 26075
26076 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26077 b-tree.
26078
8cc50345 260792009-02-27 Robert Millan <rmh@aybabtu.com>
26080
26081 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26082 `0x' qualifier as 0 when base is specified as parameter).
26083
6e09b8b7 260842009-02-24 Bean <bean123ch@gmail.com>
26085
26086 * configure.ac: Check for -mcmodel=large in x86_64 target.
26087
26088 * include/grub/efi/api.h (efi_call_10): New macro.
26089 (efi_wrap_10): New function.
26090
26091 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26092 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26093 (GRUB_PE32_REL_BASED_LOW): Likewise.
26094 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26095 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26096 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26097 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26098 (GRUB_PE32_REL_BASED_REL): Likewise.
26099 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26100 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26101 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26102
26103 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26104 issue.
26105
26106 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26107 (efi_wrap_10): New function.
26108
26109 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26110
26111 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26112 MB/MBP model (NV chipset).
26113 (devdata_devs): Add devpath_5 to the list.
26114
26115 * load/i386/efi/linux.c (video_base): Remove variable.
26116 (RGB_MASK): New macro.
26117 (RGB_MAGIC): Likewise.
26118 (LINE_MIN): Likewise.
26119 (LINE_MAX): Likewise.
26120 (FBTEST_STEP): Likewise.
26121 (FBTEST_COUNT): Likewise.
26122 (fb_list): New variable.
26123 (grub_find_video_card): Remove function.
26124 (find_framebuf): New function.
26125 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26126 line length.
26127
26128 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26129 problem for x86_64.
26130
74b21bee 261312009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26132
26133 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26134
26135 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26136 coding tool name.
26137
a455f472 261382009-02-22 Robert Millan <rmh@aybabtu.com>
26139
26140 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26141 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26142 in our relocation, instead of using it directly from heap. Also
26143 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26144
6374daf3 261452009-02-21 Robert Millan <rmh@aybabtu.com>
26146
26147 Implement USB keyboard support (based on patch by Marco Gerards)
26148
26149 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26150 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26151 (usb_keyboard_mod_LDFLAGS): New variables.
26152
26153 * term/usb_keyboard.c: New file.
26154
8fa4ea70 261552009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26156
26157 Corrected wrong declaration
26158
26159 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26160
353976ac 261612009-02-14 Christian Franke <franke@computer.org>
26162
26163 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26164 (grub_lspci_iter): Print class code and programming interface byte.
26165
6aa1169b 261662009-02-14 Christian Franke <franke@computer.org>
26167
26168 * gendistlist.sh: Ignore `.svn' directories.
26169
265372ca 261702009-02-14 Felix Zielcke <fzielcke@z-51.de>
26171
26172 * fs/fat.c: Add 2009 to Copyright line.
26173
9ff516f3 261742009-02-14 Christian Franke <franke@computer.org>
26175
26176 * commands/hdparm.c: New file. Provides `hdparm' command
26177 which sends ATA commands via grub_disk_ata_pass_through ().
26178
26179 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26180
26181 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26182 and <grub/cpu/io.h> to include/grub/ata.h.
26183 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26184 (GRUB_CDROM_SECTOR_SIZE): Remove.
26185 (GRUB_ATA_*): Move to include/grub/ata.h.
26186 (GRUB_ATAPI_*): Likewise.
26187 (enum grub_ata_commands): Likewise.
26188 (enum grub_ata_timeout_milliseconds): Likewise.
26189 (struct grub_ata_device): Likewise.
26190 (grub_ata_regset): Likewise.
26191 (grub_ata_regget): Likewise.
26192 (grub_ata_regset2): Likewise.
26193 (grub_ata_regget2): Likewise.
26194 (grub_ata_check_ready): Likewise.
26195 (grub_ata_wait_not_busy): Remove static, exported in
26196 include/grub/ata.h.
26197 (grub_ata_wait_drq): Likewise.
26198 (grub_ata_pio_read): Likewise.
26199
26200 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26201 function for hdparm.mod.
26202
26203 * include/grub/ata.h: New file, contains declarations from
26204 disk/ata.c.
26205 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26206
26207 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26208 (grub_disk_ata_pass_through): New exported variable.
26209
26210 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26211
772e23da 262122009-02-13 Colin D Bennett <colin@gibibit.com>
26213
26214 Support multiple fallback entries, and provide an API to support
26215 executing default+fallback menu entries. Renamed the `terminal' menu
26216 viewer to `text'.
26217
26218 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26219 variable declaration.
26220 (grub_menu_execute_callback): New structure declaration.
26221 (grub_menu_execute_callback_t): New typedef.
26222 (grub_menu_execute_with_fallback): New function declaration.
26223 (grub_menu_get_entry): Likewise.
26224 (grub_menu_get_timeout): Likewise.
26225 (grub_menu_set_timeout): Likewise.
26226
26227 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26228
26229 * normal/menu.c (grub_wait_after_message): Moved to
26230 `normal/menu_text.c'.
26231 (draw_border): Likewise.
26232 (print_message): Likewise.
26233 (print_entry): Likewise.
26234 (print_entries): Likewise.
26235 (grub_menu_init_page): Likewise.
26236 (get_entry_number): Likewise.
26237 (print_timeout): Likewise.
26238 (run_menu): Likewise.
26239 (grub_menu_execute_entry): Likewise.
26240 (show_text_menu): Likewise.
26241 (get_and_remove_first_entry_number): New function.
26242 (grub_menu_execute_with_fallback): Likewise.
26243 (get_entry): Renamed to ...
26244 (grub_menu_get_entry): .. this and made it global.
26245 (get_timeout): Renamed to ...
26246 (grub_menu_get_timeout): ... this and made it global.
26247 (set_timeout): Renamed to ...
26248 (grub_menu_set_timeout): ... this and made it global.
26249 (grub_normal_terminal_menu_viewer): Renamed to ...
26250 (grub_normal_text_menu_viewer): ... this.
26251
26252 * normal/menu_text.c: New file. Extracted text-menu-specific code
26253 from normal/menu.c.
26254
26255 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26256 (normal_mod_SOURCES): Likewise.
26257
26258 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26259 (normal_mod_SOURCES): Likewise.
26260
26261 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26262 (normal_mod_SOURCES): Likewise.
26263
26264 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26265 (normal_mod_SOURCES): Likewise.
26266
26267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26268 (normal_mod_SOURCES): Likewise.
26269
26270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26271 (normal_mod_SOURCES): Likewise.
26272
26273 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26274 (normal_mod_SOURCES): Likewise.
26275
16ac430e 262762009-02-11 Robert Millan <rmh@aybabtu.com>
26277
26278 * util/grub.d/00_header.in: Update old reference to `font' command.
26279
06ff20fc 262802009-02-10 Felix Zielcke <fzielcke@z-51.de>
26281
26282 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26283
26284 Based on patch from Javier Martín.
26285
96da9407 262862009-02-09 Felix Zielcke <fzielcke@z-51.de>
26287
26288 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 26289 to avoid false positives with FAT.
96da9407 26290 (grub_fstest_SOURCES): Likewise.
26291 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26296 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26297
6dca6fe4 262982009-02-09 Felix Zielcke <fzielcke@z-51.de>
26299
06ff20fc 26300 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 26301 bpb.version_specific.fat12_or_fat16.fstype and
26302 bpb.version_specific.fat32.fstype.
26303
2550c62f 263042009-02-08 Robert Millan <rmh@aybabtu.com>
26305
be110b30 26306 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 26307
56978920 263082009-02-08 Robert Millan <rmh@aybabtu.com>
26309
26310 * Makefile.in (host_os, host_cpu): New variables.
26311 (target_os): Remove. Update all users.
26312
d64399b5 263132009-02-08 Marco Gerards <marco@gnu.org>
26314
26315 * Makefile.in (enable_grub_emu_usb): New variable.
26316 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26317 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26318 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26319 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26320 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26321 `usbtest.mod' and `usbms.mod'.
26322 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26323 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26324 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26325 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26326 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26327 variables.
26328
26329 * disk/usbms.c: New file.
26330
26331 * include/grub/usb.h: Likewise.
26332
26333 * include/grub/usbtrans.h: Likewise.
26334
26335 * include/grub/usbdesc.h: Likewise.
26336
26337 * bus/usb/usbtrans.c: Likewise.
26338
26339 * bus/usb/ohci.c: Likewise.
26340
26341 * bus/usb/uhci.c: Likewise.
26342
26343 * bus/usb/usbhub.c: Likewise.
26344
26345 * bus/usb/usb.c: Likewise.
26346
26347 * commands/usbtest.c: Likewise.
26348
26349 * util/usb.c: Likewise.
50fb7002 26350
d64399b5 26351 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26352
26353 * configure.ac: Test for libusb presence.
50fb7002 26354
d64399b5 26355 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26356
2b40d6bb 263572009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26358
26359 * kern/mm.c: Add more comments.
26360
73a4ce81 263612009-02-08 Robert Millan <rmh@aybabtu.com>
26362
26363 Patch from Javier Martín.
26364 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26365 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26366
f821ce59 263672009-02-08 Robert Millan <rmh@aybabtu.com>
26368
26369 * fs/cpio.c: Split tar functionality to ...
26370 * fs/tar.c: ... here (new file). Update all users.
26371
aebfc4b0 263722009-02-07 Robert Millan <rmh@aybabtu.com>
26373
26374 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26375 backward-incompatible features.
26376
26377 Based on patch from Javier Martín, with some adjustments.
26378
50fb7002 263792009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 26380
26381 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26382
0bb5115e 263832009-02-07 Robert Millan <rmh@aybabtu.com>
26384
26385 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26386 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26387 after the RAID stuff.
26388
38a0f8e7 263892009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26390
50fb7002 26391 Fixes problem when running vbetest command as reported by
38a0f8e7 26392 Vladimir Serbinenko <phcoder@gmail.com>.
26393
26394 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26395
3143cc1c 263962009-02-04 Felix Zielcke <fzielcke@z-51.de>
26397
26398 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26399 /dev/md/NpN style mdraid devices.
26400
9cba6fce 264012009-02-03 Felix Zielcke <fzielcke@z-51.de>
26402
26403 * util/unifont2pff.rb: Remove.
26404
e507a2c1 264052009-02-03 Felix Zielcke <fzielcke@z-51.de>
26406
26407 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26408 `#'.
26409
d2c2b4cd 264102009-02-03 Felix Zielcke <fzielcke@z-51.de>
26411
26412 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26413 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26414 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26417 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26419
b4315fb0 264202009-02-02 Christian Franke <franke@computer.org>
26421
26422 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26423
de3aa260 264242009-02-01 Felix Zielcke <fzielcke@z-51.de>
26425
7c3ff286 26426 * INSTALL: Note that we now require at least autoconf 2.59 and
26427 that LZO is optional.
de3aa260 26428
825a182b 264292009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26430
26431 Base on patch on bug #24154 created by Tomas Tintera
26432 <trosos@seznam.cz>.
26433
26434 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26435
a69ef770 264362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26437
7c3ff286 26438 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26439 <bero@arklinux.org>.
26440
26441 * normal/parser.y (script_init): Add missing semicolon.
26442
6fa42fa6 264432009-01-31 Colin D Bennett <colin@gibibit.com>
26444
7c3ff286 26445 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26446 (free_menu_entry_classes): Added.
26447 (grub_normal_menu_addentry): Added class property handling.
26448 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26449 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26450
26451 * normal/menu_viewer.c: New file.
26452
26453 * normal/menu.c (run_menu_entry): Renamed to ...
26454 (grub_menu_execute_entry): ... this and made it as global.
26455 (grub_menu_run): Renamed to ...
26456 (show_text_menu): ... this and made it local.
26457 (show_text_menu): Adapt to new function names.
26458 (grub_normal_terminal_menu_viewer): New global variable.
26459
26460 * include/grub/menu.h: New file.
26461
26462 * include/grub/menu_viewer.h: New file.
26463
26464 * include/grub/normal.h: Added include to grub/menu.h.
26465 (grub_menu_entry): Moved to include/grub/menu.h.
26466 (grub_menu_entry_t): Likewise.
26467 (grub_menu): Likewise.
26468 (grub_menu_t): Likewise.
26469 (grub_normal_terminal_menu_viewer): Added.
26470 (grub_menu_execute_entry): Likewise.
26471 (grub_menu_run): Removed.
26472
26473 * DISTLIST: Added include/grub/menu.h.
26474 Added include/grub/menu_viewer.h.
26475 Added normal/menu_viewer.c.
26476
264772009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26478
26479 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26480 arglist for menutitle arguments.
26481
26482 * normal/main.c (grub_normal_menu_addentry): Likewise.
26483
26484 * normal/parser.y (menuentry): Likewise.
26485
26486 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26487
26488 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26489 (grub_script_create_cmdmenu): Likewise.
26490
26491 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26492
26493 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26494 changes.
26495
26496 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26497
26498 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26499
26500 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26501
26502 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26503
26504 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26505
26506 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26507
56192c23 265082009-01-30 Christian Franke <franke@computer.org>
26509
26510 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26511 in option help text.
26512
d72521b3 265132009-01-27 Pavel Roskin <proski@gnu.org>
26514
26515 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26516
994b5e84 265172009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26518
26519 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26520
26521 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26522
26523 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26524 unregister function.
26525
6a7eab2c 265262009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26527
26528 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26529
26530 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26531
26532 * util/grub-mkfont.c (usage): Fix typo.
26533
26534 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26535
1806b56e 265362009-01-26 Daniel Mierswa <impulze@impulze.org>
26537
3fb18f09 26538 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26539
336e1fb9 26540 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26541
1806b56e 26542 * kern/misc.c (grub_strcasecmp): New function.
26543 (grub_strcasecmp): Use grub_size_t instead of int for length.
26544 Fix return value.
26545 * include/grub/misc.h: Update function prototypes.
26546
580b2a0f 265472009-01-26 Robert Millan <rmh@aybabtu.com>
26548
26549 * configure.ac: Fix cross-compilation check.
ef257b36 26550
d31c24f1 265512009-01-22 Christian Franke <franke@computer.org>
26552
26553 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26554 (precision) digit string. Allow `.format2' without `format1' (width).
26555 Limit input chars for `%s' output to `format2' if specified. This is
26556 compatible with standard printf ().
26557
3138b44c 265582009-01-22 Christian Franke <franke@computer.org>
26559
26560 * disk/ata.c (grub_ata_wait_status): Replace by ...
26561 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26562 other status bits may be invalid while BSY is asserted.
26563 (grub_ata_check_ready): New function.
26564 (grub_ata_cmd): Removed.
26565 (grub_ata_wait_drq): New function.
26566 (grub_ata_strncpy): Remove inline.
26567 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26568 and error check now done by grub_ata_wait_drq ().
26569 (grub_ata_pio_write): Likewise.
26570 (grub_atapi_identify): Set DEV before check for !BSY. Use
26571 grub_ata_wait_drq () to wait for data.
26572 (grub_ata_device_initialize): Add status register check to
26573 detect missing SATA slave devices. Add debug messages.
26574 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26575 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26576 transfer loop by grub_ata_pio_write ().
26577 (grub_ata_identify): Set DEV before check for !BSY. Use
26578 grub_ata_wait_drq () to wait for data.
ef257b36 26579 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 26580 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26581 read/write in one loop. Fix invalid command on write. Fix incomplete
26582 command on (size % batch) == 0. Add missing error check after write of
26583 last block. Add debug messages.
26584 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26585
59a64ef6 265862009-01-19 Christian Franke <franke@computer.org>
26587
26588 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26589 (GRUB_ATAPI_IREASON_*): Likewise.
26590 (grub_ata_pio_write): Fix timeout error return.
26591 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26592 (grub_atapi_wait_drq): New function.
26593 (grub_atapi_packet): New parameter `size'.
26594 Use grub_atapi_wait_drq () and direct write instead of
26595 grub_ata_pio_write ().
26596 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26597 reads the number of bytes requested by the device for each DRQ
26598 assertion.
26599 (grub_atapi_write): Remove old implementation, return not
26600 implemented instead.
26601
1cfe20b3 266022009-01-19 Christian Franke <franke@computer.org>
26603
26604 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26605 of 512 to calculate data size.
26606 (grub_scsi_read12): Likewise.
26607 (grub_scsi_write10): Likewise.
26608 (grub_scsi_write12): Likewise.
26609 (grub_scsi_read): Adjust size according to blocksize.
26610 Add checks for invalid blocksize and unaligned transfer.
26611
bee5fe5d 266122009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26613
26614 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26615
ef257b36 26616 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 26617 width glyphs.
26618
3e643f8c 266192009-01-19 Robert Millan <rmh@aybabtu.com>
26620
26621 * config.guess: Update to latest version from config git.
26622 * config.sub: Likewise.
26623
4fa80998 266242009-01-17 Felix Zielcke <fzielcke@z-51.de>
26625
26626 * Makefile.in: Change font compilation to use new grub-mkfont instead
26627 of java version.
26628
26629 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26630 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26631 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26632 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26633 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26634 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26635 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26636 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26637 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26638
7086085b 266392009-01-16 Christian Franke <franke@computer.org>
26640
26641 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26642 (enum grub_ata_timeout_milliseconds): New enum.
26643 (grub_ata_wait_status): Add parameter milliseconds.
26644 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26645 recovery from timed-out commands.
26646 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26647 return grub_errno instead of REG_ERROR.
26648 (grub_ata_pio_write): Add parameter milliseconds.
26649 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26650 Pass milliseconds to grub_ata_wait_status () and
26651 grub_ata_pio_read ().
26652 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26653 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26654 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26655 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26656 It is not suitable for device detection, because DEV bit is ignored,
26657 the command may run too long, and not all devices set the signature
26658 properly.
26659 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26660 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26661 Fix device selection, DEV bit must be set first to address the registers
26662 of the correct device.
26663 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26664 grub_ata_pio_read/write ().
26665 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26666 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26667
4a412913 266682009-01-13 Carles Pina i Estany <carles@pina.cat>
26669
26670 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26671
7795c55e 266722009-01-13 Bean <bean123ch@gmail.com>
d913988c 26673
26674 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26675
7795c55e 266762009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 26677
26678 * Makefile.in: (enable_grub_mkfont): New variable.
26679 (freetype_cflags): Likewise.
26680 (freetype_libs): Likewise.
26681
26682 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26683 (grub_mkfont_SOURCES): New variable.
26684 (grub_mkfont_CFLAGS): Likewise.
26685 (grub_mkfont_LDFLAGS): Likewise.
26686
26687 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26688 library if `--enable-grub-mkfont' is requested.
26689 (enable_grub_mkfont): New variable.
26690 (freetype_cflags): Likewise.
26691 (freetype_libs): Likewise.
26692
26693 * util/grub-mkfont.c: New file.
26694
093af1fe 266952009-01-12 Christian Franke <franke@computer.org>
26696
26697 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26698 mode check. Fix setting of compat_use[].
26699
f36cc108 267002009-01-10 Robert Millan <rmh@aybabtu.com>
26701
26702 Update a few copyright years which we forgot to do in 2008 (only for
26703 files whose changes made in 2008 were copyright-significant)
26704
26705 * Makefile.in: Add 2008 to Copyright line.
26706 * disk/ieee1275/ofdisk.c: Likewise.
26707 * disk/efi/efidisk.c: Likewise.
26708 * kern/dl.c: Likewise.
26709 * kern/sparc64/ieee1275/init.c: Likewise.
26710 * kern/mm.c: Likewise.
26711 * kern/efi/mm.c: Likewise.
26712 * boot/i386/pc/boot.S: Likewise.
26713 * genfslist.sh: Likewise.
26714 * fs/iso9660.c: Likewise.
26715 * fs/hfs.c: Likewise.
26716 * fs/jfs.c: Likewise.
26717 * fs/minix.c: Likewise.
26718 * fs/ufs.c: Likewise.
26719 * gensymlist.sh.in: Likewise.
26720 * genkernsyms.sh.in: Likewise.
26721 * include/grub/misc.h: Likewise.
26722 * include/grub/types.h: Likewise.
26723 * include/grub/symbol.h: Likewise.
26724 * include/grub/elf.h: Likewise.
26725 * include/grub/kernel.h: Likewise.
26726 * include/grub/disk.h: Likewise.
26727 * include/grub/dl.h: Likewise.
26728 * include/grub/i386/linux.h: Likewise.
26729 * include/grub/i386/pc/biosdisk.h: Likewise.
26730 * include/grub/efi/api.h: Likewise.
26731 * include/grub/efi/pe32.h: Likewise.
26732 * include/grub/util/misc.h: Likewise.
26733 * normal/execute.c: Likewise.
26734 * normal/arg.c: Likewise.
26735 * normal/completion.c: Likewise.
26736 * normal/lexer.c: Likewise.
26737 * normal/parser.y: Likewise.
26738 * normal/misc.c: Likewise.
26739 * commands/i386/pc/vbeinfo.c: Likewise.
26740 * commands/hexdump.c: Likewise.
26741 * commands/terminal.c: Likewise.
26742 * commands/ls.c: Likewise.
26743 * commands/help.c: Likewise.
26744 * partmap/pc.c: Likewise.
26745 * loader/efi/chainloader.c: Likewise.
26746 * loader/multiboot_loader.c: Likewise.
26747 * loader/i386/pc/multiboot2.c: Likewise.
26748 * term/efi/console.c: Likewise.
26749 * term/i386/pc/serial.c: Likewise.
26750 * util/lvm.c: Likewise.
26751 * util/console.c: Likewise.
26752 * util/i386/efi/grub-mkimage.c: Likewise.
26753 * util/raid.c: Likewise.
26754
7f02114b 267552009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26756
26757 * commands/videotest.c: Removed include to grub/machine/memory.h.
26758
26759 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26760 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26761 (video_mod_SOURCES): Removed.
26762 (video_mod_CFLAGS): Likewise.
26763 (video_mod_LDFLAGS): Likewise.
26764 (gfxterm_mod_SOURCES): Likewise.
26765 (gfxterm_mod_CFLAGS): Likewise.
26766 (gfxterm_mod_LDFLAGS): Likewise.
26767 (videotest_mod_SOURCES): Likewise.
26768 (videotest_mod_CFLAGS): Likewise.
26769 (videotest_mod_LDFLAGS): Likewise.
26770 (bitmap_mod_SOURCES): Likewise.
26771 (bitmap_mod_CFLAGS): Likewise.
26772 (bitmap_mod_LDFLAGS): Likewise.
26773 (tga_mod_SOURCES): Likewise.
26774 (tga_mod_CFLAGS): Likewise.
26775 (tga_mod_LDFLAGS): Likewise.
26776 (jpeg_mod_SOURCES): Likewise.
26777 (jpeg_mod_CFLAGS): Likewise.
26778 (jpeg_mod_LDFLAGS): Likewise.
26779 (png_mod_SOURCES): Likewise.
26780 (png_mod_CFLAGS): Likewise.
26781 (png_mod_LDFLAGS): Likewise.
26782
26783 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26784 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26785 (video_mod_SOURCES): Added.
26786 (video_mod_CFLAGS): Likewise.
26787 (video_mod_LDFLAGS): Likewise.
26788 (videotest_mod_SOURCES): Likewise.
26789 (videotest_mod_CFLAGS): Likewise.
26790 (videotest_mod_LDFLAGS): Likewise.
26791 (bitmap_mod_SOURCES): Likewise.
26792 (bitmap_mod_CFLAGS): Likewise.
26793 (bitmap_mod_LDFLAGS): Likewise.
26794 (tga_mod_SOURCES): Likewise.
26795 (tga_mod_CFLAGS): Likewise.
26796 (tga_mod_LDFLAGS): Likewise.
26797 (jpeg_mod_SOURCES): Likewise.
26798 (jpeg_mod_CFLAGS): Likewise.
26799 (jpeg_mod_LDFLAGS): Likewise.
26800 (png_mod_SOURCES): Likewise.
26801 (png_mod_CFLAGS): Likewise.
26802 (png_mod_LDFLAGS): Likewise.
26803 (gfxterm_mod_SOURCES): Likewise.
26804 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 26805 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 26806
26807 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26808 grub/machine/console.h.
26809
644fff97 268102009-01-04 Jerone Young <jerone@gmail.com>
26811
26812 Make on screen instructions clearer
26813
26814 Based on patch created by Jidanni <jidanni@jidanni.org>
26815
26816 * normal/menu.c: print clearer instructions on the screen
26817
1e901a75 268182009-01-02 Colin D Bennett <colin@gibibit.com>
26819
26820 New font engine.
34c44600 26821
1e901a75 26822 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26823 build system and fixed gfxterm.c to work with different sized fonts.
26824
26825 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 26826
1e901a75 26827 * configure: Re-generated.
34c44600 26828
1e901a75 26829 * DISTLIST: Removed font/manager.c.
26830 Added font/font.c.
26831 Added font/font_cmd.c.
34c44600 26832
1e901a75 26833 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26834 compilation.
34c44600 26835
1e901a75 26836 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 26837
26838 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 26839
26840 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 26841
1e901a75 26842 * normal/menu.c: Likewise.
34c44600 26843
1e901a75 26844 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26845 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 26846
1e901a75 26847 * include/grub/font.h: Replaced with new file.
34c44600 26848
1e901a75 26849 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26850 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26851 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26852 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26853 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 26854 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 26855 fg_red, fg_green, fg_blue, fg_alpha.
26856 (grub_video_adapter): Removed blit_glyph.
34c44600 26857 (grub_video_blit_glyph): Removed.
26858
1e901a75 26859 * font/manager.c: Removed file.
34c44600 26860
26861 * font/font.c: New file.
26862
1e901a75 26863 * font/font_cmd.c: Likewise.
34c44600 26864
1e901a75 26865 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 26866
1e901a75 26867 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26868 (grub_video_vbe_map_rgba): Likewise.
26869 (grub_video_vbe_unmap_color_int): Likewise.
26870 (grub_video_vbe_blit_glyph): Removed.
26871 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 26872
1e901a75 26873 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26874 (get_pixel): Likewise.
34c44600 26875 (set_pixel): Likewise.
26876
1e901a75 26877 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 26878
1e901a75 26879 * term/gfxterm.c: Adapted to new font engine.
34c44600 26880
1e901a75 26881 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 26882
1e901a75 26883 * term/i386/pc/vga.c: Likewise.
34c44600 26884
1e901a75 26885 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 26886
1e901a75 26887 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 26888
1e901a75 26889 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26890
1e901a75 26891 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26892
1e901a75 26893 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 26894
1e901a75 26895 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 26896
1e901a75 26897 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 26898
1e901a75 26899 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 26900
1e901a75 26901 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26902
26903 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 26904
1e901a75 26905 * util/grub-mkconfig_lib.in: Changed font extension.
26906
278922e8 269072008-12-28 Felix Zielcke <fzielcke@z-51.de>
26908
26909 * util/getroot.c (grub_util_get_grub_dev): Add support for
26910 /dev/md/dNNpNN style partitionable mdraid devices.
26911
3ced05cf 269122008-12-12 Alex Smith <alex@alex-smith.me.uk>
26913
26914 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26915 at a time limit of the PXE TFTP API correctly.
26916 (grub_pxefs_close): Likewise.
26917
7fd0ee30 269182008-11-29 Robert Millan <rmh@aybabtu.com>
26919
34c44600 26920 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 26921 grub_ata_device_initialize() calls.
26922
34c44600 269232008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 26924
26925 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26926 iteration failed.
26927 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26928
89313780 269292008-11-28 Robert Millan <rmh@aybabtu.com>
26930
26931 Fix build on powerpc-ieee1275. Based on patch created by
26932 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26933 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26934 `kern/ieee1275/mmap.c'.
26935 * include/grub/powerpc/ieee1275/memory.h: New file.
26936
15257703 26937 Provide grub-install on coreboot.
26938 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26939 (grub_install_SOURCES): New variable.
26940 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26941 usable on coreboot.
26942
9fc5388a 269432008-11-25 Felix Zielcke <fzielcke@z-51.de>
26944
26945 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26946 to `grub_term_input_t'.
26947 (grub_term_get_current_output): Change return type to
26948 `grub_term_output_t'.
26949
bc3a2f31 269502008-11-22 Robert Millan <rmh@aybabtu.com>
26951
34c44600 26952 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 26953 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26954 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26955 grub_vga_text_cls().
26956
80fc88f2 26957 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 26958 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 26959
cbf36fd3 26960 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26961 to 0x200000 (avoids trouble with some OFW implementations, and matches
26962 with the one in Yaboot).
26963 Reported by Manoel Abranches
26964
73e8e268 269652008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 26966
26967 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26968 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26969
73e8e268 26970 * util/grub-mkconfig_lib.in (grub_warn): New function.
26971 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26972 warnings, to obtain consistent formatting.
26973 * util/grub.d/00_header.in: Likewise.
26974 * util/update-grub_lib.in: Likewise.
26975
e94045a1 26976 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 26977 Move comment text to `#error' stanza.
e94045a1 26978
79d29fd7 26979 Harmonize ieee1275's grub_available_iterate() with the generic
26980 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26981 build problem on i386-ieee1275):
26982 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26983 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26984 parameter `type'. Update all users of this function.
26985 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26986 `kern/ieee1275/mmap.c'.
26987 * kern/ieee1275/init.c
26988 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26989 with ...
26990 (grub_machine_mmap_iterate): ... this.
26991 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26992 return type to `grub_err_t'. Update all implementations of this
26993 function prototype.
26994 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26995 Likewise.
26996
60d6b16e 26997 Add `lsmmap' command (lists firmware-provided memory map):
26998 * commands/lsmmap.c: New file.
26999 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27000 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27001 variables.
27002 * conf/powerpc-ieee1275.rmk: Likewise.
27003 * conf/i386-coreboot.rmk: Likewise.
27004 * conf/i386-ieee1275.rmk: Likewise.
27005
ebaaf49b 270062008-11-19 Robert Millan <rmh@aybabtu.com>
27007
27008 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 27009 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27010 constraints to initrd allocation (based on code from
27011 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27012 for Linux to find it.
ebaaf49b 27013
dfab719f 270142008-11-14 Robert Millan <rmh@aybabtu.com>
27015
27016 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27017 order to cope with duplicate slashes.
27018
10fc3eb9 270192008-11-14 Robert Millan <rmh@aybabtu.com>
27020
27021 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27022 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27023 don't want to mess with lower memory, because it is used in the Linux
27024 loader.
27025
27026 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 27027 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 27028 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27029 is in our heap (probably as a result of it being corrupted during
2f2a3442 27030 decompression). Add #error instance with comment to explain why this
27031 loader isn't currently usable on PC/BIOS.
10fc3eb9 27032
e2e07847 270332008-11-14 Robert Millan <rmh@aybabtu.com>
27034
27035 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 27036 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 27037
fe8e8d69 270382008-11-12 Robert Millan <rmh@aybabtu.com>
27039
27040 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27041
27042 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27043 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27044 from here ...
27045 * include/grub/i386/pc/memory.h: ... to here.
27046
976b07d0 270472008-11-12 Robert Millan <rmh@aybabtu.com>
27048
27049 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27050 split).
27051
27052 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27053 (grub_console_cur_color, grub_console_real_putchar)
27054 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27055 (grub_console_setcolorstate, grub_console_setcolor)
27056 (grub_console_getcolor): Move from here ...
27057 * include/grub/i386/vga_common.h: ... to here (new file).
27058
27059 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27060 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27061 `<grub/i386/io.h>'.
27062 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27063 `<grub/i386/vga_common.h>'.
27064
76679cd3 270652008-11-12 Robert Millan <rmh@aybabtu.com>
27066
27067 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27068 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27069 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27070 variables.
27071 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27072 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27073
27074 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27075 grub_console_init() with call to grub_vga_text_init().
27076 (grub_machine_fini): Replace call to
27077 grub_console_fini() with call to grub_vga_text_fini() and
27078 grub_at_keyboard_fini().
27079
27080 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27081 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27082 (grub_console_setcolorstate, grub_console_setcolor)
27083 (grub_console_getcolor): New function prototypes.
27084
27085 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27086 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27087 (grub_vga_text_setcursor): Static-ize.
27088 (grub_vga_text_term): New structure.
27089 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27090
27091 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27092 (grub_console_cur_color, grub_console_standard_color)
27093 (grub_console_normal_color, grub_console_highlight_color)
27094 (map_char, grub_console_putchar, grub_console_getcharwidth)
27095 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27096 (grub_console_getcolor): Move from here ...
27097 * term/i386/vga_common.c: ... to here (same function names).
27098
95b841d3 270992008-11-12 Robert Millan <rmh@aybabtu.com>
27100
27101 Use newly-added Multiboot support in coreboot.
27102
27103 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27104 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27105
27106 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27107 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27108 (codestart): Store the MBI in `startup_multiboot_info' when we're
27109 being loaded using Multiboot.
27110
27111 * kern/i386/coreboot/init.c (grub_machine_init): Move
27112 grub_at_keyboard_init() call to beginning of function (useful for
27113 debugging). Call grub_machine_mmap_init() before attempting to use
27114 grub_machine_mmap_iterate().
27115 (grub_lower_mem, grub_upper_mem): Move from here ...
27116 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27117 here (new file).
27118
27119 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27120 function prototype.
27121
761ca975 271222008-11-12 Robert Millan <rmh@aybabtu.com>
27123
27124 Fix a regression introduced by the at_keyboard.mod split. Because
27125 some terminals are default on some platforms and non-default on
27126 others, the first terminal being registered determines which is
27127 going to be default.
27128
27129 * kern/term.c (grub_term_register_input): If this is the first
27130 terminal being registered, set it as the current one.
27131 (grub_term_register_output): Likewise.
27132
27133 * term/efi/console.c (grub_console_init): Do not call
27134 grub_term_set_current_output() or grub_term_set_current_input().
27135 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27136 * term/i386/pc/console.c (grub_console_init): Likewise.
27137 (grub_console_fini): Do not call grub_term_set_current_input()
27138 (but leave grub_term_set_current_output() to restore text mode).
27139
6c529df7 271402008-11-10 Robert Millan <rmh@aybabtu.com>
27141
27142 * util/grub.d/00_header.in: Add backward compatibility check for
27143 versions of terminal.mod that don't understand `terminal_input' or
27144 `terminal_output'.
27145
132e4113 271462008-11-09 Robert Millan <rmh@aybabtu.com>
27147
27148 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27149 `terminal_input' / `terminal_output', not `terminal'.
27150
ac293d50 271512008-11-08 Robert Millan <rmh@aybabtu.com>
27152
27153 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27154 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27155
0025933a 271562008-11-08 Robert Millan <rmh@aybabtu.com>
27157
27158 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27159 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27160 members. Update all users.
27161 * util/console.c (grub_ncurses_term): Split in ...
27162 (grub_ncurses_term_input): ... this, and ...
27163 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27164 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27165
37c86336 271662008-11-08 Robert Millan <rmh@aybabtu.com>
27167
27168 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27169 (PKGDATA): Add $(pkgdata_SRCDIR).
27170 (pkglib_BUILDDIR): New variable.
27171 (pkgdata_SRCDIR): New variable.
27172 (build_env.mk): New target.
27173 (include_DATA): New variable.
27174 (install-local): Install $(include_DATA) files in $(includedir).
27175
b6c15a2d 271762008-11-07 Pavel Roskin <proski@gnu.org>
27177
d99d46f1 27178 * gendistlist.sh: Use C locale for sorting to ensure consistent
27179 output on all systems.
27180
b6c15a2d 27181 * util/grub.d/00_header.in: Remove incorrect space before
27182 "serial".
27183
c32ee8c9 271842008-11-07 Robert Millan <rmh@aybabtu.com>
27185
27186 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27187 per specification.
27188 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27189 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27190 (based on find_multi_boot1_header).
27191 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27192 using find_multi_boot2_header(), and abort if neither Multiboot or
27193 Multiboot headers were found.
27194
651c29b7 271952008-11-07 Robert Millan <rmh@aybabtu.com>
27196
27197 Modularize at_keyboard.mod:
27198
27199 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27200 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27201 (at_keyboard_mod_LDFLAGS): New variables.
27202
27203 Actual terminal split:
27204
27205 * include/grub/term.h (struct grub_term): Split in ...
27206 (struct grub_term_input): ... this, and ...
27207 (struct grub_term_output): ... this. Update all users.
27208 (grub_term_set_current): Split in ...
27209 (grub_term_set_current_input): ... this, and ...
27210 (grub_term_set_current_output): ... this.
27211 (grub_term_get_current): Split in ...
27212 (grub_term_get_current_input): ... this, and ...
27213 (grub_term_get_current_output): ... this.
27214 (grub_term_register): Split in ...
27215 (grub_term_register_input): ... this, and ...
27216 (grub_term_register_output): ... this.
27217 (grub_term_unregister): Split in ...
27218 (grub_term_unregister_input): ... this, and ...
27219 (grub_term_unregister_output): ... this.
27220 (grub_term_iterate): Split in ...
27221 (grub_term_iterate_input): ... this, and ...
27222 (grub_term_iterate_output): ... this.
27223
27224 * kern/term.c (grub_term_list): Split in ...
27225 (grub_term_list_input): ... this, and ...
27226 (grub_term_list_output): ... this. Update all users.
27227 (grub_cur_term): Split in ...
27228 (grub_cur_term_input): ... this, and ...
27229 (grub_cur_term_output): ... this. Update all users.
27230 (grub_term_set_current): Split in ...
27231 (grub_term_set_current_input): ... this, and ...
27232 (grub_term_set_current_output): ... this.
27233 (grub_term_get_current): Split in ...
27234 (grub_term_get_current_input): ... this, and ...
27235 (grub_term_get_current_output): ... this.
27236 (grub_term_register): Split in ...
27237 (grub_term_register_input): ... this, and ...
27238 (grub_term_register_output): ... this.
27239 (grub_term_unregister): Split in ...
27240 (grub_term_unregister_input): ... this, and ...
27241 (grub_term_unregister_output): ... this.
27242 (grub_term_iterate): Split in ...
27243 (grub_term_iterate_input): ... this, and ...
27244 (grub_term_iterate_output): ... this.
27245
27246 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27247 a check for input and one for output (and only attempt to get keys
27248 from user when input works).
27249
27250 * util/grub-probe.c (grub_term_get_current): Split in ...
27251 (grub_term_get_current_input): ... this, and ...
27252 (grub_term_get_current_output): ... this.
27253 * util/grub-fstest.c: Likewise.
27254 * util/i386/pc/grub-setup.c: Likewise.
27255 * util/grub-editenv.c: Likewise.
27256
27257 Portability adjustments:
27258
27259 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27260 `term/i386/pc/at_keyboard.c'.
27261 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27262 grub_keyboard_controller_init() (now handled by terminal .init).
27263 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27264 grub_at_keyboard_init().
27265 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27266 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27267 at_keyboard.mod via input terminal interface).
27268 * include/grub/i386/coreboot/console.h: Convert into a stub for
27269 `<grub/i386/pc/console.h>'.
27270
27271 Migrate full terminals to new API:
27272
27273 * term/efi/console.c (grub_console_term): Split into ...
27274 (grub_console_term_input): ... this, and ...
27275 (grub_console_term_output): ... this. Update all users.
27276 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27277 (grub_ofconsole_init): Split into ...
27278 (grub_ofconsole_init_input): ... this, and ...
27279 (grub_ofconsole_init_output): ... this.
27280 (grub_ofconsole_term): Split into ...
27281 (grub_ofconsole_term_input): ... this, and ...
27282 (grub_ofconsole_term_output): ... this. Update all users.
27283 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27284 (grub_serial_term_input): ... this, and ...
27285 (grub_serial_term_output): ... this. Update all users.
27286 * term/i386/pc/console.c (grub_console_term): Split into ...
27287 (grub_console_term_input): ... this, and ...
27288 (grub_console_term_output): ... this. Update all users.
27289 (grub_console_term_input): Only enable it on PC/BIOS platform.
27290 (grub_console_init): Remove grub_keyboard_controller_init() call.
27291
27292 Migrate input terminals to new API:
27293
27294 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27295 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27296 i386-specific anyway).
27297 (grub_console_checkkey): Rename to ...
27298 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27299 users.
27300 (grub_keyboard_controller_orig): New variable.
27301 (grub_console_getkey): Rename to ...
27302 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27303 users.
27304 (grub_keyboard_controller_init): Static-ize. Save original
27305 controller value so that it can be restored ...
27306 (grub_keyboard_controller_fini): ... here (new function).
27307 (grub_at_keyboard_term): New structure.
27308 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27309 functions.
27310
27311 Migrate output terminals to new API:
27312
27313 * term/i386/pc/vga.c (grub_vga_term): Change type to
27314 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27315 members. Update all users.
27316 * term/gfxterm.c (grub_video_term): Change type to
27317 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27318 members. Update all users.
27319 * include/grub/i386/pc/console.h (grub_console_checkkey)
27320 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27321 etc).
27322
27323 Migrate `terminal' command and userland tools to new API:
27324
27325 * commands/terminal.c (grub_cmd_terminal): Split into ...
27326 (grub_cmd_terminal_input): ... this, and ...
27327 (grub_cmd_terminal_output): ... this.
27328 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27329 `terminal_input' and `terminal_output'.
27330 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27331 `terminal_input' / `terminal_output' API.
27332 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27333 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27334 provided ${GRUB_TERMINAL}, convert it).
27335
96e5d876 273362008-11-04 Robert Millan <rmh@aybabtu.com>
27337
27338 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27339 for FreeBSD.
27340 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27341
556f3775 273422008-11-03 Bean <bean123ch@gmail.com>
27343
27344 * kern/elf.c (grub_elf32_load): Revert to previous code.
27345 (grub_elf64_load): Likewise.
27346
27347 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27348
926b9823 273492008-11-01 Robert Millan <rmh@aybabtu.com>
27350
27351 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27352 (TARGET_CPPFLAGS): Likewise.
27353 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27354
1432e958 273552008-11-01 Carles Pina i Estany <carles@pina.cat>
27356
27357 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27358
dba3f844 273592008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 27360
27361 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27362 addition of objects until the code is not going to be able to fail.
27363
dba3f844 273642008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 27365
27366 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27367 (add a missing NULL check, and correct them by moving the pointer
27368 operations after the actual check).
27369
7ab28c21 273702008-10-29 Robert Millan <rmh@aybabtu.com>
27371
27372 * util/i386/pc/grub-install.in: Handle empty string as output from
27373 make_system_path_relative_to_its_root().
27374
1b7748eb 273752008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27376
27377 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27378 circular metadata worst case scenario. If the metadata is circular
27379 then copy the wrap in place.
27380 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27381 project lib/format_text/layout.h
27382 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27383
c9618ab2 273842008-10-03 Felix Zielcke <fzielcke@z-51.de>
27385
7a36edca 27386 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 27387
bf981c62 273882008-10-03 Felix Zielcke <fzielcke@z-51.de>
27389
27390 * util/update-grub_lib.in: Mention filename in warning message.
27391
6d994591 273922008-09-29 Felix Zielcke <fzielcke@z-51.de>
27393
27394 * NEWS: Update for rename of update-grub to grub-mkconfig.
27395
18ade780 273962008-09-29 Felix Zielcke <fzielcke@z-51.de>
27397
27398 * util/update-grub_lib.in: Copy to ...
27399 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27400 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27401 * util/update-grub.in: Rename to ...
27402 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27403 option. Add `--output' option to allow users to specify the generated
27404 configuration file. Default to stdout.
27405 (update_grub_dir): Rename to ...
27406 (grub_mkconfig_dir): ... this.
27407 (grub_cfg): Default to an empty string.
27408 * conf/common.rmk (update-grub): Rename to ...
27409 (grub-mkconfig): ... this.
27410 (update-grub_lib): Copy to ...
27411 (grub-mkconfig_lib): ... this.
27412 (update-grub_SCRIPTS): Copy to ...
27413 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27414 (update-grub_DATA): Rename to ...
27415 (grub-mkconfig_DATA): ... this.
27416
556ce6ac 274172008-09-28 Robert Millan <rmh@aybabtu.com>
27418
27419 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27420 to `modified'. Add the real `created' field.
27421 (grub_iso9660_uuid): Use `modified' rather than `created' for
27422 constructing the UUID.
27423
274242008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27425
27426 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27427 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27428
92274e85 274292008-09-28 Bean <bean123ch@gmail.com>
27430
27431 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27432 Thanks to Christian Franke for finding this bug.
27433
add6f17a 274342008-09-25 Robert Millan <rmh@aybabtu.com>
27435
27436 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27437 instances of grub_util_get_disk_name() (see previous commit).
27438
d2a367b8 274392008-09-25 Robert Millan <rmh@aybabtu.com>
27440
27441 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27442 `util/i386/get_disk_name.c'.
27443 * conf/i386-efi.rmk: Likewise.
27444 * conf/x86_64-efi.rmk: Likewise.
27445 * conf/i386-coreboot.rmk: Likewise.
27446 * conf/i386-ieee1275.rmk: Likewise.
27447 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27448 `util/ieee1275/get_disk_name.c'.
27449 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27450 * util/ieee1275/get_disk_name.c: Remove file.
27451 * util/i386/get_disk_name.c: Remove file.
27452 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27453 "hd%d" for device.map entries, rather than using
27454 grub_util_get_disk_name().
27455
81a06771 274562008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27457
27458 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27459 warning.
27460 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27461
5a004279 274622008-09-24 Carles Pina i Estany <carles@pina.cat>
27463
27464 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27465 Changed to 0x5100.
27466 (GRUB_TERM_PPAGE): Changed to 0x4900.
27467
397093d3 274682008-09-24 Robert Millan <rmh@aybabtu.com>
27469
27470 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27471 macros (they were i386-pc specific).
27472 * include/grub/sparc64/ieee1275/console.h: Likewise.
27473 * include/grub/efi/console.h: Likewise.
27474
a91b6c7c 274752008-09-22 Bean <bean123ch@gmail.com>
27476
27477 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27478 resident and in attribute list.
27479
27480 * include/grub/ntfs.h (BMP_LEN): Removed.
27481
c40fd116 274822008-09-22 Bean <bean123ch@gmail.com>
27483
81a06771 27484 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27485 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27486
27487 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27488 error occurs, as grub_disk_open will call grub_disk_close, which will
27489 call p->close (scsi).
27490
81a06771 274912008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27492
27493 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27494 (AC_PREREQ): Bumped to 2.59.
27495 (AC_TRY_COMPILE): Replace obsolete macro with ...
27496 (AC_COMPILE_IFELSE): ... this.
27497 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27498 (AC_LINK_IFELSE): ... this.
27499
5dc43410 275002008-09-21 Felix Zielcke <fzielcke@z-51.de>
27501
27502 * autogen.sh: Add a call to `gendistlist.sh'.
27503
9035dce4 275042008-09-19 Christian Franke <franke@computer.org>
27505
27506 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27507 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27508 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27509 Export __enable_execute_stack() to modules.
27510 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27511 New function.
27512
7fd75377 275132008-09-09 Felix Zielcke <fzielcke@z-51.de>
27514
040030b3 27515 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27516 Sort the list.
27517
275182008-09-09 Felix Zielcke <fzielcke@z-51.de>
27519
27520 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 27521 #include <grub/util/hostdisk.h>.
27522
89d5ffcf 275232008-09-08 Robert Millan <rmh@aybabtu.com>
27524
27525 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27526 segments when their filesz is zero (grub_file_read() interprets
81a06771 27527 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 27528 Use `lowest_segment' rather than 0 for calculating the current
27529 segment load address.
27530
40da438f 275312008-09-08 Robert Millan <rmh@aybabtu.com>
27532
27533 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27534 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27535 clobbered useful information.
27536
ddbf5556 275372008-09-08 Robert Millan <rmh@aybabtu.com>
27538
27539 * include/grub/util/biosdisk.h: Move to ...
27540 * include/grub/util/hostdisk.h: ... here. Update all users.
27541 * util/biosdisk.c: Move to ...
27542 * util/hostdisk.c: ... here. Update all users.
27543
783d0f48 275442008-09-07 Robert Millan <rmh@aybabtu.com>
27545
27546 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27547 variables.
27548 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27549 and length can be stored directly in the `mbi->mmap_addr' and
27550 `mbi->mmap_length' struct fields.
27551
548e2ea5 275522008-09-07 Robert Millan <rmh@aybabtu.com>
27553
27554 * conf/i386.rmk: New file. Provides declaration for building
27555 `cpuid.mod'.
27556 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27557 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27558 variables.
27559 Include `conf/i386.mk'.
27560 * conf/i386-efi.rmk: Likewise.
27561 * conf/x86_64-efi.rmk: Likewise.
27562 * conf/i386-coreboot.rmk: Likewise.
27563 * conf/i386-ieee1275.rmk: Likewise.
27564
0ea85a37 275652008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27566
27567 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27568 Adds optimization support for BGR based modes.
27569
27570 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27571 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27572 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27573 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27574 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27575 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27576 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27577 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27578 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27579 (grub_video_i386_vbeblit_index_index): Likewise.
27580 (grub_video_i386_vbeblit_replace_directN): Added.
27581 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27582 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27583 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27584 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27585 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27586 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 27587 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 27588 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27589 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27590 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27591 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27592 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27593 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27594
27595 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27596 (grub_video_i386_vbefill_R8G8B8): Likewise.
27597 (grub_video_i386_vbefill_index): Likewise.
27598 (grub_video_i386_vbefill_direct32): Added.
27599 (grub_video_i386_vbefill_direct24): Likewise.
27600 (grub_video_i386_vbefill_direct16): Likewise.
27601 (grub_video_i386_vbefill_direct8): Likewise.
27602
81a06771 27603 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 27604 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27605 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27606 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27607 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27608 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 27609
0ea85a37 27610 * video/video.c (grub_video_get_blit_format): Updated to use new
27611 blit formats. Added handling for 16 bit color modes.
81a06771 27612
27613 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 27614 fillers.
27615 (common_blitter): Updated to use new blitters.
27616
27617 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27618 Removed.
27619 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27620 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27621 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27622 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27623 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27624 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27625 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27626 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27627 (grub_video_i386_vbeblit_index_index): Likewise.
27628 (grub_video_i386_vbeblit_replace_directN): Added.
27629 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27630 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27631 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27632 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27633 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27634 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27635 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27636 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27637 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27638 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27639 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27640 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27641 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 27642
0ea85a37 27643 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27644 (grub_video_i386_vbefill_R8G8B8): Likewise.
27645 (grub_video_i386_vbefill_index): Likewise.
27646 (grub_video_i386_vbefill_direct32): Added.
27647 (grub_video_i386_vbefill_direct24): Likewise.
27648 (grub_video_i386_vbefill_direct16): Likewise.
27649 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 27650
0ea85a37 27651 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27652 types.
81a06771 27653
0ea85a37 27654 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27655 types.
81a06771 27656
0ea85a37 27657 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27658 blitter types.
81a06771 27659
0ea85a37 27660 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27661 types.
27662
e8a83df6 276632008-09-06 Felix Zielcke <fzielcke@z-51.de>
27664
27665 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27666 RAID level 1.
27667
6bcd8ee5 276682008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 27669
6bcd8ee5 27670 * fs/iso9660.c (grub_iso9660_date): New structure.
27671 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27672 (grub_iso9660_uuid): New function.
c375ae58 27673
59261157 276742008-09-05 Bean <bean123ch@gmail.com>
27675
27676 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27677
27678 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27679 insensitive bit for names in Win32 and Win32 & DOS namespace.
27680
27681 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27682
27683 * include/grub/types.h (LONG_MAX): Likewise.
27684
58b6645a 276852008-09-04 Felix Zielcke <fzielcke@z-51.de>
27686
4ee55921 27687 * util/getroot.c: Include <config.h>.
27688 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27689 add support for /dev/md/N devices and handle LVM double dash escaping.
27690
276912008-09-04 Felix Zielcke <fzielcke@z-51.de>
27692
27693 * config.guess: Update to latest version from config git.
27694 * config.sub: Likewise.
58b6645a 27695
9124f65d 276962008-09-03 Robert Millan <rmh@aybabtu.com>
27697
27698 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27699 `disk->total_sectors'.
27700
81a06771 277012008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 27702
27703 * include/grub/normal.h: Fixed incorrect comment for
27704 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27705
81a06771 277062008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 27707
27708 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27709 values with defines.
27710
27711 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27712 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27713 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27714 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27715 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27716 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27717 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27718 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27719 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27720 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27721 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27722 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27723 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27724 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27725 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27726 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27727 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27728 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27729 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27730
93d5cbf8 277312008-08-31 Robert Millan <rmh@aybabtu.com>
27732
27733 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27734 declaration.
27735 (grub_multiboot): Fix a few warnings.
27736
21751d50 277372008-08-31 Robert Millan <rmh@aybabtu.com>
27738
27739 * loader/i386/pc/multiboot.c: Update comment not to say that
27740 boot_device support is unimplemented.
27741
e27a75c5 277422008-08-31 Robert Millan <rmh@aybabtu.com>
27743
27744 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27745 or memory map support are unimplemented.
27746
81a06771 277472008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 27748
27749 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27750
81a06771 277512008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 27752
27753 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27754 total video memory in 'vbeinfo' output; show color format details for
27755 each video mode.
27756
7c5d8d95 277572008-08-30 Pavel Roskin <proski@gnu.org>
27758
27759 * util/genmoddep.c: Remove for real this time.
27760 * DISTLIST: Remove util/genmoddep.c.
27761
4cebd25a 277622008-08-30 Robert Millan <rmh@aybabtu.com>
27763
27764 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27765 as required by Multiboot spec (it was already 4-byte aligned, but
27766 only by chance).
27767
b497a269 277682008-08-29 Pavel Roskin <proski@gnu.org>
27769
e3925185 27770 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27771 * kern/powerpc/ieee1275/startup.S: ... this.
27772 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27773 * DISTLIST: Likewise.
27774
b497a269 27775 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27776 grub/cpu/kernel.h. Add start label for consistency with other
27777 platforms. Add grub_prefix immediately after start. Add jump
27778 to the code after grub_prefix.
27779 * include/grub/powerpc/kernel.h: Provide valid values for
27780 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27781
6e5a42fe 277822008-08-29 Bean <bean123ch@gmail.com>
27783
27784 * configure.ac: Change host_os to cygwin for mingw.
27785 (asprintf): New check for function.
27786
27787 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27788 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27789
27790 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 27791 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 27792 sync, sleep and grub_util_get_disk_size for mingw.
27793
27794 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27795 to get size in mingw.
27796 (open_device): Use flag O_BINARY if it's defined.
27797 (find_root_device): Add dummy code for mingw.
27798
27799 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27800 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27801 (get_scsi_disk_name): Return 0 for mingw.
27802
27803 * util/hostfs.c: #include <grub/util/misc.h>.
27804 (grub_hostfs_open): Use "rb" flag to open file, use
27805 grub_util_get_disk_size to get disk size for mingw.
27806
27807 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27808 (asprintf): New function if HAVE_ASPRINTF is not set.
27809 (sync): New function for mingw.
27810 (sleep): Likewise.
27811 (grub_util_get_disk_size): Likewise.
27812
ab3f2673 278132008-08-28 Pavel Roskin <proski@gnu.org>
27814
27815 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27816 kern/time.c.
27817
1c282483 278182008-08-28 Robert Millan <rmh@aybabtu.com>
27819
27820 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27821
678e849c 278222008-08-28 Robert Millan <rmh@aybabtu.com>
27823
27824 Change find_grub_drive() syntax so it doesn't prevent it from
27825 detecting NULL names as errors.
27826
27827 * util/biosdisk.c (find_grub_drive): Move free slot search code
27828 from here ...
27829 (find_free_slot): ... to here.
27830 (read_device_map): Use find_free_slot() to search for free slots.
27831
965c75ca 278322008-08-27 Marco Gerards <marco@gnu.org>
27833
27834 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27835 (scsi_mod_SOURCES): New variable.
27836 (scsi_mod_CFLAGS): Likewise
27837 (scsi_mod_LDFLAGS): Likewise.
27838
27839 * disk/scsi.c: New file.
27840
27841 * include/grub/scsi.h: Likewise.
27842
27843 * include/grub/scsicmd.h: Likewise.
27844
27845 * disk/ata.c: Include <grub/scsi.h>.
27846 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27847 instead.
27848 (grub_ata_iterate): Skip ATAPI devices.
27849 (grub_ata_open): Only handle ATAPI devices.
27850 (struct grub_atapi_read): Removed.
27851 (grub_atapi_readsector): Likewise.
27852 (grub_ata_read): No longer handle ATAPI devices.
27853 (grub_ata_write): Likewise.
27854 (grub_atapi_iterate): New function.
27855 (grub_atapi_read): Likewise.
27856 (grub_atapi_write): Likewise.
27857 (grub_atapi_open): Likewise.
27858 (grub_atapi_close): Likewise.
27859 (grub_atapi_dev): New variable.
27860 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27861 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27862
27863 * include/grub/disk.h (enum grub_disk_dev_id): Add
27864 `GRUB_DISK_DEVICE_SCSI_ID'.
27865
c07ae501 278662008-08-26 Robert Millan <rmh@aybabtu.com>
27867
27868 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27869 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27870 descriptive.
27871
5ed20adc 278722008-08-23 Bean <bean123ch@gmail.com>
27873
27874 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27875 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27876 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27877 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27878 dm_nv.mod.
27879 (raid5rec_mod_SOURCES): New macro.
27880 (raid5rec_mod_CFLAGS): Likewise.
27881 (raid5rec_mod_LDFLAGS): Likewise.
27882 (raid6rec_mod_SOURCES): Likewise.
27883 (raid6rec_mod_CFLAGS): Likewise.
27884 (raid6rec_mod_LDFLAGS): Likewise.
27885 (mdraid_mod_SOURCES): Likewise.
27886 (mdraid_mod_CFLAGS): Likewise.
27887 (mdraid_mod_LDFLAGS): Likewise.
27888 (dm_nv_mod_SOURCES): Likewise.
27889 (dm_nv_mod_CFLAGS): Likewise.
27890 (dm_nv_mod_LDFLAGS): Likewise.
27891
27892 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27893 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27894 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27895
27896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27897 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27898
27899 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27900
27901 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27902
27903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27904
27905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27906
27907 * disk/raid5_recover.c: New file.
27908
27909 * disk/raid6_recover.c: Likewise.
27910
27911 * disk/mdraid_linux.c: Likewise.
27912
27913 * disk/dmraid_nvidia.c: Likewise.
27914
27915 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27916 ULONG_MAX.
27917
27918 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27919 calculate the size of raid device.
27920 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27921 different layout of raid5.
27922 (grub_raid_scan_device): Remove code specific to mdraid.
27923 (grub_raid_list): New variable.
27924 (free_array): New function.
27925 (grub_raid_register): Likewise.
27926 (grub_raid_unregister): Likewise.
27927 (grub_raid_rescan): Likewise.
27928 (GRUB_MOD_INIT): Don't iterate device here.
27929 (GRUB_MOD_FINI): Use free_array to release resource.
27930
27931 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27932 (grub_raid5_recover_func_t): New function variable type.
27933 (grub_raid6_recover_func_t): Likewise.
27934 (grub_raid5_recover_func): New variable.
27935 (grub_raid6_recover_func): Likewise.
27936 (grub_raid_register): New function.
27937 (grub_raid_unregister): Likewise.
27938 (grub_raid_rescan): Likewise.
27939 (grub_raid_block_xor): Likewise.
27940
27941 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27942 (CMD_CRC): New macro.
27943 (part): Removed.
27944 (read_file): Handle device as well as file.
27945 (cmd_crc): New function.
27946 (fstest): Handle multiple disks.
27947 (options): Remove part, raw and long, add root and diskcount.
27948 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 27949 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 27950 add handling for the new options, support multiple disks.
27951
27952 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27953
29c18915 279542008-08-23 Bean <bean123ch@gmail.com>
27955
27956 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27957
27958 * genfslist.sh: Ignore kernel.mod.
27959
27960 * genpartmaplist.sh: Likewise.
27961
8415f261 279622008-08-23 Robert Millan <rmh@aybabtu.com>
27963
27964 * util/getroot.c (find_root_device): Skip anything that starts with
27965 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27966
d5a7dc5b 279672008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 27968
d5a7dc5b 27969 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27970 * util/grub.d/00_header.in: Allow the administrator to change default
27971 gfxmode via ${GRUB_GFXMODE}.
27972
380cfbb4 279732008-08-21 Felix Zielcke <fzielcke@z-51.de>
27974
27975 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27976
c9baafe7 279772008-08-21 Robert Millan <rmh@aybabtu.com>
27978
27979 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27980 loader.
27981 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27982 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27983
e290bef2 279842008-08-20 Carles Pina i Estany <carles@pina.cat>
27985
27986 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27987 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27988
f9dbfc96 279892008-08-19 Robert Millan <rmh@aybabtu.com>
27990
27991 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27992 (struct grub_virtual_screen): Remove `cursor_color'.
27993 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27994 initialization.
27995 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27996
dd6bd6ab 279972008-08-18 Robert Millan <rmh@aybabtu.com>
27998
27999 Unify (identical) linux_normal.c files.
28000 * loader/i386/efi/linux_normal.c: Move from here ...
28001 * loader/linux_normal.c: ... to here. Update all users.
28002 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28003 * loader/i386/ieee1275/linux_normal.c: Likewise.
28004
7f42f83e 280052008-08-18 Robert Millan <rmh@aybabtu.com>
28006
28007 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28008 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28009 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28010 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28011 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28012 New macros.
28013 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28014 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28015 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28016 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28017 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28018 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28019 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28020 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28021 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28022 portably using grub_getxy().
28023 Replace `-EFI' with `-bzImage' in boot message.
28024
38487ddb 280252008-08-17 Robert Millan <rmh@aybabtu.com>
28026
28027 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28028
deceb3ec 280292008-08-17 Robert Millan <rmh@aybabtu.com>
28030
28031 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28032
28033 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28034 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28035 (grub_machine_mmap_iterate): New function declaration.
28036 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28037 structure.
28038 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28039 macros.
28040
28041 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28042 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28043 Move e820 parsing from here ...
28044 * kern/i386/pc/mmap.c: New file.
28045 (grub_machine_mmap_iterate): ... to here.
28046
28047 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28048 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28049 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28050 (grub_available_iterate): Redeclare to return `void', and redeclare
28051 its hook to use grub_uint64_t as addr and size parameters, and rename
28052 to ...
28053 (grub_machine_mmap_iterate): ... this. Update all users.
28054
28055 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28056 to make it more readable. Rename to ...
28057 (grub_machine_mmap_iterate): ... this.
28058
28059 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28060 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28061 (grub_multiboot): Allocate an extra region after the payload, and fill
28062 it with a Multiboot memory map. Adjust a.out loader to calculate size
28063 with the extra space.
28064 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28065 with the extra space.
28066
f8aa0f43 280672008-08-17 Carles Pina i Estany <carles@pina.cat>
28068
9807deb9 28069 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 28070
605f5bb6 280712008-08-17 Felix Zielcke <fzielcke@z-51.de>
28072
28073 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28074 mdate-sh to the list `find' searches for.
28075 * DISTLIST: Regenerated.
28076
210db6c6 280772008-08-16 Felix Zielcke <fzielcke@z-51.de>
28078
28079 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28080 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 28081 genmoddep.awk, gensymlist.sh.in.
28082 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 28083 * DISTLIST: Regenerated.
48cdbfd4 28084 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 28085
1082b929 280862008-08-16 Robert Millan <rmh@aybabtu.com>
28087
28088 * disk/raid.c (grub_raid_init): Handle/report errors set by
28089 grub_device_iterate().
28090 * disk/lvm.c (grub_lvm_init): Likewise.
28091
42ce5170 280922008-08-15 Bean <bean123ch@gmail.com>
28093
28094 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28095 and datehook.mod.
28096 (datetime_mod_SOURCES): New macro.
28097 (datetime_mod_CFLAGS): Likewise.
28098 (datetime_mod_LDFLAGS): Likewise.
28099 (date_mod_SOURCES): Likewise.
28100 (date_mod_CFLAGS): Likewise.
28101 (date_mod_LDFLAGS): Likewise.
28102 (datehook_mod_SOURCES): Likewise.
28103 (datehook_mod_CFLAGS): Likewise.
28104 (datehook_mod_LDFLAGS): Likewise.
28105
28106 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28107 and datehook.mod.
28108 (datetime_mod_SOURCES): New macro.
28109 (datetime_mod_CFLAGS): Likewise.
28110 (datetime_mod_LDFLAGS): Likewise.
28111 (date_mod_SOURCES): Likewise.
28112 (date_mod_CFLAGS): Likewise.
28113 (date_mod_LDFLAGS): Likewise.
28114 (datehook_mod_SOURCES): Likewise.
28115 (datehook_mod_CFLAGS): Likewise.
28116 (datehook_mod_LDFLAGS): Likewise.
28117
28118 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28119 and datehook.mod.
28120 (datetime_mod_SOURCES): New macro.
28121 (datetime_mod_CFLAGS): Likewise.
28122 (datetime_mod_LDFLAGS): Likewise.
28123 (date_mod_SOURCES): Likewise.
28124 (date_mod_CFLAGS): Likewise.
28125 (date_mod_LDFLAGS): Likewise.
28126 (datehook_mod_SOURCES): Likewise.
28127 (datehook_mod_CFLAGS): Likewise.
28128 (datehook_mod_LDFLAGS): Likewise.
28129
28130 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28131 and datehook.mod.
28132 (datetime_mod_SOURCES): New macro.
28133 (datetime_mod_CFLAGS): Likewise.
28134 (datetime_mod_LDFLAGS): Likewise.
28135 (date_mod_SOURCES): Likewise.
28136 (date_mod_CFLAGS): Likewise.
28137 (date_mod_LDFLAGS): Likewise.
28138 (datehook_mod_SOURCES): Likewise.
28139 (datehook_mod_CFLAGS): Likewise.
28140 (datehook_mod_LDFLAGS): Likewise.
28141
28142 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28143 and datehook.mod.
28144 (datetime_mod_SOURCES): New macro.
28145 (datetime_mod_CFLAGS): Likewise.
28146 (datetime_mod_LDFLAGS): Likewise.
28147 (date_mod_SOURCES): Likewise.
28148 (date_mod_CFLAGS): Likewise.
28149 (date_mod_LDFLAGS): Likewise.
28150 (datehook_mod_SOURCES): Likewise.
28151 (datehook_mod_CFLAGS): Likewise.
28152 (datehook_mod_LDFLAGS): Likewise.
28153
28154 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28155
28156 * commands/date.c: New file.
28157
28158 * hook/datehook.c: Likewise.
28159
28160 * include/grub/lib/datetime.h: Likewise.
28161
28162 * include/grub/i386/cmos.h: Likewise.
28163
28164 * lib/datetime.c: Likewise.
28165
28166 * lib/i386/datetime.c: Likewise.
28167
28168 * lib/efi/datetime.c: Likewise.
28169
0e9242da 281702008-08-14 Robert Millan <rmh@aybabtu.com>
28171
28172 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28173 (grub_mkelfimage_SOURCES): New variable.
28174 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28175
28176 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28177 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28178 * conf/powerpc-ieee1275.rmk: Likewise.
28179 * conf/i386-ieee1275.rmk: Likewise.
28180
28181 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28182 * kern/i386/coreboot/init.c: Likewise.
28183
28184 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28185 with `<grub/cpu/kernel.h>'.
28186 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28187 to ...
28188 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28189 * kern/i386/coreboot/startup.S: Likewise.
28190
28191 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28192 (GRUB_MOD_GAP): Remove.
28193 * include/grub/powerpc/kernel.h: New file.
28194 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28195 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28196 * include/grub/i386/kernel.h: New file.
28197 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28198 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28199 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28200
28201 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28202 `grub-mkelfimage'.
28203 Use --directory when invoking grub_mkimage.
28204
28205 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28206 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28207 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28208 and GRUB_KERNEL_CPU_PREFIX.
28209
b86408f8 282102008-08-14 Felix Zielcke <fzielcke@z-51.de>
28211
d5e619ca 28212 * include/grub/err.h (grub_err_printf): New function prototype.
28213 * util/misc.c (grub_err_printf): New function.
28214 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28215 grub_printf.
28216 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 28217
7161f0e0 282182008-08-13 Robert Millan <rmh@aybabtu.com>
28219
28220 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28221
a1967522 282222008-08-13 Robert Millan <rmh@aybabtu.com>
28223
28224 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28225 boot entry.
28226
371458b5 282272008-08-12 Robert Millan <rmh@aybabtu.com>
28228
28229 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28230 of the relocation code from here ...
28231 (grub_multiboot): ... to here.
28232 (forward_relocator, backward_relocator): Move from here ...
28233 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28234 (grub_multiboot_backward_relocator): ... to here.
28235 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28236 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28237 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28238 (grub_multiboot_forward_relocator_end)
28239 (grub_multiboot_backward_relocator)
28240 (grub_multiboot_backward_relocator_end): New variables.
28241
05f9452b 282422008-08-12 Bean <bean123ch@gmail.com>
28243
28244 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28245
20024ab0 282462008-08-11 Robert Millan <rmh@aybabtu.com>
28247
28248 * kern/i386/linuxbios/startup.S: Move from here ...
28249 * kern/i386/coreboot/startup.S: ... to here.
28250
28251 * kern/i386/linuxbios/init.c: Move from here ...
28252 * kern/i386/coreboot/init.c: ... to here.
28253
28254 * kern/i386/linuxbios/table.c: Move from here ...
28255 * kern/i386/coreboot/mmap.c: ... to here.
28256
28257 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28258
e352e9cd 282592008-08-11 Robert Millan <rmh@aybabtu.com>
28260
28261 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28262 errors. Leave it to the upper layer to handle them.
28263
2d05bc6a 282642008-08-09 Christian Franke <franke@computer.org>
28265
28266 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28267 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28268 Install `grub.d/10_windows' only on Cygwin.
28269 * configure.ac: Add subst of `target_os'.
28270 Check `target_os' also before setting TARGET_OBJ2ELF.
28271 Add `--enable-grub-pe2elf'.
28272
042bd419 282732008-08-08 Robert Millan <rmh@aybabtu.com>
28274
28275 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28276 (grub_last_time): Change type to grub_uint64_t.
28277 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28278 (grub_disk_close): Likewise.
28279
28280 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28281 (run_menu): Migrate code from to using grub_get_time_ms().
28282
28283 * util/misc.c (grub_get_time_ms): New function.
28284
7f280db5 282852008-08-08 Marco Gerards <marco@gnu.org>
28286
28287 * disk/ata.c (grub_ata_regget): Change return type to
28288 `grub_uint8_t'.
28289 (grub_ata_regget2): Likewise.
28290 (grub_ata_wait_status): New function.
28291 (grub_ata_wait_busy): Removed function, updated all users to use
28292 `grub_ata_wait_status'.
28293 (grub_ata_wait_drq): Likewise.
28294 (grub_ata_cmd): New function.
28295 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28296 error handling.
28297 (grub_ata_pio_write): Add error handling.
28298 (grub_atapi_identify): Likewise.
28299 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28300 handling.
28301 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28302 handling. Actually use the detected registers. Reorder the
28303 detection logic such that it is easier to read.
28304 (grub_ata_pciinit): Do not assign the same ID to each controller.
28305 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28306 handling.
28307 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28308
28309 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28310
1fbc5e66 283112008-08-08 Marco Gerards <marco@gnu.org>
28312
28313 * NEWS: Update.
28314
819ce6c0 283152008-08-07 Bean <bean123ch@gmail.com>
28316
28317 * include/grub/x86_64/pci.h: New file.
28318
5c41d44d 283192008-08-07 Christian Franke <franke@computer.org>
28320
28321 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28322 (TIMER2_GATE): Likewise.
28323 (grub_pit_wait): Add enable/disable of the timer2 gate
28324 bit of port 0x61. This fixes a possible infinite loop.
28325
5ebc275d 283262008-08-07 Bean <bean123ch@gmail.com>
28327
28328 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28329 kern/i386/tsc.c and kern/i386/pit.c.
28330
28331 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28332 x86_64 platform.
28333
28334 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28335 <grub/i386/tsc.h>.
28336
28337 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28338
e383b3d0 283392008-08-07 Bean <bean123ch@gmail.com>
28340
28341 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28342
28343 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28344
28345 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28346 multiple inclusion. Add #include <grub/types.h>.
28347
1cbb58ac 283482008-08-06 Christian Franke <franke@computer.org>
28349
28350 * conf/common.rmk: Build and install `10_windows'.
28351 * util/grub.d/10_windows.in: New script.
28352
337f5a1e 283532008-08-06 Pavel Roskin <proski@gnu.org>
28354
28355 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28356
057bc4ac 283572008-08-06 Robert Millan <rmh@aybabtu.com>
28358
28359 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28360 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28361
2b99f123 283622008-08-06 Bean <bean123ch@gmail.com>
28363
28364 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28365 (grub_pxefs_fs_int): Remove dummy definition.
28366 (grub_pxefs_open): Use data->block_size to store the current block
28367 size setting.
28368 (grub_pxefs_read): Use block size stored in data->block_size. As the
28369 value of grub_pxe_blksize can be changed after the file is opened.
28370
9f0234cb 283712008-08-06 Bean <bean123ch@gmail.com>
28372
28373 * fs/i386/pc/pxe.c (curr_file): new variable.
28374 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28375 require the dummy internal file system anymore.
28376 (grub_pxefs_read): Removed.
28377 (grub_pxefs_close): Likewise.
28378 (grub_pxefs_fs_int): Likewise.
28379 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28380 connection when we switch file.
28381 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28382
a55d42e0 283832008-08-06 Robert Millan <rmh@aybabtu.com>
28384
28385 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28386 `halt.mod'.
28387 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28388 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28389
28390 * kern/i386/halt.c: New file.
28391 * kern/i386/reboot.c: Likewise.
28392 * include/grub/i386/reboot.h: Likewise.
28393 * include/grub/i386/halt.h: Likewise.
28394
28395 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28396 Include `<grub/cpu/halt.h>'.
28397 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28398 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28399
28400 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28401 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28402 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28403 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28404 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28405 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28406 from here ...
28407 * include/grub/i386/at_keyboard.h: ... to here.
28408
24371d26 284092008-08-05 Robert Millan <rmh@aybabtu.com>
28410
28411 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28412 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28413 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28414 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28415 `kern/generic/millisleep.c'.
28416
28417 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28418 instead of grub_get_rtc().
28419 (grub_tsc_init): Initialize `tsc_boot_time'.
28420
28421 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28422 (grub_machine_init): Use grub_tsc_init() rather than
28423 installing an RTC-based handler via grub_install_get_time_ms().
28424
28425 * kern/i386/pit.c: New file.
28426 * include/grub/i386/pit.h: Likewise.
28427
9e7007b3 284282008-08-05 Bean <bean123ch@gmail.com>
28429
28430 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28431
28432 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28433 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28434 (pxe_mod_SOURCES): New macro.
28435 (pxe_mod_CFLAGS): Likewise.
28436 (pxe_mod_LDFLAGS): Likewise.
28437 (pxecmd_mod_SOURCES): Likewise.
28438 (pxecmd_mod_CFLAGS): Likewise.
28439 (pxecmd_mod_LDFLAGS): Likewise.
28440
28441 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28442 (grub_pxe_call): Likewise.
28443
28444 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28445
28446 * commands/i386/pc/pxecmd.c: New file.
28447
9f0234cb 28448 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28449
28450 * include/grub/i386/pc/pxe.h: Likewise.
28451
6977d49f 284522008-08-05 Bean <bean123ch@gmail.com>
28453
28454 * util/console.c (grub_console_cur_color): New variable.
28455 (grub_console_standard_color): Likewise.
28456 (grub_console_normal_color): Likewise.
28457 (grub_console_highlight_color): Likewise.
28458 (color_map): Likewise.
28459 (use_color): Likewise.
28460 (NUM_COLORS): New macro.
28461 (grub_ncurses_setcolorstate): Handle color properly.
28462 (grub_ncurses_setcolor): Don't change color here, just remember the
28463 settings, color will be set in grub_ncurses_setcolorstate.
28464 (grub_ncurses_getcolor): New function.
28465 (grub_ncurses_init): Initialize color pairs.
28466 (grub_ncurses_term): New member grub_ncurses_getcolor.
28467
9c2ff3ee 284682008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28469
9c2ff3ee 28470 High resolution timer support. Implemented for x86 CPUs using TSC.
28471 Extracted generic grub_millisleep() so it's linked in only as needed.
28472 This requires a Pentium compatible CPU; if the RDTSC instruction is
28473 not supported, then it falls back on the generic grub_get_time_ms()
28474 implementation that uses the machine's RTC.
28475
28476 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28477 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28478 `kern/generic/millisleep.c'.
28479
28480 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28481 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28482
28483 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28484 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28485
28486 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28487
28488 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28489 `kern/generic/millisleep.c'.
28490
28491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28492
28493 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28494
28495 * kern/generic/rtc_get_time_ms.c: New file.
28496
28497 * kern/generic/millisleep.c: New file.
337f5a1e 28498
9c2ff3ee 28499 * kern/misc.c: Don't include
28500 <kern/time.h> anymore.
28501 (grub_millisleep_generic): Removed.
28502
28503 * commands/sleep.c (grub_interruptible_millisleep): Uses
28504 grub_get_time_ms() instead of grub_get_rtc().
28505
28506 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28507 function.
28508 (grub_cpu_is_cpuid_supported): New inline function.
28509 (grub_cpu_is_tsc_supported): New inline function.
28510 (grub_tsc_init): New function prototype.
28511 (grub_tsc_get_time_ms): New function prototype.
28512
28513 * kern/i386/tsc.c (grub_get_time_ms): New file.
28514
28515 * include/grub/time.h: Include <grub/types.h.
28516 (grub_millisleep_generic): Removed.
28517 (grub_get_time_ms): New prototype.
28518 (grub_install_get_time_ms): New prototype.
28519 (grub_rtc_get_time_ms): New prototype.
28520
28521 * kern/time.c (grub_get_time_ms): New function.
28522 (grub_install_get_time_ms): New function.
28523
28524 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28525 <grub/time.h> anymore.
28526 (grub_millisleep): Removed.
28527 (grub_machine_init): Call grub_tsc_init.
28528
28529 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28530 get_time_ms() implementation.
28531
28532 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28533 (ieee1275_get_time_ms): New function.
28534 (grub_machine_init): Install get_time_ms() implementation.
28535
28536 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28537 (grub_machine_init): Call grub_tsc_init().
28538 (grub_millisleep): Removed.
bf06a93f 28539
9c2ff3ee 28540 * kern/ieee1275/init.c (grub_millisleep): Removed.
28541 (grub_machine_init): Install ieee1275_get_time_ms()
28542 implementation.
28543 (ieee1275_get_time_ms): New function.
28544 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28545 real work.
28546
9ec92aaf 285472008-08-05 Marco Gerards <marco@gnu.org>
28548
28549 * disk/ata.c: Include <grub/pci.h>.
28550 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28551 (grub_ata_initialize): Rewritten.
28552 (grub_ata_device_initialize): New function.
28553
8d23f507 285542008-08-04 Pavel Roskin <proski@gnu.org>
28555
28556 * kern/main.c: Include grub/mm.h.
28557
5e15ee3d 285582008-08-04 Robert Millan <rmh@aybabtu.com>
28559
28560 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28561 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28562 corruption problem).
28563
a9053f8f 285642008-08-04 Robert Millan <rmh@aybabtu.com>
28565
28566 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28567 warnings introduced in my last commit.
28568
dd19c7d7 285692008-08-03 Robert Millan <rmh@aybabtu.com>
28570
28571 Make PCI available on all i386 architectures.
28572
28573 * include/grub/i386/pc/pci.h: Move from here ...
28574 * include/grub/i386/pci.h: ... to here.
28575
28576 * include/grub/i386/pc/pci.h: Remove.
28577 * include/grub/i386/efi/pci.h: Remove.
28578 * include/grub/x86_64/efi/pci.h: Remove.
28579
28580 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28581 `<grub/cpu/pci.h>'.
28582
28583 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28584 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28585 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28586
28587 * conf/i386-ieee1275.rmk: Likewise.
28588
e14a6184 285892008-08-03 Robert Millan <rmh@aybabtu.com>
28590
28591 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28592 (grub_console_setcursor): Make it possible to set cursor off.
28593
52768e37 285942008-08-03 Robert Millan <rmh@aybabtu.com>
28595
28596 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28597 of modules instead of assuming which platform provides what.
28598 * util/update-grub.in: Likewise.
28599
2d52f57f 286002008-08-03 Robert Millan <rmh@aybabtu.com>
28601
28602 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28603 instead of `grub_install_dos_part' to determine whether a drive needs
28604 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 28605 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 28606
2a5cd121 286072008-08-02 Robert Millan <rmh@aybabtu.com>
28608
28609 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28610
93808428 286112008-08-02 Robert Millan <rmh@aybabtu.com>
28612
28613 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28614 of informational grub_dprintf() calls.
28615
3bd0a12a 286162008-08-02 Robert Millan <rmh@aybabtu.com>
28617
28618 * disk/memdisk.c (memdisk_size): Don't initialize.
28619 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28620
28621 * include/grub/i386/pc/kernel.h
28622 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28623 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28624 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28625 (grub_arch_memdisk_size): Remove.
28626
28627 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28628 field (was only used to transfer a constant). Add `type' field to
28629 support multiple module types.
28630 (grub_module_iterate): New function.
28631
28632 * kern/device.c (grub_device_open): Do not hide error messages
28633 when grub_disk_open() fails. Use grub_print_error() instead.
28634
28635 * kern/i386/pc/init.c (grub_arch_modules_addr)
28636 (grub_arch_memdisk_size): Remove functions.
28637 (grub_arch_modules_addr): Return the module address in high memory
28638 (now that it isn't copied anymore).
28639
28640 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28641 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28642 decompression routine (grub_total_module_size already includes that
28643 now). Don't copy modules back to low memory.
28644
28645 * kern/main.c: Include `<grub/mm.h>'.
28646 (grub_load_modules): Split out (and use) ...
28647 (grub_module_iterate): ... this function, which iterates through
28648 module objects and runs a hook.
28649 Comment out grub_mm_init_region() call, as it would cause non-ELF
28650 modules to be overwritten.
28651
28652 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28653 the memdisk image in its own region, make it part of the module list.
28654 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28655 (main): Parse --memdisk|-m option, and pass user-provided path as
28656 parameter to generate_image().
28657 (add_segments): Pass `memdisk_path' down to load_modules().
28658 (load_modules): Embed memdisk image in module section when requested.
28659 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28660 `header.type' instead of `header.offset'.
28661
28662 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28663 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28664 (memdisk_mod_LDFLAGS): New variables.
28665 * conf/i386-coreboot.rmk: Likewise.
28666 * conf/i386-ieee1275.rmk: Likewise.
28667
a927cc73 286682008-08-02 Robert Millan <rmh@aybabtu.com>
28669
28670 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28671 (backward_relocator): New variables. Used to allocate and relocate
28672 the payload, respectively.
28673 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 28674 address, install the appropriate relocator code in each bound of
a927cc73 28675 the payload, and set the entry point such that
28676 grub_multiboot_real_boot() will jump to one of them.
28677
28678 * kern/i386/loader.S (grub_multiboot_payload_size)
28679 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28680 (grub_multiboot_payload_entry_offset): New variables.
28681 (grub_multiboot_real_boot): Set cpu context to what the relocator
28682 expects, and jump to the relocator instead of the payload.
28683
28684 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28685 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28686 (grub_multiboot_payload_entry_offset): Export.
28687
b15d8a0c 286882008-08-01 Bean <bean123ch@gmail.com>
28689
28690 * normal/menu_entry.c (editor_getline): Don't return the original
28691 string as result, as it will be released by lexer once it has done
28692 using it.
28693
cdfb3d22 286942008-08-01 Robert Millan <rmh@aybabtu.com>
28695
28696 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28697 within menuentries, not before them.
28698 util/grub.d/10_hurd.in: Likewise.
28699
9175e93d 287002008-08-01 Bean <bean123ch@gmail.com>
28701
28702 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28703 (bufio_mod_SOURCES): New macro.
28704 (bufio_mod_CFLAGS): Likewise.
28705 (bufio_mod_LDFLAGS): Likewise.
28706
28707 * include/grub/bufio.h: New file.
28708
28709 * io/bufio.c: Likewise.
28710
28711 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28712 (grub_video_reader_png): Use grub_buffile_open to open file.
28713
28714 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28715 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28716
28717 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28718 (grub_video_reader_tga): Use grub_buffile_open to open file.
28719
28720 * font/manager.c: Include <grub/bufio.h>.
28721 (add_font): Use grub_buffile_open to open file.
28722
3d8383e7 287232008-07-31 Robert Millan <rmh@aybabtu.com>
28724
28725 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28726 ELF segments, use a macro for arbitrarily accessing any of them instead
28727 of preparing a pointer that allows access to one at a time.
28728 (grub_multiboot_load_elf64): Likewise.
28729
16e641b6 287302008-07-31 Bean <bean123ch@gmail.com>
28731
28732 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28733 GRUB_KERNEL_MACHINE_DATA_END.
28734
59198b72 287352008-07-30 Robert Millan <rmh@aybabtu.com>
28736
28737 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28738 Increase from 0x50 to 0x60.
28739 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28740 use UUIDs to identify the root drive for them. If that's not
28741 possible, abort.
28742 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28743 check, for cross-disk installs.
28744
ae88bca3 287452008-07-30 Robert Millan <rmh@aybabtu.com>
28746
28747 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28748 is non-empty, use it to set the `prefix' environment variable instead
28749 of the usual approach.
28750 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28751 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28752 environment variable instead of dummy make_install_device().
28753
28754 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28755 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 28756 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 28757
28758 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28759 New variable reference.
28760 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28761 New macro. Defines offset of `grub_prefix' within startup.S (relative
28762 to `start').
28763 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28764 section within startup.S (relative to `start').
28765 * include/grub/i386/coreboot/kernel.h: Likewise.
28766
28767 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28768 Overwrite grub_prefix with its contents, at the beginning of the
28769 first segment.
28770 (main): Understand -p|--prefix.
28771
14f41dd1 287722008-07-30 Robert Millan <rmh@aybabtu.com>
28773
28774 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28775
4ca049a3 287762008-07-30 Robert Millan <rmh@aybabtu.com>
28777
28778 * term/i386/pc/vga_text.c (grub_console_cls): Use
28779 grub_console_gotoxy() to go back to beginning of the screen.
28780 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28781
2921d337 287822008-07-29 Christian Franke <franke@computer.org>
28783
28784 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28785 Add conversion of emulated mount points on Cygwin.
28786
b609876d 287872008-07-29 Christian Franke <franke@computer.org>
28788
28789 * util/update-grub.in: Add a check for admin
28790 group on Cygwin.
28791 Remove old `grub.cfg.new' before creation.
28792 Add `-f' to `mv' to handle the different filesystem
28793 semantics of Windows.
28794
e93e4679 287952008-07-29 Bean <bean123ch@gmail.com>
28796
28797 * normal/main.c (get_line): Fix buffer overflow bug.
28798
41694fd0 287992008-07-28 Robert Millan <rmh@aybabtu.com>
28800
28801 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28802 (struct grub_apple_header): New struct. Describes the layout of
28803 the partmap header.
28804 (apple_partition_map_iterate): Check the header magic as well as the
28805 partition magic (which was already being checked).
28806
cfd0b4e6 288072008-07-28 Pavel Roskin <proski@gnu.org>
28808
28809 * genmk.rb: Add a warning to the beginning of the output that
28810 it's a generated file and should not be edited.
28811
93cce016 288122008-07-28 Robert Millan <rmh@aybabtu.com>
28813
28814 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28815 with the same number are found, just use issue a warning with
28816 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 28817
cd1df915 288182008-07-27 Robert Millan <rmh@aybabtu.com>
28819
28820 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28821 information.
28822
b70a8427 288232008-07-27 Bean <bean123ch@gmail.com>
28824
28825 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28826 (grub_fat_find_dir): Ignore case when comparing filename.
28827
8f5e379f 288282008-07-27 Bean <bean123ch@gmail.com>
28829
28830 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28831 smallino, as it's more descriptive, and i8count can be confused with
28832 the other field count.
28833 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28834 inode type.
28835
a85cd5a0 288362008-07-27 Bean <bean123ch@gmail.com>
28837
28838 * commands/crc.c: New file.
28839
28840 * lib/crc.c: Likewise.
28841
28842 * include/grub/lib/crc.h: Likewise.
28843
28844 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28845
28846 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28847 (hexdump): Move this function to ...
28848
28849 * lib/hexdump.c: ... here.
28850
28851 * include/grub/hexdump.h: Renamed to ...
28852
28853 * include/grub/lib/hexdump.h: ... this.
28854
28855 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28856
28857 * util/grub-editenv.c: Likewise.
28858
28859 * include/envblk.h: Renamed to ...
28860
28861 * include/lib/envblk.h: ... this.
28862
28863 * util/envblk.c: Renamed to ...
28864
28865 * lib/envblk.c: ... this.
28866
28867 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28868 lib/hexdump.c.
28869 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28870 (pkglib_MODULES): Add crc.mod.
28871 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28872 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28873 (crc_mod_SOURCES): New macro.
28874 (crc_mod_CFLAGS): Likewise.
28875 (crc_mod_LDFLAGS): Likewise.
28876
28877 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28878
28879 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28880
28881 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28882
28883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28884
28885 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28886
c298def0 288872008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 28888
28889 * commands/help.c: Include <grub/term.h>.
28890 (TERM_WIDTH): Removed. Updated all users.
28891
cc349fb3 288922008-07-27 Pavel Roskin <proski@gnu.org>
28893
28894 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28895 spurious warnings about a comment within a comment.
28896
9051607e 288972008-07-25 Robert Millan <rmh@aybabtu.com>
28898
28899 * util/getroot.c (find_root_device): Skip devices that match
28900 /dev/dm-[0-9]. This lets the real device be found for any type of
28901 abstraction (LVM, EVMS, RAID..).
28902 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28903 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28904 device is found first, find_root_device() will now skip it.
28905
01453bfc 289062008-07-24 Pavel Roskin <proski@gnu.org>
28907
28908 * include/grub/types.h: Use __builtin_bswap32() and
28909 __builtin_bswap64() with gcc 4.3 and newer.
28910
6af9849f 289112008-07-24 Christian Franke <franke@computer.org>
28912
3a0fa256 28913 * util/i386/pc/grub-install.in: If `--debug' is specified,
28914 pass `--verbose' to grub-setup.
28915 Abort script if make_system_path_relative_to_its_root() fails.
28916
7810e747 289172008-07-24 Bean <bean123ch@gmail.com>
28918
28919 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28920 variable `target_platform' should be `platform'.
28921
42290e17 289222008-07-24 Bean <bean123ch@gmail.com>
28923
51cc5193 28924 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 28925 (grub_png_init_fixed_block): New function.
28926 (grub_png_decode_image_data): Handle fixed huffman code compression.
28927
2a8a80e4 289282008-07-24 Bean <bean123ch@gmail.com>
28929
28930 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28931 (grub_pe2elf_SOURCES): New macro.
28932 (CLEANFILES): Add grub-pe2elf.
28933
28934 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28935 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28936 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28937 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28938 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28939 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28940 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28941 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28942 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28943 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28944 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28945 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28946 (GRUB_PE32_DT_FUNCTION): Likewise.
28947 (GRUB_PE32_REL_I386_DIR32): Likewise.
28948 (GRUB_PE32_REL_I386_REL32): Likewise.
28949 (grub_pe32_symbol): New structure.
28950 (grub_pe32_reloc): Likewise.
28951
28952 * util/grub-pe2elf.c: New file.
28953
28954 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28955 start symbol in non pc platform.
28956
28957 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28958
28959 The following patches are from Christian Franke.
28960
28961 * include/grub/dl.h: Remove .previous, gas supports this only
28962 for ELF format.
28963
28964 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28965 Remove .type, gas supports this only for ELF format.
28966
28967 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28968 nullbytes in symbol table. This fixes an infinite loop if table is
28969 zero filled.
28970
28971 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28972 TARGET_IMG_LDFLAGS and EXEEXT.
28973
28974 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28975 TARGET_IMG_LDFLAGS_AC.
28976 (grub_CHECK_STACK_ARG_PROBE): New function.
28977
28978 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28979
28980 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28981
28982 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28983 to set TARGET_IMG_LD* accordingly.
28984 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28985 Add call to grub_CHECK_STACK_ARG_PROBE.
28986 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28987
28988 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28989
28990 * genmk.rb: Add EXEEXT to CLEANFILES.
28991
12ccdb75 289922008-07-23 Robert Millan <rmh@aybabtu.com>
28993
28994 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28995 define the codes for arrows and lines used for the menu).
28996 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28997 as well.
28998
28999 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29000 fonts, because the latter are too slow.
29001
18eeaf04 290022008-07-21 Bean <bean123ch@gmail.com>
29003
29004 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29005 a20. Run keyboard test last, as it will cause macbook to halt.
29006
b095e2ad 290072008-07-18 Pavel Roskin <proski@gnu.org>
29008
29009 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29010 load foreign architecture modules correctly anyway. Keep
29011 support for loading host architecture modules, whether we
29012 compile them or not.
29013
737feb35 290142008-07-17 Pavel Roskin <proski@gnu.org>
29015
3f4ce737 29016 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29017 change target_cpu. The compiler default can mismatch target_cpu
29018 in any case.
29019
4ad2d049 29020 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29021 * kern/efi/efi.c: Likewise.
29022
f6130a12 29023 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29024 target compiler is functional.
29025 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29026 are set up.
29027
58393a2d 29028 * configure.ac: Default to efi platform for x86_64-apple. Allow
29029 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29030 adjustments from the rest, only do them if target is not
29031 explicitly given. Merge other adjustments with the final sanity
29032 check. Remove an extraneous check for supported CPU. Be
29033 specific which CPU and which platform is not supported.
29034
737feb35 29035 * configure.ac: Default to pc platform for x86_64.
29036
546f966a 290372008-07-17 Robert Millan <rmh@aybabtu.com>
29038
29039 Partial LinuxBIOS -> Coreboot rename.
29040
29041 * conf/i386-linuxbios.rmk: Renamed to ...
29042 * conf/i386-coreboot.rmk: ... this.
29043 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29044 * configure.ac: Accept "coreboot" as input platform (but maintain
29045 compatibility with "linuxbios").
29046 * include/grub/i386/linuxbios: Renamed to ...
29047 * include/grub/i386/coreboot: ... this.
29048
20011694 290492008-07-17 Bean <bean123ch@gmail.com>
29050
29051 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 29052 (appleldr_mod_SOURCE): New variable.
20011694 29053 (appleldr_mod_CFLAGS): Likewise.
29054 (appleldr_mod_LDFLAGS): Likewise.
29055 (pci_mod_SOURCES): Likewise.
29056 (pci_mod_CFLAGS): Likewise.
29057 (pci_mod_LDFLAGS): Likewise.
29058 (lspci_mod_SOURCES): Likewise.
29059 (lspci_mod_CFLAGS): Likewise.
29060 (lspci_mod_LDFLAGS): Likewise.
29061
29062 * conf/x86_64-efi.rmk: New file.
29063
29064 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29065 macro.
29066 (grub_efidisk_write): Likewise.
29067
29068 * include/efi/api.h (efi_call_0): New macro.
29069 (efi_call_1): Likewise.
29070 (efi_call_2): Likewise.
29071 (efi_call_3): Likewise.
29072 (efi_call_4): Likewise.
29073 (efi_call_5): Likewise.
29074 (efi_call_6): Likewise.
29075
29076 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29077 grub_rescue_cmd_chainloader.
29078
29079 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29080 (grub_pe32_optional_header): Change some fields based on i386 or
29081 x86_64 platform.
29082 (GRUB_PE32_PE32_MAGIC): Likewise.
29083
29084 * include/grub/efi/uga_draw.h: New file.
29085
29086 * include/grub/elf.h (STN_ABS): New constant.
29087 (R_X86_64_NONE): Relocation constant for x86_64.
29088 (R_X86_64_64): Likewise.
29089 (R_X86_64_PC32): Likewise.
29090 (R_X86_64_GOT32): Likewise.
29091 (R_X86_64_PLT32): Likewise.
29092 (R_X86_64_COPY): Likewise.
29093 (R_X86_64_GLOB_DAT): Likewise.
29094 (R_X86_64_JUMP_SLOT): Likewise.
29095 (R_X86_64_RELATIVE): Likewise.
29096 (R_X86_64_GOTPCREL): Likewise.
29097 (R_X86_64_32): Likewise.
29098 (R_X86_64_32S): Likewise.
29099 (R_X86_64_16): Likewise.
29100 (R_X86_64_PC16): Likewise.
29101 (R_X86_64_8): Likewise.
29102 (R_X86_64_PC8): Likewise.
29103
29104 * include/grub/i386/efi/pci.h: New file.
29105
29106 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29107 Change it value based on platform.
29108 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29109 (GRUB_E820_RAM): Likewise.
29110 (GRUB_E820_RESERVED): Likewise.
29111 (GRUB_E820_ACPI): Likewise.
29112 (GRUB_E820_NVS): Likewise.
29113 (GRUB_E820_EXEC_CODE): Likewise.
29114 (GRUB_E820_MAX_ENTRY): Likewise.
29115 (grub_e820_mmap): New structure.
29116 (linux_kernel_header): Change the efi field according to different
29117 kernel version, also field from linux_kernel_header.
29118
29119 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29120
29121 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29122 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29123 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29124 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29125 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29126 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29127 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29128 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29129 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29130 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29131
29132 * include/grub/x86_64/efi/kernel.h: New file.
29133
29134 * include/grub/x86_64/efi/loader.h: Likewise.
29135
29136 * include/grub/x86_64/efi/machine.h: Likewise.
29137
29138 * include/grub/x86_64/efi/pci.h: Likewise.
29139
29140 * include/grub/x86_64/efi/time.h: Likewise.
29141
29142 * include/grub/x86_64/linux.h: Likewise.
29143
29144 * include/grub/x86_64/setjmp.h: Likewise.
29145
29146 * include/grub/x86_64/time.h: Likewise.
29147
29148 * include/grub/x86_64/types.h: Likewise.
29149
29150 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29151 GRUB_TARGET_SIZEOF_VOID_P.
29152
29153 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29154 (grub_efi_locate_handle): Likewise.
29155 (grub_efi_open_protocol): Likewise.
29156 (grub_efi_set_text_mode): Likewise.
29157 (grub_efi_stall): Likewise.
29158 (grub_exit): Likewise.
29159 (grub_reboot): Likewise.
29160 (grub_halt): Likewise.
29161 (grub_efi_exit_boot_services): Likewise.
29162 (grub_get_rtc): Likewise.
29163
29164 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29165 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29166 (grub_efi_allocate_pages): Wrap efi calls.
29167 (grub_efi_free_pages): Wrap efi calls.
29168 (grub_efi_get_memory_map): Wrap efi calls.
29169
29170 * kern/x86_64/dl.c: New file.
29171
29172 * kern/x86_64/efi/callwrap.S: Likewise.
29173
29174 * kern/x86_64/efi/startup.S: Likewise.
29175
29176 * loader/efi/appleloader.c: Likewise.
29177
29178 * loader/efi/chainloader.c (cmdline): New variable.
29179 (grub_chainloader_unload): Wrap efi calls.
29180 (grub_chainloader_boot): Likewise.
29181 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29182 command line.
29183
29184 * loader/efi/chainloader_normal.c (chainloader_command):
29185 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29186 command line.
29187
29188 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29189 method.
29190 (grub_e820_add_region): New function.
29191 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29192 booting.
29193 (grub_find_video_card): New function.
29194 (grub_linux_setup_video): New function.
29195 (grub_rescue_cmd_linux): Probe for video information.
29196
29197 * normal/x86_64/setjmp.S: New file.
29198
29199 * term/efi/console.c (map_char): New function.
29200 (grub_console_putchar): Map unicode char.
29201 (grub_console_checkkey): Wrap efi calls.
29202 (grub_console_getkey): Likewise.
29203 (grub_console_getwh): Likewise.
29204 (grub_console_gotoxy): Likewise.
29205 (grub_console_cls): Likewise.
29206 (grub_console_setcolorstate): Likewise.
29207 (grub_console_setcursor): Likewise.
29208
29209 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29210
59652a20 292112008-07-16 Pavel Roskin <proski@gnu.org>
29212
ef294055 29213 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29214 format strings.
29215
59652a20 29216 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29217 pointer, not an integer. This fixes a warning and prevents
29218 precision loss on 64-bit systems.
29219 (relocate_addresses): Remove unneeded cast.
29220
afc3b5d7 292212008-07-15 Pavel Roskin <proski@gnu.org>
29222
506b2b3e 29223 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29224
62ead89c 29225 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29226
c4cd51d7 29227 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29228 Fix comparison between signed and unsigned.
29229
0d3d8f28 29230 * include/grub/i386/ieee1275/console.h: Declare
29231 grub_console_init() and grub_console_fini().
29232
8804b286 29233 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29234 It's empty and unused.
29235
ee01cf35 29236 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29237 beginning to avoid warnings with some compilers.
29238
afc3b5d7 29239 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29240 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29241
e4e8eaa5 292422008-07-14 Pavel Roskin <proski@gnu.org>
29243
407aceb4 29244 * kern/env.c (grub_register_variable_hook): Don't copy empty
29245 string, it leaks memory. Pass "" to grub_env_set(), it should
29246 handle constant strings.
29247
e4e8eaa5 29248 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29249 * commands/cmp.c (grub_cmd_cmp): Likewise.
29250 * kern/dl.c (grub_dl_flush_cache): Likewise.
29251 (grub_dl_load_core): Likewise.
29252 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29253 (grub_elf64_load_phdrs): Likewise.
29254
d4e2dad3 292552008-07-13 Pavel Roskin <proski@gnu.org>
29256
29257 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29258 between signed and unsigned.
29259 (LzmaEnc_Finish): Fix warning about an unused parameter.
29260
aa24b516 292612008-07-13 Bean <bean123ch@gmail.com>
29262
29263 * Makefile.in (enable_lzo): New rule.
29264
29265 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29266
29267 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29268
29269 * boot/i386/pc/lnxboot.S: #include <config.h>.
29270
29271 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 29272 its value according to the compression algorithm used, lzo or lzma.
aa24b516 29273
29274 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29275 compression algorithm according to configure macro.
29276
29277 * kern/i386/pc/startup.S (codestart): Likewise.
29278
29279 * kern/i386/pc/lzma_decode.S: New file.
29280
29281 * include/grub/lib/LzFind.h: Likewise.
29282
29283 * include/grub/lib/LzHash.h: Likewise.
29284
29285 * include/grub/lib/LzmaDec.h: Likewise.
29286
29287 * include/grub/lib/LzmaEnc.h: Likewise.
29288
29289 * include/grub/lib/LzmaTypes.h: Likewise.
29290
29291 * lib/LzFind.c: Likewise.
29292
29293 * lib/LzmaDec.c: Likewise.
29294
29295 * lib/LzmaEnc.c: Likewise.
29296
4ae821ac 292972008-07-13 Bean <bean123ch@gmail.com>
29298
29299 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29300 (grub_ext4_extent_header): New structure.
29301 (grub_ext4_extent): Likewise.
29302 (grub_ext4_extent_idx): Likewise.
29303 (grub_ext4_find_leaf): New function.
29304 (grub_ext2_read_block): Handle extents.
29305
9a745147 293062008-07-12 Robert Millan <rmh@aybabtu.com>
29307
29308 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29309
d49a4cf6 293102008-07-11 Robert Millan <rmh@aybabtu.com>
29311
29312 * util/grub.d/40_custom.in: New file. Example on how to add custom
29313 entries to /etc/grub.d.
29314 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29315 40_custom (implicitly, by merging all the grub.d rules).
29316
947414b4 293172008-07-11 Pavel Roskin <proski@gnu.org>
29318
0059cf6f 29319 * commands/read.c (grub_getline): Fix invalid memory access.
29320 Don't add newline to the variable value.
29321
947414b4 29322 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29323 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29324 (serial_hw_get_port): Check validity of the port number.
29325 (grub_cmd_serial): Check return value of serial_hw_get_port().
29326
62a02d00 293272008-07-07 Pavel Roskin <proski@gnu.org>
29328
29329 * boot/i386/pc/diskboot.S (notification_string): Replace
29330 "Loading kernel" with just "loading". This is shorter, less
29331 confusing and saves a few bytes for possible future changes.
29332
3e5581b0 293332008-07-05 Pavel Roskin <proski@gnu.org>
29334
ea387a48 29335 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29336 size for ATAPI devices, they are undefined. Output sector
29337 number in decimal form.
29338
3e5581b0 29339 * disk/ata.c: Use named constants for status bits.
29340
fdecb8fd 293412008-07-04 Pavel Roskin <proski@gnu.org>
29342
bcd35b90 29343 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29344 grub_addr_t before casting it to the void pointer to fix a
29345 warning. Non-addressable regions are discarded earlier.
29346 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29347 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29348 (check_signature): Don't shadow table_header.
29349 (grub_linuxbios_table_iterate): Cast numeric constants to
29350 grub_linuxbios_table_header_t.
29351 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29352 grub_stop().
29353
af58ab3d 29354 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29355 prevent warnings.
29356
1759aa57 29357 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29358 pointer, which can cause warnings. Support 64-bit addresses.
29359
fdecb8fd 29360 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29361 of sizeof(long). This fixes PowerPC image generation on x86_64.
29362
8516d2a8 293632008-07-04 Robert Millan <rmh@aybabtu.com>
29364
29365 This fixes a performance issue when pc & gpt partmap iterators
29366 didn't abort iteration even after our hook found what it was
fe987087 29367 looking for (often causing expensive probes of non-existent drives).
8516d2a8 29368
29369 Some callers relied on previous buggy behaviour, since they would
34c44600 29370 raise an error when their own hooks caused early abortion of its
8516d2a8 29371 iteration.
29372
29373 * kern/device.c (grub_device_open): Improve error message.
29374 * disk/lvm.c (grub_lvm_open): Likewise.
29375 * disk/raid.c (grub_raid_open): Likewise.
29376
29377 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29378 when hook requests it, independently of grub_errno.
29379 (pc_partition_map_probe): Do not fail when find_func() caused
29380 early abortion of pc_partition_map_iterate().
29381
29382 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29383 when hook requests it, independently of grub_errno.
29384 (gpt_partition_map_probe): Do not fail when find_func() caused
29385 early abortion of gpt_partition_map_iterate().
29386
29387 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29388 when hook requests it, independently of grub_errno. Do not fail when
29389 part_map_iterate_hook() caused early abortion of p->iterate().
29390
29391 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29392 when grub_partition_iterate() returned with non-zero.
29393
277d0de9 293942008-07-03 Pavel Roskin <proski@gnu.org>
29395
29396 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29397 like we do in grub_ata_pio_read().
29398 (grub_ata_readwrite): Always write individual sectors. Fix the
29399 sector count for the remainder.
29400 (grub_ata_write): Enable writing to ATA devices. Correctly
29401 report error for ATAPI devices.
29402
d4c9b428 294032008-07-02 Pavel Roskin <proski@gnu.org>
29404
e43fc690 29405 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29406 warning.
29407
f707af42 29408 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29409 for every read sector, we already increment it for the whole
29410 batch. This fixes reading more than 256 sectors at once.
29411
11e16b15 29412 * util/grub-editenv.c (cmd_info): Cast argument to long
29413 explicitly. ptrdiff_t reduces to int on i386.
29414
cbabfdd4 29415 * util/grub-editenv.c (main): Be specific which parameter is
29416 missing.
29417
b8fbce0a 29418 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29419 (memdisk): Make memdisk_orig_addr a pointer.
29420
c9c8e606 29421 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29422 for file offsets, use grub_off_t instead. Fix printf format
29423 warnings.
29424
ca62e598 29425 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29426 there. Real unexpected warnings should not drown in the noise
29427 about known problems.
29428
ce8d1766 29429 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29430 grub_disk_addr_t for memory addresses.
29431
00c7a56a 29432 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29433 explicitly to fix a warning.
29434
08d3ef09 29435 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29436
cb71ba20 29437 * Makefile.in (MODULE_LDFLAGS): New variable.
29438 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29439 the linker accepts --build-id=none.
29440 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29441 MODULE_LDFLAGS.
29442 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29443
d4c9b428 29444 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29445 those in Linux XFS code. Provide a way to access 64-bit parent
29446 inode.
29447 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29448 the end of struct grub_xfs_dir_header.
29449
d4156eee 294502008-07-02 Bean <bean123ch@gmail.com>
29451
29452 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29453 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29454 and GRUB_IEEE1275_FLAG_NO_ANSI.
29455
29456 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29457 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29458 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29459
29460 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29461 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29462
29463 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29464 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29465
29466 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29467 esc sequence on non ANSI terminal.
29468 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29469
29470 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29471 beginning of file.
29472
2270f77b 294732008-07-02 Bean <bean123ch@gmail.com>
29474
29475 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29476 (grub_editenv_SOURCES): New variable.
29477 (pkglib_MODULES): Add loadenv.mod.
29478 (loadenv_mod_SOURCES): New variable.
29479 (loadenv_mod_CFLAGS): Likewise.
29480 (loadenv_mod_LDFLAGS): Likewise.
29481
29482 * include/grub/envblk.h: New file.
29483
29484 * util/envblk.c: New file.
29485
29486 * util/grub-editenv.c: New file.
29487
29488 * commands/loadenv.c: New file.
29489
0e9e51ec 294902008-07-01 Pavel Roskin <proski@gnu.org>
29491
d89b7634 29492 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29493 not unsigned char. This fixes warnings and is consistent with
29494 other tags.
29495
bf1835b1 29496 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29497
8222a04b 29498 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29499
6a42d99d 29500 * term/tparm.c (analyze): Always set *popcount.
29501
10b159d1 29502 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29503 cast to fix a warning.
29504
b8789f6c 29505 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29506 cast to suppress a warning.
29507
29d7e38a 29508 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29509 grub_fshelp_read_file() expects.
29510
f341f669 29511 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29512 write uuid as a 32-bit value in CPU byte order, so declare and
29513 use it as such.
29514
0e9e51ec 29515 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29516 long if the format specifier expects it.
29517 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29518 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29519 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29520 long to fix a warning.
29521 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29522 grub_dprintf() arguments to fix warnings.
29523
3aefa857 295242008-06-30 Pavel Roskin <proski@gnu.org>
29525
56c7668b 29526 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29527 install_bsd_part immediately before core.img is embedded or
29528 modified on disk. This fixes core.img verification if core.img
29529 cannot be embedded.
29530
3aefa857 29531 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29532 core_path to calculate the blocklist.
29533 Patch from Javier Martín <lordhabbit@gmail.com>
29534
5444088d 295352008-06-29 Robert Millan <rmh@aybabtu.com>
29536
29537 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29538 block to disk block.
29539 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29540 Patch from Niels Böhm <bitbucket@arcor.de>
29541
674835c8 295422008-06-29 Robert Millan <rmh@aybabtu.com>
29543
29544 * util/update-grub_lib.in (font_path): Search for fonts in
29545 /boot/grub first, which is more likely to be readable (we aren't
29546 deciding where fonts live, just looking for them).
29547
f527dbc8 295482008-06-26 Pavel Roskin <proski@gnu.org>
29549
6c2d8df6 29550 * util/biosdisk.c (read_device_map): Don't leave dead map
29551 entries for devices failing stat() check.
29552
f527dbc8 29553 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29554 core_path_dev for the core.img path on the target device.
29555
aebe3d13 295562008-06-26 Robert Millan <rmh@aybabtu.com>
29557
29558 * disk/fs_uuid.c: New file.
29559 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29560 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29561 (fs_uuid_mod_LDFLAGS): New variables.
29562 * include/grub/disk.h (grub_disk_dev_id): Add
29563 `GRUB_DISK_DEVICE_UUID_ID'.
29564 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29565 implement iterate().
29566
37aaf354 295672008-06-26 Robert Millan <rmh@aybabtu.com>
29568
29569 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29570 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29571 Linux image includes no initrd.
29572
25ff262a 295732008-06-21 Javier Martín <lordhabbit@gmail.com>
29574
29575 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29576 call to resolve the core image location that effectively appended the
29577 name twice.
29578
76a2bd44 295792008-06-21 Robert Millan <rmh@aybabtu.com>
29580
29581 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29582 call from here ...
29583
29584 * util/grub.d/10_hurd.in: ... to here ...
29585 * util/grub.d/10_linux.in: ... and here.
29586
650e1c79 295872008-06-19 Robert Millan <rmh@aybabtu.com>
29588
fe987087 29589 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 29590 after it has been set by grub_machine_set_prefix().
29591
6ce63911 295922008-06-19 Robert Millan <rmh@aybabtu.com>
29593
29594 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29595 search result when not saving to variable, not the other way around.
29596 When saving to variable, abort iteration as soon as a match is found.
29597
73940cec 295982008-06-19 Robert Millan <rmh@aybabtu.com>
29599
29600 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29601 check for partition that provides /boot/grub. Its logic is flawed,
29602 as it prevents prepare_grub_to_access_device() from being called
29603 multiple times.
29604
3c62a39d 296052008-06-19 Robert Millan <rmh@aybabtu.com>
29606
29607 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29608 "insmod" command directly when abstraction modules are needed,
fe987087 29609 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 29610 since it had already been processed).
29611
47395a42 296122008-06-19 Pavel Roskin <proski@gnu.org>
29613
29614 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29615 changed. This is needed in case GRUB_LIBDIR changes.
29616 * conf/i386-ieee1275.rmk: Likewise.
29617 * conf/i386-linuxbios.rmk: Likewise.
29618 * conf/i386-pc.rmk: Likewise.
29619 * conf/powerpc-ieee1275.rmk: Likewise.
29620
a145ac2d 296212008-06-18 Pavel Roskin <proski@gnu.org>
29622
29623 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29624 kernel_elf_symlist.c to symlist.c for consistency with other
29625 architectures. Update all users.
29626 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29627
7847c51e 296282008-06-18 Robert Millan <rmh@aybabtu.com>
29629
29630 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29631 it in prefix.
29632
29633 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29634 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29635 a RAID device, run setup() for all members independently on whether
29636 LVM abstraction is being used.
29637 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29638 If grub-mkimage has set `*install_dos_part == -2', don't override this
29639 value.
29640 Perform *install_dos_part adjustments independently on whether
29641 we're embedding or not.
29642 Clarify error message when image is too big for embedding.
29643 Remove duplicate *install_dos_part stanza.
29644
b23e5644 296452008-06-17 Robert Millan <rmh@aybabtu.com>
29646
29647 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29648 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29649 variables.
29650 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29651 values in grub_ofconsole_normal_color and
29652 grub_ofconsole_highlight_color (they're not directly related to
29653 background and foreground).
29654 (grub_ofconsole_setcolorstate): Extract background and foreground
29655 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29656
0aac2f79 296572008-06-17 Robert Millan <rmh@aybabtu.com>
29658
29659 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29660 /boot/grub for the check in last commit, not /boot (they could be
29661 different partitions).
29662
3cca7ef3 296632008-06-16 Robert Millan <rmh@aybabtu.com>
29664
29665 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29666 asked to setup access for the same partition that provides /boot,
29667 don't bother using UUIDs since our root already has the value we
29668 want.
29669
347396d8 296702008-06-16 Robert Millan <rmh@aybabtu.com>
29671
29672 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29673 I2O devices.
29674 Patch from Sven Mueller <sven@debian.org>.
29675
991477f8 296762008-06-16 Robert Millan <rmh@aybabtu.com>
29677
29678 * util/update-grub.in: Check for $EUID instead of $UID.
29679 Reported by Vincent Zweije.
29680
d31a32a1 296812008-06-16 Bean <bean123ch@gmail.com>
29682
fe987087 29683 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 29684 (grub_ext2_read_block): Likewise.
29685 (grub_ext2_read_inode): Likewise.
29686 (grub_ext2_mount): Likewise.
29687 (grub_ext2_close): Likewise.
29688 (grub_ext3_get_journal): Removed.
29689
fe987087 29690 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 29691 (grub_reiserfs_read_symlink): Likewise.
29692 (grub_reiserfs_mount): Likewise.
29693 (grub_reiserfs_open): Likewise.
29694 (grub_reiserfs_read): Likewise.
29695 (grub_reiserfs_close): Likewise.
29696 (grub_reiserfs_get_journal): Removed.
29697
29698 * fs/fshelp.c (grub_fshelp_read): Removed.
29699 (grub_fshelp_map_block): Likewise.
29700
29701 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29702 (grub_fshelp_journal): Likewise.
29703 (grub_fshelp_read): Likewise.
29704 (grub_fshelp_map_block): Likewise.
29705
3540a760 297062008-06-16 Pavel Roskin <proski@gnu.org>
29707
29708 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29709 floating point anymore.
29710 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29711
95614c84 297122008-06-15 Pavel Roskin <proski@gnu.org>
29713
29714 * commands/ls.c (grub_ls_list_files): Use integer calculations
29715 for human readable format, avoid floating point use.
29716 * kern/misc.c (grub_ftoa): Remove.
29717 (grub_vsprintf): Remove floating point support.
29718
50465dd6 297192008-06-15 Robert Millan <rmh@aybabtu.com>
29720
fe6b695a 29721 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 29722 devices.
29723 Reported by Max Vozeler.
29724
a9207284 297252008-06-15 Robert Millan <rmh@aybabtu.com>
29726
29727 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29728 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29729 skipped later.
29730 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29731 the beginning of the prefix.
29732
29733 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29734 It is assumed that if we have a memdisk, grub-mkimage has set
29735 grub_prefix to include the "(memdisk)" drive in it.
29736
a7cbd45a 297372008-06-15 Robert Millan <rmh@aybabtu.com>
29738
29739 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29740 Initialize keyboard controller after registering the terminal, so that
29741 grub_printf() can be called from grub_keyboard_controller_init().
29742
21cf716a 297432008-06-15 Robert Millan <rmh@aybabtu.com>
29744
29745 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29746 extent-btree which is written as big endian on disk.
29747 Reported by Alain Greppin <al@chilibi.org>.
29748
23a64d8e 297492008-06-14 Robert Millan <rmh@aybabtu.com>
29750
29751 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29752 * util/i386/pc/grub-install.in (modules): Likewise.
29753
d687651c 297542008-06-13 Pavel Roskin <proski@gnu.org>
29755
29756 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29757
dfe9ddd4 297582008-06-13 Bean <bean123ch@gmail.com>
29759
29760 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29761
29762 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29763
29764 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29765 to indicate sparse block.
29766
16ae7781 297672008-06-12 Pavel Roskin <proski@gnu.org>
29768
e6d1a308 29769 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29770 number, grub_fshelp_read() does it for us.
29771
16ae7781 29772 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29773 linear disk read with journal translation.
29774 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29775 * include/grub/fshelp.h: Declare grub_fshelp_read().
29776
40fd3a2b 297772008-06-09 Pavel Roskin <proski@gnu.org>
29778
29779 * fs/minix.c (grub_minix_mount): Handle error reading
29780 superblock.
29781
f5679726 297822008-06-08 Robert Millan <rmh@aybabtu.com>
29783
29784 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29785 don't append the RAID prefix afterwards.
29786 Reported by Clint Adams.
29787
ce525529 297882008-06-08 Robert Millan <rmh@aybabtu.com>
29789
29790 Based on description from Pavel:
29791 * kern/disk.c (grub_disk_check_range): Rename to ...
29792 (grub_disk_adjust_range): ... this. Add a comment explaining the
29793 tasks performed by this function.
29794
ad4936a0 297952008-06-08 Robert Millan <rmh@aybabtu.com>
29796
29797 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29798 `num_serial' (for consistency with other variables).
29799 (struct grub_ntfs_data): Add `uuid' member.
29800 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29801 (grub_ntfs_uuid): New function.
29802 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29803
dc20b0f9 298042008-06-07 Pavel Roskin <proski@gnu.org>
29805
29806 * util/biosdisk.c (open_device): Revert last change to the
29807 function, it broke installation. The sector needs to be
29808 different dependent on which device is opened.
29809
c5e3cfba 298102008-06-06 Robert Millan <rmh@aybabtu.com>
29811
29812 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29813 rest of GRUB, and breakage doesn't happen if its value were modified.
29814
29815 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29816 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29817 a constant (same value).
29818 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29819 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29820
26a1f8c4 298212008-06-06 Robert Millan <rmh@aybabtu.com>
29822
29823 * util/biosdisk.c (open_device): Do not modify sector offset when
29824 accessing a partition. kern/disk.c already handles this for us.
29825
25d6b327 298262008-06-06 Robert Millan <rmh@aybabtu.com>
29827
29828 * util/grub-emu.c (grub_machine_init): Move code in this function from
29829 here ...
29830 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29831 segfault in case grub_printf() is called).
29832
29833 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29834 grub_probe. Update all users not to explicitly add it again.
29835 (grub_device): New variable; contains corresponding device for grubdir.
29836 (fs_module, partmap_module, devabstraction_module): Pass
29837 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29838 every time.
29839
9ece62fb 298402008-06-05 Robert Millan <rmh@aybabtu.com>
29841
29842 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29843 is found, print it (same layout as with labels).
29844
1ad36d37 298452008-06-04 Robert Millan <rmh@aybabtu.com>
29846
29847 * util/biosdisk.c (get_drive): Rename to ...
29848 (find_grub_drive): ... this. Update all users.
29849
29850 (get_os_disk): Rename to ...
29851 (convert_system_partition_to_system_disk): ... this. Update all users.
29852
29853 (find_drive): Rename to ...
29854 (find_system_device): ... this. Update all users.
29855
e6a30859 298562008-06-04 Robert Millan <rmh@aybabtu.com>
29857
29858 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29859 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29860 (make_device_map): Likewise.
29861
00c108a4 298622008-06-01 Robert Millan <rmh@aybabtu.com>
29863
29864 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29865 before dereferencing it.
29866
29867 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29868 union with fat12/fat16-specific ones. Add some new fields, including
29869 `num_serial' for both versions.
29870 (struct grub_fat_data): Add `uuid' member.
29871 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29872 names. Initialize `data->uuid' using `num_serial'.
29873 (grub_fat_uuid): New function.
29874 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29875
29876 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29877 (grub_reiserfs_uuid): New function.
29878 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29879 member.
29880
29881 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29882 (grub_xfs_uuid): New function.
29883 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29884
1385c5bb 298852008-06-01 Robert Millan <rmh@aybabtu.com>
29886
29887 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29888 code that is backward compatible with pre-uuid search command.
29889
c682dfd7 298902008-05-31 Robert Millan <rmh@aybabtu.com>
29891
29892 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29893 floppies after everything else, to ensure floppy drive isn't accessed
29894 unnecessarily (patch from Bean).
29895
b7db5d47 298962008-05-31 Robert Millan <rmh@aybabtu.com>
29897
29898 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29899 not print device names when we were asked to set a variable.
29900
6e037aa9 299012008-05-31 Robert Millan <rmh@aybabtu.com>
29902
29903 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29904 using "cursor-on" and "cursor-off" commands (understood at least by
29905 the Open Firmware flavour on OLPC).
29906
41305bc8 299072008-05-31 Michael Gorven <michael@gorven.za.net>
29908
29909 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29910 on and off sequences.
29911
69ba137e 299122008-05-31 Robert Millan <rmh@aybabtu.com>
29913
29914 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29915 * util/update-grub.in: Likewise.
29916
520ae21b 299172008-05-30 Pavel Roskin <proski@gnu.org>
29918
29919 * util/biosdisk.c (linux_find_partition): Simplify logic and
29920 make the code more universal. Keep special processing for
29921 devfs, but use a simple rule for all other devices. If the
29922 device ends with a number, append 'p' and the partition number.
29923 Otherwise, append only the partition number.
29924
5786569b 299252008-05-30 Robert Millan <rmh@aybabtu.com>
29926
29927 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29928 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29929 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29930 the `root' parameter to Linux.
29931
51500452 299322008-05-30 Robert Millan <rmh@aybabtu.com>
29933
29934 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29935 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29936 --fs_uuid with --fs-uuid.
29937 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29938 all filesystems support them).
29939
811d3878 299402008-05-30 Robert Millan <rmh@aybabtu.com>
29941
29942 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 29943 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 29944
cab63c95 299452008-05-30 Robert Millan <rmh@aybabtu.com>
29946
29947 * util/grub.d/00_header.in: Remove obsolete comment referencing
29948 convert_system_path_to_grub_path().
29949 * util/update-grub.in: Likewise.
29950 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29951 (convert_system_path_to_grub_path): Add a warning message explaining
29952 that this function is deprecated. Rely on is_path_readable_by_grub()
29953 for the readability checks.
29954 (font_path): Use is_path_readable_by_grub() for the readability
29955 check rather than convert_system_path_to_grub_path().
29956
972e2f7a 299572008-05-30 Robert Millan <rmh@aybabtu.com>
29958
29959 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29960 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29961 converting it first.
29962 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29963 grub.cfg for access to font file, and afterwards call it again to set
29964 the root device.
29965
62191274 299662008-05-30 Robert Millan <rmh@aybabtu.com>
29967
29968 * commands/search.c (options): Add --fs_uuid option.
29969 (search_fs_uuid): New function.
29970 (grub_cmd_search): Fix --set argument passing.
29971 Use search_fs_uuid() when requested via --fs_uuid.
29972 (grub_search_init): Update help message.
29973 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29974 and redeclare it as an array of 16-bit words.
29975 (grub_ext2_uuid): New function.
29976 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29977 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29978 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29979 (GRUB_DEVICE_BOOT_UUID): New variables.
29980 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29981 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29982 whenever possible.
29983 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29984 just assume `root' variable has the right value.
29985 * util/grub.d/10_linux.in: Likewise.
29986 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29987 via PRINT_FS_UUID.
29988 (main): Recognise `-t fs_uuid' argument.
29989
01b73ec8 299902008-05-30 Robert Millan <rmh@aybabtu.com>
29991
29992 * util/biosdisk.c (map): Redefine structure to hold information
29993 about GRUB drive name.
fe6b695a 29994 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 29995 drive names.
29996 (call_hook): Remove.
29997 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29998 member. Assume drive has partitions.
29999 (grub_util_biosdisk_open): Access device names via `.device' struct
30000 member.
30001 (open_device): Likewise.
30002 (find_drive): Likewise.
30003 (read_device_map): Adjust map[] usage to match the new struct
30004 definition. Don't check for duplicates (still possible, but not cheap
30005 anymore).
30006 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30007 (make_device_name): Remove assumption of BIOS-like drive names.
30008
22f16596 300092008-05-30 Pavel Roskin <proski@gnu.org>
30010
30011 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30012 compiling execute.c doesn't need grub_script.tab.h anymore.
30013 (normal/command.c_DEPENDENCIES): Likewise.
30014 (normal/function.c_DEPENDENCIES): Likewise.
30015 * conf/i386-ieee1275.rmk: Likewise.
30016 * conf/i386-linuxbios.rmk: Likewise.
30017 * conf/i386-pc.rmk: Likewise.
30018 * conf/powerpc-ieee1275.rmk: Likewise.
30019 * conf/sparc64-ieee1275.rmk: Likewise.
30020
528ad8f2 300212008-05-29 Pavel Roskin <proski@gnu.org>
30022
d1dff95d 30023 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30024 when scanning metadata for volume group name.
30025
528ad8f2 30026 * include/grub/script.h: Don't include grub_script.tab.h. It's
30027 a generated file, which may only be included from the files with
30028 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30029 use union YYSTYPE, as the later allows forward declaration.
30030 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30031
47248e08 300322008-05-29 Robert Millan <rmh@aybabtu.com>
30033
30034 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30035 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30036 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30037 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30038 scan codes.
30039
ee632529 300402008-05-29 Robert Millan <rmh@aybabtu.com>
30041
30042 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30043 control key combinations.
30044
eee96e08 300452008-05-29 Robert Millan <rmh@aybabtu.com>
30046
30047 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30048 * util/ieee1275/grub-install.in: ... to here.
30049 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30050 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30051 (grub_install_SOURCES): Likewise.
30052
da9a6a94 300532008-05-29 Robert Millan <rmh@aybabtu.com>
30054
30055 * fs/affs.c: Update copyright year.
30056 * fs/ext2.c: Likewise.
30057 * fs/fshelp.c: Likewise.
30058 * fs/hfsplus.c: Likewise.
30059 * fs/ntfs.c: Likewise.
30060 * fs/xfs.c: Likewise.
30061 * include/grub/fshelp.h: Likewise.
30062 * util/grub-mkdevicemap.c: Likewise.
30063
12e65f3a 300642008-05-28 Robert Millan <rmh@aybabtu.com>
30065
30066 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30067 might need to be fatfs to support some firmware implementations
30068 (e.g. OFW or EFI).
30069
23023641 300702008-05-28 Robert Millan <rmh@aybabtu.com>
30071
30072 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30073 devices.
30074 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30075 (make_device_map): Likewise.
30076
887d2619 300772008-05-20 Bean <bean123ch@gmail.com>
30078
30079 * fs/fshelp.c (grub_fshelp_map_block): New function.
30080 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30081 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30082
30083 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30084 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30085 (grub_fshelp_journal): New structure.
30086 (grub_fshelp_map_block): New function prototype.
30087 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30088 (grub_fshelp_map_block): Likewise.
30089
30090 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30091 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30092 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30093 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30094 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30095 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30096 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30097 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30098 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30099 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30100 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30101 (grub_ext2_sblock): New members for journal support.
30102 (grub_ext3_journal_header): New structure.
30103 (grub_ext3_journal_revoke_header): Likewise.
30104 (grub_ext3_journal_block_tag): Likewise.
30105 (grub_ext3_journal_sblock): Likewise.
30106 (grub_fshelp_node): New members logfile and journal.
30107 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30108 grub_fshelp_map_block to get real block number.
30109 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30110 number.
30111 (grub_ext2_read_inode): Likewise.
30112 (grub_ext3_get_journal): New function.
30113 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30114 (grub_ext2_close): Release memory used by journal.
30115
30116 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30117 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30118 (grub_reiserfs_transaction_header): Renamed to
30119 grub_reiserfs_description_block, replace field data with real_blocks.
30120 (grub_reiserfs_commit_block): New structure.
30121 (grub_reiserfs_data): New member journal.
30122 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30123 number.
30124 (grub_reiserfs_read_symlink): Likewise.
30125 (grub_reiserfs_iterate_dir): Likewise.
30126 (grub_reiserfs_open): Likewise.
30127 (grub_reiserfs_read): Likewise.
30128 (grub_reiserfs_get_journal): New function.
30129 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30130 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30131 using grub_reiserfs_get_journal.
30132 (grub_reiserfs_close): Release memory used by journal.
30133
30134 * fs/affs.c (grub_affs_read_block): Change block type to
30135 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30136
30137 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30138
30139 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30140
30141 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30142
30143 * fs/udf.c (grub_udf_read_block): Change block type to
30144 grub_disk_addr_t. Use type cast to avoid warning.
30145
30146 * fs/xfs.c (grub_xfs_read_block): Likewise.
30147
b7c6bed5 301482008-05-16 Christian Franke <franke@computer.org>
30149
30150 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30151 to ensure that break with ESC will always work.
30152 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30153 Remove ESC from keyboard queue.
30154
eedf167f 301552008-05-16 Christian Franke <franke@computer.org>
30156
30157 * util/biosdisk.c: [__CYGWIN__] Add includes.
30158 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30159 (get_os_disk): Move variable declarations to OS specific
30160 parts to avoid warning.
30161 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30162 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30163 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30164 Cygwin.
30165 * util/getroot.c: [__CYGWIN__] Add includes.
30166 (strip_extra_slashes): Fix "/" case.
30167 [__CYGWIN__] (get_win32_path): New function.
30168 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30169 [__CYGWIN__] (find_root_device): Disable.
30170 [__CYGWIN__] (get_bootsec_serial): New function.
30171 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30172 [__linux__] (grub_guess_root_device): Add early returns to simplify
30173 structure.
30174 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30175 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30176 check for Linux only.
30177
a079699e 301782008-05-15 Bean <bean123ch@gmail.com>
30179
30180 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30181 keyboard hang problem in apple's intel mac.
30182
1cf4059a 301832008-05-09 Robert Millan <rmh@aybabtu.com>
30184
30185 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30186 devices.
30187 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30188 (make_device_map): Likewise.
30189 Reported by Aurelien Jarno <aurel32@debian.org>
30190
ed759390 301912008-05-07 Ian Campbell <ijc@hellion.org.uk>
30192
30193 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30194 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30195 (make_device_map): Output entries for xvd type disks.
30196
b56c4eaa 301972008-05-07 Robert Millan <rmh@aybabtu.com>
30198
30199 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30200 devices.
30201 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30202 (make_device_map): Likewise.
30203 Reported by Roland Dreier <rdreier@cisco.com>
30204
7f8866ed 302052008-05-07 Robert Millan <rmh@aybabtu.com>
30206
30207 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30208 grub_strstr() call. Correct a few mistakes in failure path handling.
30209
b0346e0f 302102008-05-06 Robert Millan <rmh@aybabtu.com>
30211
30212 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30213 Do not print a trailing slash (therefore, the root directory is an
30214 empty string).
30215 (convert_system_path_to_grub_path): Do not remove trailing slash
30216 from make_system_path_relative_to_its_root() output.
30217
30218 * util/i386/pc/grub-install.in: Add trailing slash to output from
30219 make_system_path_relative_to_its_root().
30220
6cf12cbd 302212008-05-06 Robert Millan <rmh@aybabtu.com>
30222
30223 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30224 ensures that output lines aren't intermangled with those sent to
30225 stderr (via grub_util_info()).
30226 * util/grub-probe.c (grub_refresh): Likewise.
30227 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30228
0fbb3117 302292008-05-05 Christian Franke <franke@computer.org>
30230
30231 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30232 Add Cygwin device names.
30233 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30234 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30235 (check_device): Return error instead of success on empty name.
30236 (make_device_map): Move label inside linux specific code to
30237 prevent compiler warning.
30238
8124cdb7 302392008-04-30 Robert Millan <rmh@aybabtu.com>
30240
30241 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30242 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30243 first boot option.
30244 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30245
094c01d0 302462008-04-29 Robert Millan <rmh@aybabtu.com>
30247
30248 * docs/grub.cfg: New file (example GRUB configuration).
30249
f4b1fc02 302502008-04-26 Robert Millan <rmh@aybabtu.com>
30251
329ce2a5 30252 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30253 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30254 and `disk/ieee1275/nand.c'.
f4b1fc02 30255
25f16ec1 302562008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 30257
25f16ec1 30258 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30259 i386-linuxbios.
30260
30261 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30262 change the buffer size to 4096 for cdrom device.
30263
30264 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30265 and nand.mod.
30266 (_linux_mod_SOURCES): New variable.
30267 (_linux_mod_CFLAGS): Likewise.
30268 (_linux_mod_LDFLAGS): Likewise.
30269 (linux_mod_SOURCES): Likewise.
30270 (linux_mod_CFLAGS): Likewise.
30271 (linux_mod_LDFLAGS): Likewise.
30272 (nand_mod_SOURCES): Likewise.
30273 (nand_mod_CFLAGS): Likewise.
30274 (nand_mod_LDFLAGS): Likewise.
30275
30276 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30277 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30278 type property. (nand device in olpc don't have this property)
30279
30280 * include/grub/disk.h (grub_disk_dev_id): New macro
30281 GRUB_DISK_DEVICE_NAND_ID.
30282
30283 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30284 function prototype.
30285 (grub_rescue_cmd_initrd): Likewise.
30286
30287 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30288 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30289 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 30290
25f16ec1 30291 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30292 GRUB_MACHINE_IEEE1275 is defined.
30293
30294 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30295 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30296
30297 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30298 on nested function heap_init.
30299 (grub_upper_mem): New variable for i386-ieee1275.
30300 (grub_get_extended_memory): New function for i386-ieee1275.
30301 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30302
30303 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30304 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30305 property.
f19dbdb7 30306
25f16ec1 30307 * loader/i386/ieee1275/linux.c: New file.
30308
30309 * loader/i386/ieee1275/linux_normal.c: New file.
30310
30311 * disk/ieee1275/nand.c: New file.
30312
e89d61e9 303132008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30314
30315 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30316 value.
30317 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30318
602566f6 303192008-04-18 Robert Millan <rmh@aybabtu.com>
30320
30321 Restructures early code path on ieee1275 to unify grub_main() as
30322 the first C function that is executed in every platform.
30323
30324 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30325 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30326 cmain().
30327 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30328 * kern/ieee1275/cmain.c (cmain): Rename to ...
30329 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30330 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30331 at the beginning.
30332
57490c2b 303332008-04-18 Robert Millan <rmh@aybabtu.com>
30334
30335 * util/update-grub.in: Fix syntax error when setting
30336 `GRUB_PRELOAD_MODULES'.
30337 Reported by Stephane Chazelas <stephane@artesyncp.com>
30338
1977517d 303392008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30340
30341 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30342 section into account, newer toolchains generate unique build ids
30343 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 30344 we want build ids to be preserved
1977517d 30345 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30346 far from other sections don't cause the raw binary images grow
30347 size
30348
bfb1f1a2 303492008-04-15 Robert Millan <rmh@aybabtu.com>
30350
30351 * disk/lvm.c: Update copyright year.
30352 * kern/misc.c: Likewise.
30353
01979850 303542008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30355
30356 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 30357 there is no memory left for physical volume name.
01979850 30358
0a1150e2 303592008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30360
30361 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30362 volume name mapping to support bigger than 9 character names properly.
30363
82ead3fe 303642008-04-13 Robert Millan <rmh@aybabtu.com>
30365
30366 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30367 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30368
e54a72f5 303692008-04-13 Christian Franke <franke@computer.org>
30370
30371 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30372 to create a floppy emulation boot CD when non emulation mode
30373 does not work.
30374 Enable Joliet CD filesystem extension.
30375
9fe86034 303762008-04-13 Robert Millan <rmh@aybabtu.com>
30377
30378 * kern/misc.c (grub_strncat): Fix off-by-one error.
30379 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30380
30381 * kern/env.c (grub_env_context_close): Clear current context, not
30382 previous one.
30383 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30384
30385 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30386
7ceeee39 303872008-04-13 Robert Millan <rmh@aybabtu.com>
30388
30389 Improve robustness when handling LVM.
30390
30391 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 30392 (and leave `*p' unmodified).
7ceeee39 30393 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30394 through it.
30395 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30396 iterating through it.
30397 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30398 through it.
fe6b695a 30399 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30400 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30401 Don't assume `vg->pvs != NULL' when iterating through it.
30402
58cd3d85 304032008-04-13 Robert Millan <rmh@aybabtu.com>
30404
30405 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30406 * genmk.rb (partmap): New variable.
30407 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30408 (#{partmap}): New target rule.
30409 * genpartmaplist.sh: New file.
30410 * Makefile.in (pkglib_DATA): Add partmap.lst.
30411 (partmap.lst): New target rule.
30412 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30413 modules (including all partition maps), instead of preloading them.
30414
78b51059 304152007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30416
30417 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30418 `linux-boot-prober' (if installed) to detect other operating
30419 systems which are installed on the computer and add them to
30420 the boot menu.
30421 * conf/common.rmk: Build and install 30_os-prober.
30422
a91627b4 304232008-04-12 Robert Millan <rmh@aybabtu.com>
30424
30425 * kern/powerpc/ieee1275/init.c: Move from here ...
30426 * kern/ieee1275/init.c: ... to here. Update all users.
30427
30428 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30429 * kern/ieee1275/cmain.c: ... to here. Update all users.
30430
30431 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30432 * kern/ieee1275/openfw.c: ... to here. Update all users.
30433
30434 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30435 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30436
322562ea 304372008-04-10 Pavel Roskin <proski@gnu.org>
30438
30439 * configure.ac: Always use "_cv_" in cache variables for
30440 compatibility with Autoconf 2.62.
30441
a02a73c5 304422008-04-07 Robert Millan <rmh@aybabtu.com>
30443
30444 Revert grub/machine/init.h addition by Pavel (since it breaks on
30445 i386-ieee1275 and others):
30446 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30447 * util/powerpc/ieee1275/misc.c: Likewise.
30448
25c024b1 304492008-04-07 Robert Millan <rmh@aybabtu.com>
30450
30451 * util/grub-probe.c (probe): Improve error message.
30452
3cbd2f98 304532008-04-07 Robert Millan <rmh@aybabtu.com>
30454
30455 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30456 (this prevents the presence of a bogus entry from ruining the whole
30457 thing).
30458
87a297bf 304592008-04-06 Pavel Roskin <proski@gnu.org>
30460
36747a62 30461 * util/biosdisk.c: Include grub/util/biosdisk.h.
30462 * util/grub-fstest.c (execute_command): Make static.
30463 * util/grub-mkdevicemap.c (check_device): Likewise.
30464 * util/i386/pc/misc.c: Include grub/machine/init.h.
30465 * util/powerpc/ieee1275/misc.c: Likewise.
30466 * util/lvm.c: Include grub/util/lvm.h.
30467 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30468 grub/cache.h.
30469 * util/raid.c: Include grub/util/raid.h.
30470 (grub_util_getdiskname): Make static.
30471
87a297bf 30472 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30473 grub_hostfs_fini(), as they are called from grub_init_all() and
30474 grub_fini_all() respectively. This fixes an infinite loop in
30475 grub-fstest due to double registration of hostfs.
30476 Reported by Christian Franke <Christian.Franke@t-online.de>
30477
f6ce7629 304782008-04-05 Pavel Roskin <proski@gnu.org>
30479
30480 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30481 all 8 functions. Otherwise, probe function 0 only.
30482
070e49e4 304832008-04-04 Pavel Roskin <proski@gnu.org>
30484
8b088a4c 30485 * commands/lspci.c (grub_lspci_iter): Print the bus number
30486 correctly.
30487
4f657021 30488 * commands/lspci.c (grub_pci_classes): Fix typos.
30489 (grub_lspci_iter): Don't print func twice. Print vendor ID
30490 before device ID, as it's normally done.
30491
070e49e4 30492 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30493 Fix signedness warnings.
30494 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30495 Likewise.
30496 * util/ieee1275/get_disk_name.c: Include config.h so that
30497 _GNU_SOURCE is defined and getline() is declared. Mark an
30498 unused argument as such. Fix a signedness warning.
30499
ba7328dc 305002008-04-02 Pavel Roskin <proski@gnu.org>
30501
26887f22 30502 * genkernsyms.sh.in: Use more robust assignments for CC and
30503 srcdir. Quote srcdir.
30504 * gensymlist.sh.in: Likewise. Assert at the compile time that
30505 the symbol table is not empty.
30506
ba7328dc 30507 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30508 * fs/cpio.c (grub_cpio_read): Likewise.
30509
0f582c6b 305102008-04-01 Pavel Roskin <proski@gnu.org>
30511
4b6e1995 30512 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30513 * disk/host.c (grub_host_open): Likewise.
30514 * disk/loopback.c (grub_loopback_open): Likewise.
30515 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30516 disk->id as in disk/host.c, not a multi-character constant.
30517
828a2768 30518 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30519 later is obsolete, potentially dangerous and sets a bad example.
30520 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30521 * util/misc.c (grub_util_get_image_size): Likewise.
30522
2bb4fb47 30523 * disk/loopback.c (options): Improve help for "--partitions".
30524
0f582c6b 30525 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30526 options to align them with the short options, e.g. "echo -e".
30527
a33224e0 305282008-03-31 Bean <bean123ch@gmail.com>
30529
30530 * video/reader/png.c (grub_png_data): New member is_16bit and
30531 image_data.
30532 (grub_png_decode_image_header): Detect 16 bit png image.
30533 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30534 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30535 (grub_video_reader_png): Release memory occupied by image_data.
30536
30537 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30538 4096 bytes.
30539 (grub_nfs_mount): Skip the test for sector per cluster.
30540
30541 * include/grub/ntfs.h (MAX_SPC): Removed.
30542
86cb4f54 305432008-03-31 Bean <bean123ch@gmail.com>
30544
30545 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30546 (grub_probe_SOURCES): Add fs/afs.c.
30547 (grub_fstest_SOURCES): Likewise.
30548 (afs_mod_SOURCES): New variable.
30549 (afs_mod_CFLAGS): Likewise.
30550 (afs_mod_LDFLAGS): Likewise.
30551
30552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30553 (grub_emu_SOURCES): Likewise.
30554
30555 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30556
30557 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30558
30559 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30560
30561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30562
30563 * fs/afs.c: New file.
30564
17c74c21 305652008-03-30 Pavel Roskin <proski@gnu.org>
30566
4cb68e89 30567 * disk/host.c: Include grub/misc.h to fix a warning.
30568 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30569 warnings about implicit declarations.
30570
8790bb04 30571 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30572 variable.
30573 * include/grub/i386/loader.h: Change declaration of
30574 grub_linux_boot() to match what grub_loader_set() expects.
30575 * util/getroot.c (grub_guess_root_device): Return const char* to
30576 fix a warning.
30577 * util/grub-probe.c (probe): Fix a warning about uninitialized
30578 abstraction_name variable.
30579 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30580 second argument as unused to fix a warning.
30581
9a3f3296 30582 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30583 missing grub_error() call.
30584
0ecef90d 30585 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30586 2.60 and newer uses it to define datadir.
30587
0bf6d401 30588 * commands/sleep.c: Fix warning about implicit declaration.
30589 * disk/memdisk.c: Likewise.
30590 * loader/aout.c: Likewise.
30591 * loader/i386/bsd_normal.c: Likewise.
30592 * util/grub-probe.c: Likewise.
30593
7cdacf97 30594 * commands/i386/cpuid.c (has_longmode): Make static.
30595 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30596 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30597
17c74c21 30598 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30599 GDT. This is more robust, as %ds can change.
30600 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30601 calling real_to_prot().
30602 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30603
80a3e68b 306042008-03-28 Pavel Roskin <proski@gnu.org>
30605
30606 * kern/i386/pc/startup.S: Assert that uncompressed functions
30607 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30608 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30609 code, as they push parts of the code (error handlers) beyond
30610 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30611 code as correctness and size.
30612
77bcd272 306132008-03-28 Pavel Roskin <proski@gnu.org>
30614
30615 * kern/i386/pc/startup.S
30616 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30617 data block address to the real mode, keep offset minimal. This
30618 works around a bug in AWARD BIOS on old Athlon systems, which
30619 makes CD detection hang.
30620
c5dfd43b 306212008-03-26 Pavel Roskin <proski@gnu.org>
30622
30623 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30624 const.
30625 * include/grub/normal.h: Add grub_parse_color_name_pair()
30626 declaration.
30627
bf962df2 306282008-03-24 Bean <bean123ch@gmail.com>
30629
30630 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30631 (cd_count): Removed.
30632 (cd_drive): New variable.
30633 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30634 (grub_biosdisk_call_hook): Likewise.
30635 (grub_biosdisk_iterate): Change cdrom detection method.
30636 (grub_biosdisk_open): Replace cd_start with cd_drive.
30637 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30638 detect cdrom device.
30639
30640 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30641 Removed.
30642 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30643 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30644 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30645 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30646 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30647 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30648 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30649 (grub_biosdisk_cdrp): New structure.
30650 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30651
30652 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30653
30654 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30655 device.
30656
30657 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30658 New function.
30659
68e7fc7a 306602008-03-20 Robert Millan <rmh@aybabtu.com>
30661
30662 Remove 2 TiB limit in ata.mod.
30663 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30664 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30665 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30666 grub_uint64_t instead of grub_uint32_t.
30667
38ad2cf5 306682008-03-05 Bean <bean123ch@gmail.com>
30669
30670 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30671 (grub_multiboot): Set boot device.
30672
30673 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30674
2b89344e 306752008-03-02 Bean <bean123ch@gmail.com>
30676
30677 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30678 symlink_buffer.
30679
87a95d1f 306802008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30681
30682 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30683 texinfo.tex.
30684
30685 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30686 modified.
30687
30688 * docs/fdl.texi: New file.
f19dbdb7 30689
87a95d1f 30690 * docs/mdate-sh: New file. Copied from gnulib.
30691 * docs/texinfo.tex: Likewise.
30692
30693 * config.guess: Updated from gnulib.
30694 * install-sh: Likewise.
30695
7dc15d8e 306962008-02-28 Robert Millan <rmh@aybabtu.com>
30697
30698 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30699 (aout_mod_SOURCES): New variable.
30700 (aout_mod_CFLAGS): Likewise.
30701 (aout_mod_LDFLAGS): Likewise.
30702
30703 * conf/i386-ieee1275.rmk: Likewise.
30704
b00ab696 307052008-02-28 Robert Millan <rmh@aybabtu.com>
30706
30707 * util/update-grub.in: Reorganise terminal validity check. Accept
30708 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30709 Based on suggestion by Franklin PIAT.
30710
79ca2d78 307112008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30712
30713 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30714 function.
30715 * util/getroot.c (grub_util_check_block_device): New function that
30716 returns the given argument if it is a block device and returns NULL else.
30717 * util/grub-probe.c (argument_is_device): New variable.
30718 (probe): Promote device_name from a variable to an argument. Receive
30719 device_name from grub_util_check_block_device() if path is NULL and from
30720 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 30721 (options): Introduce new parameter '-d, --device'.
79ca2d78 30722 (main): Add description of the new parameter to the help screen.
30723 Rename path variable to argument. Set argument_is_device if the '-d'
30724 option is given. Pass argument to probe() depending on
30725 argument_is_device.
30726
0d16e571 307272008-02-24 Bean <bean123ch@gmail.com>
30728
30729 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30730 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30731 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30732 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30733 (GRUB_ISO9660_VOLDESC_END): Likewise.
30734 (grub_iso9660_primary_voldesc): New member escape.
30735 (grub_iso9660_data): New member joliet.
30736 (grub_iso9660_convert_string): New function.
30737 (grub_iso9660_mount): Detect joliet extension.
30738 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30739 (grub_iso9660_iso9660_label): Likewise.
30740
30741 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30742 (grub_setup_SOURCES): Add fs/udf.c.
30743 (grub_fstest_SOURCES): Likewise.
30744 (udf_mod_SOURCES): New variable.
30745 (udf_mod_CFLAGS): Likewise.
30746 (udf_mod_LDFLAGS): Likewise.
30747
30748 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30749 (grub_emu_SOURCES): Likewise.
30750
30751 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30752
30753 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30754
30755 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30756
30757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30758
30759 * fs/udf.c: New file.
30760
8a594a17 307612008-02-24 Robert Millan <rmh@aybabtu.com>
30762
30763 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30764 (normal/lexer.c_DEPENDENCIES): New variables.
30765 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30766 (normal/lexer.c_DEPENDENCIES): Likewise.
30767 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30768 (normal/lexer.c_DEPENDENCIES): Likewise.
30769 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30770 (normal/lexer.c_DEPENDENCIES): Likewise.
30771 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30772 (normal/lexer.c_DEPENDENCIES): Likewise.
30773 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30774 (normal/lexer.c_DEPENDENCIES): Likewise.
30775
2dc33c03 307762008-02-23 Robert Millan <rmh@aybabtu.com>
30777
30778 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30779 since they were intended to be in hex. This didn't break previously
30780 because of a bug in gpt_partition_map_iterate() (see below).
30781
30782 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30783 when checking the validity of GPT header.
30784 Remove `partno', since it always provides the same information as `i'.
30785
f6f4cfb0 307862008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30787
30788 * include/grub/efi/time.h: Fix a wrong comment.
30789
79ff665f 307902008-02-19 Pavel Roskin <proski@gnu.org>
30791
30792 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30793 message.
30794
d38e24c2 307952008-02-19 Bean <bean123ch@gmail.com>
30796
30797 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30798 (aout_mod_SOURCES): New variable.
30799 (aout_mod_CFLAGS): Likewise.
30800 (aout_mod_LDFLAGS): Likewise.
30801 (_bsd_mod_SOURCES): New variable.
30802 (_bsd_mod_CFLAGS): Likewise.
30803 (_bsd_mod_LDFLAGS): Likewise.
30804 (bsd_mod_SOURCES): New variable.
30805 (bsd_mod_CFLAGS): Likewise.
30806 (bsd_mod_LDFLAGS): Likewise.
30807
30808 * include/grub/aout.h: New file.
30809
30810 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30811
30812 * include/grub/i386/bsd.h: New file.
30813
30814 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30815 to make it public.
30816
30817 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30818 function is called, so that it's possible to change it inside the hook.
30819 (grub_elf64_load): Likewise.
30820 (grub_elf_file): Don't close the file if elf header is not found.
30821 (grub_elf_close): Close the file if grub_elf_file fails (The new
30822 grub_elf_file won't close it).
30823 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30824 (grub_elf64_size): Likewise.
30825
30826 * kern/i386/loader.S (grub_unix_real_boot): New function.
30827
30828 * loader/aout.c: New file.
30829
30830 * loader/i386/bsd.c: New file.
30831
30832 * loader/i386/bsd_normal.c: New file.
30833
30834 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30835
30836 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 30837 can test other formats.
d38e24c2 30838
b93bdb0f 308392008-02-19 Robert Millan <rmh@aybabtu.com>
30840
30841 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30842 (grub_gpt_partition_type_empty): Redefine with macro from
30843 `<grub/gpt_partition.h>'.
30844 (gpt_partition_map_iterate): Adjust partition type comparison.
30845
30846 Export `entry' as partmap-specific `part.data' struct.
30847 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30848
30849 * include/grub/gpt_partition.h (grub_gpt_header)
30850 (grub_gpt_partentry): ... to here (new file).
30851
30852 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30853
30854 (grub_gpt_partition_type_bios_boot): New const variable, defined
30855 with macro from `<grub/gpt_partition.h>'.
30856
30857 (setup): Replace `first_start' with `embed_region', which keeps
30858 track of the embed region (and is partmap-agnostic).
30859
30860 Replace find_first_partition_start() with find_usable_region(),
30861 which finds a usable region for embedding using partmap-specific
30862 knowledge (supports PC/MSDOS and GPT).
30863
30864 Fix all assumptions that the embed region start at sector 1, using
30865 `embed_region.start' from now on. Similarly, use `embed_region.end'
30866 rather than `first_start' to calculate available size.
30867
30868 In grub_util_info() message, replace "into after the MBR" with an
30869 indication of the specific sector our embed region starts at.
30870
66cb40f6 308712008-02-19 Robert Millan <rmh@aybabtu.com>
30872
30873 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30874 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30875 `commands/reboot.c'.
30876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30877 (halt_mod_SOURCES): Likewise.
30878 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30879 (halt_mod_SOURCES): Likewise.
30880
b7202015 308812008-02-17 Christian Franke <franke@computer.org>
30882
30883 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30884
32b0fc49 308852008-02-17 Robert Millan <rmh@aybabtu.com>
30886
30887 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30888 set `first_start' to 0 for non-PC/MSDOS partition maps.
30889
aca63502 308902008-02-16 Robert Millan <rmh@aybabtu.com>
30891
30892 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30893 do not assume partition map is PC/MSDOS before performing checks that
30894 are specific to that layout.
30895
0de8be86 308962008-02-13 Robert Millan <rmh@aybabtu.com>
30897
30898 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30899 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30900 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30901
c3db8364 309022008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30903
30904 * configure.ac: Only a cosmetic change on the handling of
30905 -fno-stack-protector.
30906
f714229e 309072008-02-12 Alexandre Boeglin <alex@boeglin.org>
30908
c3db8364 30909 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30910 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30911 reboot.c.
f714229e 30912 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30913 (halt_mod_SOURCES): New variable.
30914 (halt_mod_CFLAGS): Likewise.
30915 (halt_mod_LDFLAGS): Likewise.
30916 (reboot_mod_SOURCES): Likewise.
30917 (reboot_mod_CFLAGS): Likewise.
30918 (reboot_mod_LDFLAGS): Likewise.
30919
c3db8364 30920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30921 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30922 reboot.c.
f714229e 30923 (halt_mod_SOURCES): Likewise.
30924 (reboot_mod_SOURCES): Likewise.
30925
c3db8364 30926 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30927 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 30928 (reboot_mod_SOURCES): Likewise.
30929
30930 * commands/i386/pc/reboot.c: merge this file ...
30931
30932 * commands/ieee1275/reboot.c: ... and this file ...
30933
30934 * commands/reboot.c: ... to this file.
c3db8364 30935 Add some precompiler directive to include the correct header for
30936 each machine.
f714229e 30937
30938 * commands/ieee1275/halt.c: move this file ...
30939
30940 * commands/halt.c: ... to here.
c3db8364 30941 Add some precompiler directive to include the correct header for
30942 each machine.
f714229e 30943
30944 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30945 (grub_halt): Likewise.
30946
30947 * kern/efi/efi.c (grub_reboot): New function.
30948 (grub_halt): Likewise.
30949
c74493e0 309502008-02-12 Robert Millan <rmh@aybabtu.com>
30951
30952 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30953 /dev (like it is done for /dev/mapper). This doesn't provide support
30954 for EVMS, but at least it is now easy to identify the problem when it
30955 arises.
30956
d0db4b04 309572008-02-11 Robert Millan <rmh@aybabtu.com>
30958
30959 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30960 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30961 comparing it with -1, not 0.
30962
bf748642 309632008-02-10 Robert Millan <rmh@aybabtu.com>
30964
30965 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30966 `disk/lvm.c'.
30967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30968 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30969
30970 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30971 `disk/lvm.c' to the end of the list.
30972 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30973 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30974
b5db202a 309752008-02-10 Robert Millan <rmh@aybabtu.com>
30976
30977 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30978 grub_print_error() instead. This will let user know why we're entering
30979 rescue mode.
30980 Based on suggestions from Sam Morris.
30981
83abee31 309822008-02-10 Alexandre Boeglin <alex@boeglin.org>
30983
30984 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30985 on remaining N args, instead of "--" arg N times.
30986
78d5a08b 309872008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30988
30989 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30990 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30991 pattern for unknown glyphs.
30992
68807e5f 309932008-02-09 Robert Millan <rmh@aybabtu.com>
30994
30995 * configure.ac: Probe for `help2man'.
30996 * Makefile.in (builddir): New variable.
30997 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30998 or otherwise add a few flags/options to it.
30999 (install-local): For every executable utility or script that is
31000 installed, invoke $(HELP2MAN) to install a manpage based on --help
31001 output.
31002
31003 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31004 that it doesn't prevent --help from working in build tree.
31005
31006 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31007 with `bug-grub@gnu.org'.
31008 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31009 * util/update-grub.in (usage): New function.
31010 Implement proper argument check, with support for --help and --version
31011 (as well as existing -y).
31012
310132008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 31014
31015 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31016 avoid overwriting previous output.
31017 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31018
c1962162 310192008-02-09 Robert Millan <rmh@aybabtu.com>
31020
31021 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31022 drawing the menu.
31023
3dac2e3f 310242008-02-09 Robert Millan <rmh@aybabtu.com>
31025
31026 * commands/sleep.c: New file.
31027 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31028 (sleep_mod_SOURCES): New variable.
31029 (sleep_mod_CFLAGS): Likewise.
31030 (sleep_mod_LDFLAGS): Likewise.
31031
7a634e08 310322008-02-09 Robert Millan <rmh@aybabtu.com>
31033
31034 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31035 situations in which we can deduce the RAID size and the superblock
31036 doesn't match it.
31037
b92f0c18 310382008-02-09 Robert Millan <rmh@aybabtu.com>
31039
31040 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31041 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31042 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31043
31044 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31045 and return a grub_diskmemberlist_t composed of physical array members.
31046 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31047
31048 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31049 prototype.
31050 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31051 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31052 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31053
31054 * util/grub-probe.c (probe): Move partmap probing code from here ...
31055 (probe_partmap): ... to here.
31056 (probe): Use probe_partmap() once for the disk we're probing, and
31057 additionally, when such disk contains a memberlist() struct member,
31058 once for each disk that is contained in the structure returned by
31059 memberlist().
31060
91a4bf68 310612008-02-09 Robert Millan <rmh@aybabtu.com>
31062
31063 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31064 environment variable to 'all' in order to obtain debug output from
31065 non-util/ code.
31066 * util/i386/pc/grub-setup.c (main): Likewise.
31067
a96f9caa 310682008-02-08 Robert Millan <rmh@aybabtu.com>
31069
31070 * disk/raid.c (grub_raid_scan_device): Check for
31071 `array->device[sb.this_disk.number]' rather than for
31072 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 31073 guaranteed to be accessible.
a96f9caa 31074
b37a9222 310752008-02-08 Robert Millan <rmh@aybabtu.com>
31076
31077 * disk/raid.c: Update copyright.
31078 * fs/cpio.c: Likewise.
31079 * include/grub/raid.h: Likewise.
31080 * loader/i386/pc/multiboot.c: Likewise.
31081 * util/hostfs.c: Likewise.
31082
5626aee1 310832008-02-08 Robert Millan <rmh@aybabtu.com>
31084
31085 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31086 to a grub_disk_t array.
31087 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31088 `device[x]'.
31089 (grub_raid_scan_device): Replace `device[x].name' accesses with
31090 `device[x]->name'. Simplify initialization of `array->device[x]'.
31091
554f0187 310922008-02-08 Robert Millan <rmh@aybabtu.com>
31093
31094 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31095 grub_dprintf() calls.
31096 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31097 error message.
31098
1ec8425d 310992008-02-07 Christian Franke <franke@computer.org>
31100
31101 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31102 instead of fseek and ftell to support large files.
31103 (grub_hostfs_read): Likewise.
31104
f2156fda 311052008-02-07 Robert Millan <rmh@aybabtu.com>
31106
31107 Patch from Jeroen Dekkers.
31108 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 31109 failure, since successfully reading all array members might not be
f2156fda 31110 required.
31111
9216e0e7 311122008-02-06 Robert Millan <rmh@aybabtu.com>
31113
31114 * util/grub-probe.c (probe): Simplify partmap probing (with the
31115 assumption that the first word up to the underscore equals to
31116 the module name).
31117
b0dfd29a 311182008-02-06 Christian Franke <franke@computer.org>
31119
31120 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31121 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31122 last block of a cpio or tar stream.
31123 Check for "TRAILER!!!" instead of any empty data
31124 block to detect last block of a cpio stream.
31125 (grub_cpio_dir): Fix constness of variable np.
31126 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31127 cpio or tar trailer is detected. This fixes a crash
31128 on open of a non existing file.
31129
c32865bf 311302008-02-05 Bean <bean123ch@gmail.com>
31131
31132 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31133 address of entry.
31134 (grub_multiboot_load_elf64): Likewise.
31135 (grub_multiboot): Initialize mbi structure.
31136
31137 * util/grub-fstest.c: Don't include unused header file script.h.
31138
fe6b695a 31139 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31140 of file.
31141 (grub_fstest_SOURCES): Likewise.
31142
409480b7 311432008-02-05 Robert Millan <rmh@aybabtu.com>
31144
31145 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31146 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31147 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31148 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31149
31150 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31151 (translation_table): Replace hardcoded values with macros
31152 provided by `<grub/term.h>'.
31153
31154 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31155 (keyboard_map): Correct/add a few values, with macros provided
31156 by `<grub/term.h>'.
31157 (keyboard_map_shift): Zero values that don't differ from their
31158 `keyboard_map' equivalents.
31159 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31160 Discard the second scan code that is always sent by Caps lock.
31161 Only use `keyboard_map_shift' when it provides a non-zero value,
31162 otherwise fallback to `keyboard_map'.
31163
99fadbaa 311642008-02-04 Bean <bean123ch@gmail.com>
31165
31166 * Makefile.in (enable_grub_fstest): New variable.
31167
31168 * conf/common.rmk (grub_fstest_init.lst): New rule.
31169 (grub_fstest_init.h): Likewise.
31170 (grub_fstest_init.c): Likewise.
31171 (util/grub-fstest.c_DEPENDENCIES): New variable.
31172 (grub_fstest_SOURCES): Likewise.
31173
31174 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31175
31176 * util/grub-fstest.c: New file.
31177
bf567c50 311782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31179
31180 Make grub-setup handle a separate root device.
f19dbdb7 31181
bf567c50 31182 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31183 so that the root device can be compared with the destination
31184 device.
31185 When embedding the core image, if the root and destination devices
31186 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31187 0xFF.
31188 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31189
9be6b98b 311902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31191
31192 Add support for having a grub directory in a different drive. This
31193 is still only the data handling part.
f19dbdb7 31194
9be6b98b 31195 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31196 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31197 (grub_root_drive): New variable.
31198
31199 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31200 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31201 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31202 as it was.
31203
31204 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31205
31206 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31207 macro.
31208 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31209
31210 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31211 is bogus, because PXE booting does not specify any drive
31212 correctly.
31213
31214 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31215 am not sure if this is really correct.
31216
31217 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31218 is always identical to the boot drive when booting from a CD.
31219
31220 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31221 longer.
31222 (root_drive): New variable.
31223 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31224 (setup_sectors): Push %dx right after popping it, because %dh will
31225 be modified later.
31226 (copy_buffer): Restore %dx.
31227
e0ca0677 312282008-02-03 Robert Millan <rmh@aybabtu.com>
31229
31230 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31231 use `cdboot.img' for cdrom images.
31232
3b3f6629 312332008-02-03 Robert Millan <rmh@aybabtu.com>
31234
31235 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31236 only setup gfxterm when `font' command has succeeded.
31237
d42b3672 312382008-02-03 Robert Millan <rmh@aybabtu.com>
31239
31240 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31241 (grub_rescue_cmd_multiboot_loader)
31242 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31243
fa370ea6 312442008-02-03 Pavel Roskin <proski@gnu.org>
31245
e0c5dacb 31246 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 31247 %edx and %esi from stack only after grub_gate_a20() is called.
31248 grub_gate_a20() clobbers %edx.
31249
f2a76e1d 312502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31251
31252 * configure.ac (AC_INIT): Bumped to 1.96.
31253
31254 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31255 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31256 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31257 video/readers/png.c.
31258
90fd32d1 312592008-02-03 Bean <bean123ch@gmail.com>
9be665dd 31260
31261 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31262 (cdboot_img_SOURCES): New variable.
31263 (cdboot_img_ASFLAGS): New variable.
31264 (cdboot_img_LDFLAGS): New variable.
31265
31266 * boot/i386/pc/cdboot.S: New file.
31267
31268 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31269 (cd_count): Likewise.
31270 (grub_biosdisk_get_drive): Add support for cd device.
31271 (grub_biosdisk_call_hook): Likewise.
31272 (grub_biosdisk_iterate): Likewise.
31273 (grub_biosdisk_open): Likewise.
31274 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31275 (grub_biosdisk_rw): Support reading from cd device.
31276 (GRUB_MOD_INIT): Iterate cd devices.
31277
31278 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31279 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31280 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31281
31282 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31283
4020aa53 312842008-02-02 Robert Millan <rmh@aybabtu.com>
31285
31286 * commands/read.c: New file.
31287 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31288 (read_mod_SOURCES): New variable.
31289 (read_mod_CFLAGS): Likewise.
31290 (read_mod_LDFLAGS): Likewise.
31291
e03a1132 312922008-02-02 Robert Millan <rmh@aybabtu.com>
31293
31294 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31295 determining whether menu has to be displayed.
31296
58c69220 312972008-02-02 Marco Gerards <marco@gnu.org>
31298
31299 * bus/pci.c: New file.
31300
31301 * include/grub/pci.h: Likewise.
31302
31303 * include/grub/i386/pc/pci.h: Likewise.
31304
31305 * commands/lspci.c: Likewise.
31306
31307 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31308 `lspci.mod'.
31309 (pci_mod_SOURCES): New variable.
31310 (pci_mod_CFLAGS): Likewise.
31311 (pci_mod_LDFLAGS): Likewise.
31312 (lspci_mod_SOURCES): Likewise.
31313 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 31314 (lspci_mod_LDFLAGS): Likewise.
58c69220 31315
c004e1b4 313162008-02-02 Bean <bean123ch@gmail.com>
31317
31318 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31319 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31320
31321 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31322 (grub_xfs_btree_node): New structure.
31323 (grub_xfs_btree_root): New structure.
31324 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31325 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31326 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31327 (GRUB_XFS_EXTENT_SIZE): Likewise.
31328 (grub_xfs_read_block): Support btree format type.
31329 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31330 Use directory block as basic unit.
31331
31332 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31333
31334 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31335 __attribute__ ((__regparm__ (1))).
31336
f95562bf 313372008-02-01 Robert Millan <rmh@aybabtu.com>
31338
31339 Correct a mistake in previous commit.
31340
31341 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31342 top.
31343 (normal/command.c_DEPENDENCIES): New variable.
31344
7d31f41f 313452008-02-01 Robert Millan <rmh@aybabtu.com>
31346
31347 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31348 top.
31349 (normal/command.c_DEPENDENCIES): New variable.
31350 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31351 * conf/i386-ieee1275.rmk: Likewise.
31352 * conf/i386-linuxbios.rmk: Likewise.
31353 * conf/i386-pc.rmk: Likewise.
31354 * conf/sparc64-ieee1275.rmk: Likewise.
31355 * conf/powerpc-ieee1275.rmk: Likewise.
31356 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31357
31358 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31359
60b6be74 313602008-02-01 Robert Millan <rmh@aybabtu.com>
31361
31362 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31363 call at beginning of function.
31364
078522ab 313652008-01-31 Pavel Roskin <proski@gnu.org>
31366
31367 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 31368 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31369 (grub_mkrescue_SOURCES): Likewise.
078522ab 31370 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31371
ccaa8a5f 313722008-01-30 Robert Millan <rmh@aybabtu.com>
31373
31374 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31375 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31376 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31377 (grub_probe_SOURCES): ... to here.
31378
31379 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31380 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31381 * conf/i386-ieee1275.rmk: Likewise.
31382 * conf/i386-linuxbios.rmk: Likewise.
31383 * conf/powerpc-ieee1275.rmk: Likewise.
31384
ae5a9cd7 313852008-01-30 Tristan Gingold <gingold@free.fr>
31386
31387 * kern/rescue.c: Silently accept empty lines.
31388
70bc2ef2 313892008-01-29 Bean <bean123ch@gmail.com>
31390
31391 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31392 (real_code_2): Code cleanup and change comment style.
31393 (move_memory): Avoid using 32-bit address mode.
31394
6a4d50ea 313952008-01-29 Bean <bean123ch@gmail.com>
31396
31397 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31398 (png_mod_SOURCES): New variable.
31399 (png_mod_CFLAGS): Likewise.
31400 (png_mod_LDFLAGS): Likewise.
31401
31402 * video/readers/png.c: New file.
31403
11cc30ac 314042008-01-28 Robert Millan <rmh@aybabtu.com>
31405
31406 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31407 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31408 `ifndef GRUB_MOD_GAP' hack.
31409 * util/elf/grub-mkimage.c (add_segments): Likewise.
31410
3abc589f 314112008-01-27 Robert Millan <rmh@aybabtu.com>
31412
31413 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31414 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31415 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31416
e1907778 314172008-01-27 Robert Millan <rmh@aybabtu.com>
31418
31419 Get grub-emu to build again (including parallel builds).
31420
31421 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31422 Split into ...
31423 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31424 (normal/execute.c_DEPENDENCIES): ... this, ...
31425 (grub-emu_DEPENDENCIES): ... and this.
31426
31427 * conf/i386-efi.rmk: Likewise.
31428 * conf/i386-linuxbios.rmk: Likewise.
31429 * conf/i386-ieee1275.rmk: Likewise.
31430 * conf/powerpc-ieee1275.rmk: Likewise.
31431 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31432
2216b101 314332008-01-27 Robert Millan <rmh@aybabtu.com>
31434
31435 * NEWS: Add a few items.
31436
f75172d9 314372008-01-27 Robert Millan <rmh@aybabtu.com>
31438
31439 Fix parallel builds with grub-emu. Based on earlier commit for
31440 grub-probe and grub-setup.
31441
31442 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31443 (util/grub-emu.c_DEPENDENCIES): ... this.
31444 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31445 (util/grub-emu.c_DEPENDENCIES): ... this.
31446 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31447 (util/grub-emu.c_DEPENDENCIES): ... this.
31448 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31449 (util/grub-emu.c_DEPENDENCIES): ... this.
31450 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31451 (util/grub-emu.c_DEPENDENCIES): ... this.
31452
3f51de77 314532008-01-27 Pavel Roskin <proski@gnu.org>
31454
31455 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31456 to create a gap between _end and the modules added to the image
31457 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31458 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31459 * util/elf/grub-mkimage.c (add_segments): Likewise.
31460
2033f53e 314612008-01-26 Pavel Roskin <proski@gnu.org>
31462
31463 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31464 just return an error.
31465
22da1f6f 314662008-01-26 Bean <bean123ch@gmail.com>
31467
31468 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31469 (grub_reiserfs_get_item): Save offset of the next item.
31470 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31471
2a9525e6 314722008-01-25 Robert Millan <rmh@aybabtu.com>
31473
31474 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31475 make all filesystem sources appear together (possibly fixing omissions
31476 while at it).
31477 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31479 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31481
31482 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31483 add `kern/file.c'.
31484 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31485 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31486 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31487 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31488
31489 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31490 (probe): Add a sanity check to make sure of our ability to read
31491 requested files when probing for filesystem type.
31492
31493 * genmk.rb: Update copyright year (2007).
31494
31495 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31496 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31497 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31498 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31499 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31500 : Remove function prototypes.
31501
b95f71b5 315022008-01-25 Robert Millan <rmh@aybabtu.com>
31503
31504 Revert my previous commits (based on wrong assumption of how grub_errno
31505 works).
31506
fe6b695a 31507 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31508 * kern/file.c (grub_file_open): Likewise.
31509
d08bbb49 315102008-01-24 Pavel Roskin <proski@gnu.org>
31511
31512 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31513 that hang if GRUB tries to setup colors.
31514 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31515 colors for firmwares that don't support it.
31516 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31517 Recognize Open Hack'Ware, set flags to work around its
31518 limitations.
31519
605e36ed 315202008-01-24 Robert Millan <rmh@aybabtu.com>
31521
31522 * kern/file.c (grub_file_open): Do not account previous failures of
31523 unrelated functions when grub_errno is checked for.
31524 Reported by Oleg Strikov.
31525
bac332a1 315262008-01-24 Bean <bean123ch@gmail.com>
31527
31528 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31529 (grub_ufs_sblock): New member volume name.
31530 (grub_ufs_find_file): Fix string copy bug.
31531 (grub_ufs_label): Implement this function properly.
31532
31533 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31534 (grub_hfs_iterate_records): Use the correct file number for extents
31535 and catalog file. Fix problem in next index calculation.
31536 (grub_hfs_find_node): Replace recursive function call with loop.
31537 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31538
15c80c09 315392008-01-23 Robert Millan <rmh@aybabtu.com>
31540
31541 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31542 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31543 (grub_multiboot2_real_boot): New function prototype.
31544
31545 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31546 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31547
31548 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31549 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31550
305338fd 315512008-01-23 Robert Millan <rmh@aybabtu.com>
31552
31553 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31554 #ifdef'ed out grub_printf().
31555
3ea52685 315562008-01-23 Robert Millan <rmh@aybabtu.com>
31557
31558 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31559 grub_dprintf calls, since they make "debug=all" mode unusable.
31560 (grub_console_checkkey): Likewise.
31561
5882ae4b 315622008-01-23 Robert Millan <rmh@aybabtu.com>
31563
31564 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31565 `term/i386/pc/at_keyboard.c'.
31566 (pkglib_MODULES): Add `serial.mod'.
31567 (serial_mod_SOURCES): New variable.
31568 (serial_mod_CFLAGS): Likewise.
31569 (serial_mod_LDFLAGS): Likewise.
31570
31571 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31572 `<grub/powerpc/ieee1275/console.h>'.
31573 (grub_keyboard_controller_init): New function prototype.
31574 (grub_console_checkkey): Likewise.
31575 (grub_console_getkey): Likewise.
31576
31577 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31578 keyboard on i386.
31579
31580 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31581 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31582
06ab5303 315832008-01-23 Robert Millan <rmh@aybabtu.com>
31584
31585 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31586 present, "(memdisk)/boot/grub" becomes the default prefix.
31587
31588 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31589 a memdisk tarball with all the modules. Add --overlay=DIR option that
31590 allows users to overlay additional files into the image.
31591
dbb475a4 315922008-01-23 Robert Millan <rmh@aybabtu.com>
31593
31594 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31595 and `machine/memory.h'.
31596 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31597 (_multiboot_mod_SOURCES): New variable.
31598 (_multiboot_mod_CFLAGS): Likewise.
31599 (_multiboot_mod_LDFLAGS): Likewise.
31600 (multiboot_mod_SOURCES): Likewise.
31601 (multiboot_mod_CFLAGS): Likewise.
31602 (multiboot_mod_LDFLAGS): Likewise.
31603
31604 * include/grub/i386/ieee1275/loader.h: New file.
31605
31606 * include/grub/i386/ieee1275/machine.h: Likewise.
31607
31608 * include/grub/i386/ieee1275/memory.h: Likewise.
31609
31610 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31611 variable declaration.
31612 (grub_os_area_size): Likewise.
31613
31614 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31615 (grub_lower_mem, grub_upper_mem): New variables.
31616 (grub_stop_floppy): New function (just to make
31617 grub_multiboot2_real_boot() happy).
31618
31619 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31620 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31621 (grub_stop): New function.
31622 Include `"../realmode.S"' and `"../loader.S"'.
31623
31624 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31625 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31626
31627 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31628 rely on grub_multiboot2_real_boot() for final boot.
31629
25638629 316302008-01-22 Robert Millan <rmh@aybabtu.com>
31631
31632 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31633 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31634 device that doesn't look like an SD card.
31635 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31636 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31637 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31638 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31639 found.
31640
9dad816d 316412008-01-22 Robert Millan <rmh@aybabtu.com>
31642
31643 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31644 avoid claiming over our own code.
31645
34842f2d 316462008-01-22 Bean <bean123ch@gmail.com>
31647
31648 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31649 (jpeg_mod_SOURCES): New variable.
31650 (jpeg_mod_CFLAGS): Likewise.
31651 (jpeg_mod_LDFLAGS): Likewise.
31652
31653 * video/readers/jpeg.c : New file.
31654
44023a28 316552008-01-22 Bean <bean123ch@gmail.com>
31656
31657 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31658 there are no more items.
31659
bc2d8ac6 316602008-01-21 Robert Millan <rmh@aybabtu.com>
31661
31662 * kern/mm.c (grub_mm_init_region): Improve debug message.
31663
261bd4bc 316642008-01-21 Robert Millan <rmh@aybabtu.com>
31665
31666 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31667 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31668 address.
31669 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31670 a C macro.
31671 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31672 Indicates start of upper memory.
31673 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31674 (generate_image): Abort when image size is big enough to corrupt
31675 upper memory.
31676
31677 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31678 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31679 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31680 instead of hardcoding 0xA0000.
31681 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31682 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31683 instead of hardcoding 0xA0000.
31684
f970b55e 316852008-01-21 Robert Millan <rmh@aybabtu.com>
31686
31687 * disk/memdisk.c (memdisk_size): New variable.
31688 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31689 `memdisk_size'.
31690 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31691 image to dynamic memory.
31692 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31693 `memdisk_size'. Free memdisk block.
31694
1a8b0526 316952008-01-21 Robert Millan <rmh@aybabtu.com>
31696
31697 Fix detection of very small filesystems (like tar).
31698
31699 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31700 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31701 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31702 a problem with this disk).
31703
6e9b4aab 317042008-01-21 Robert Millan <rmh@aybabtu.com>
31705
31706 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31707 on grub_biosdisk_rw_standard() error.
31708
0d8837b2 317092008-01-21 Robert Millan <rmh@aybabtu.com>
31710
31711 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31712 recent changes.
31713 * kern/elf.c: Likewise.
31714 * kern/ieee1275/ieee1275.c: Likewise.
31715 * kern/powerpc/ieee1275/openfw.c: Likewise.
31716 * term/ieee1275/ofconsole.c: Likewise.
31717
ffd36e34 317182008-01-21 Robert Millan <rmh@aybabtu.com>
31719
31720 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31721
3f0093d0 31722 * include/grub/kernel.h (grub_arch_memdisk_addr)
31723 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 31724
3f0093d0 31725 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31726 (grub_arch_memdisk_size): ... to here.
ffd36e34 31727
6c391b21 317282008-01-21 Robert Millan <rmh@aybabtu.com>
31729
31730 Mostly based on bugfix from Bean.
31731
31732 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31733 attribute with hook() parameter.
31734 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31735 declaration.
31736 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31737 attribute with hook() parameter.
31738 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31739 declaration.
31740
55a581dc 317412008-01-21 Robert Millan <rmh@aybabtu.com>
31742
31743 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31744 (pkglib_MODULES): Add `memdisk.mod'.
31745 (memdisk_mod_SOURCES): New variable.
31746 (memdisk_mod_CFLAGS): Likewise.
31747 (memdisk_mod_LDFLAGS): Likewise.
31748
31749 * disk/memdisk.c: New file.
31750
31751 * include/grub/disk.h (grub_disk_dev_id): Add
31752 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31753
31754 * include/grub/i386/pc/kernel.h
31755 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31756 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31757 (grub_kernel_image_size): New variable declaration.
31758 (grub_total_module_size): Likewise.
31759 (grub_memdisk_image_size): Likewise.
31760
31761 * include/grub/i386/pc/memory.h
31762 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31763
31764 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31765 (grub_arch_memdisk_addr): New variable declaration.
31766 (grub_arch_memdisk_size): Likewise.
31767
31768 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31769 (grub_arch_memdisk_size): Likewise.
31770
31771 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31772 (codestart): Replace hardcoded `0x100000' with
31773 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31774
31775 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31776 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31777 not NULL, append the contents of the file it refers to, at the end of
31778 the compressed kernel image. Initialize `grub_memdisk_image_size'
31779 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31780 (options): Add "memdisk"|'m' option.
31781 (main): Parse --memdisk|-m option, and pass user-provided path as
31782 parameter to generate_image().
31783
3d7f54c9 317842008-01-20 Robert Millan <rmh@aybabtu.com>
31785
31786 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31787 grub_dprintf() calls from here ...
31788 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31789
0bf74728 317902008-01-20 Robert Millan <rmh@aybabtu.com>
31791
31792 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31793
31794 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31795 declaration.
31796 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31797 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31798 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 31799 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 31800 property).
31801 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31802 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31803
33bf70a7 318042008-01-19 Robert Millan <rmh@aybabtu.com>
31805
fe6b695a 31806 Get rid of confusing function (superseded by
33bf70a7 31807 `grub_ieee1275_get_integer_property')
31808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31809 prototype.
31810 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31811 function.
31812 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31813 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 31814 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 31815
e2da7d26 318162008-01-19 Robert Millan <rmh@aybabtu.com>
31817
31818 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31819 command after "shut-down", since implementations differ on which
31820 the command for halt is.
31821
59f1fd8d 318222008-01-19 Robert Millan <rmh@aybabtu.com>
31823
31824 * include/grub/i386/linuxbios/console.h: Add header protection.
31825 (grub_keyboard_controller_init): New function prototype.
31826 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31827 (KEYBOARD_COMMAND_READ): Likewise.
31828 (KEYBOARD_COMMAND_WRITE): Likewise.
31829 (KEYBOARD_SCANCODE_SET1): Likewise.
31830 (grub_keyboard_controller_write): New function.
31831 (grub_keyboard_controller_read): Likewise.
31832 (grub_keyboard_controller_init): Likewise.
31833
31834 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31835 (grub_console_init): On coreboot/LinuxBIOS, call
31836 grub_keyboard_controller_init().
31837
5f5a7c15 318382008-01-19 Robert Millan <rmh@aybabtu.com>
31839
31840 PowerPC changes provided by Pavel Roskin.
31841
31842 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31843 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31844 don't rely on cmain() doing it.
31845 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31846 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31847
1210e168 318482008-01-16 Robert Millan <rmh@aybabtu.com>
31849
31850 * include/grub/i386/linuxbios/memory.h
31851 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31852 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31853 receive `table_header' as argument. Instead, probe for it in the
31854 known memory ranges where it can be present.
31855 (grub_available_iterate): Do not pass a fixed `table_header' address
31856 to grub_linuxbios_table_iterate().
31857
3d04eab8 318582008-01-15 Robert Millan <rmh@aybabtu.com>
31859
31860 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31861 * conf/i386-ieee1275.rmk: New file.
31862 * include/grub/i386/ieee1275/console.h: Likewise.
31863 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31864 * include/grub/i386/ieee1275/kernel.h: Likewise.
31865 * include/grub/i386/ieee1275/time.h: Likewise.
31866 * kern/i386/ieee1275/init.c: Likewise.
31867 * kern/i386/ieee1275/startup.S: Likewise.
31868
d1bc1b73 318692008-01-15 Robert Millan <rmh@aybabtu.com>
31870
31871 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31872 when pointers are 32-bit (but still do set it to one when they are
31873 64-bit).
31874
66a65807 318752008-01-15 Robert Millan <rmh@aybabtu.com>
31876
31877 * include/grub/ieee1275/ieee1275.h
31878 (grub_ieee1275_get_integer_property): New function prototype.
31879
31880 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31881 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 31882 grub_ieee1275_get_property() to handle endianness.
66a65807 31883
31884 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31885 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 31886 where appropriate.
66a65807 31887 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31888 (grub_map): Likewise.
31889 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31890
a83ccafd 318912008-01-15 Bean <bean123ch@gmail.com>
31892
31893 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31894 (grub_script_execute_cmdline): Reset grub_errno.
31895
31896 * normal/main.c (read_config_file): Reset grub_errno.
31897
31898 * normal/parse.y (script_init): New.
31899 (script): Move function and menuentry here.
31900 (delimiter): New.
31901 (command): Add delimiter at the end of command.
31902 (commands): Adjust to match the new command.
31903 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 31904 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 31905 (if): Use the new commands.
31906
31907 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31908
df6ecfc6 319092008-01-15 Robert Millan <rmh@aybabtu.com>
31910
31911 * normal/menu.c (run_menu): Move timeout message from here ...
31912 (print_timeout): ... to here.
31913 (run_menu): Use print_timeout() once during initial draw to print
31914 the whole message, and again in every clock tick to update only
31915 the number of seconds.
31916
87ae25eb 319172008-01-15 Robert Millan <rmh@aybabtu.com>
31918
31919 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31920 actual size of `available' from grub_ieee1275_get_property(), and
31921 restrict parsing to that bound.
31922
47bf09a4 319232008-01-15 Christian Franke <franke@computer.org>
31924
31925 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31926 (argp_program_version): Remove variable.
31927 (argp_program_bug_address): Likewise.
31928 (options): Convert from struct argp_option to struct option.
31929 (struct arguments): Remove.
31930 (parse_opt): Remove.
31931 (usage): New function.
31932 (main): Replace struct args members by simple variables.
31933 Replace argp_parse() by getopt_long().
31934 Add switch to evaluate options.
31935 Add missing "(...)" around root_dev in prefix string.
31936
c86f1469 319372008-01-14 Robert Millan <rmh@aybabtu.com>
31938
31939 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31940 for grub_ieee1275_exit(), in order to improve portability.
31941
e622c559 319422008-01-14 Robert Millan <rmh@aybabtu.com>
31943
31944 * util/grub.d/10_linux.in (prefix): Define.
31945 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31946
44cb1ec8 319472008-01-13 Pavel Roskin <proski@gnu.org>
31948
31949 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31950 grub_errno if no errors have been detected.
31951
1eb8c802 319522008-01-12 Robert Millan <rmh@aybabtu.com>
31953
31954 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31955 (grub_util_get_dev_abstraction): New function prototype.
31956
31957 * util/getroot.c: Include `<grub/util/getroot.h>'
31958 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31959 (grub_util_get_dev_abstraction): ... here (new function).
31960
31961 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31962 `PRINT_ABSTRACTION'.
31963 (probe): Probe for abstraction type when requested.
31964 (main): Understand `--target=abstraction'.
31965
31966 * util/i386/efi/grub-install.in: Add abstraction module to core
31967 image when it is found to be necessary.
31968 * util/i386/pc/grub-install.in: Likewise.
31969 * util/powerpc/ieee1275/grub-install.in: Likewise.
31970
31971 * util/update-grub_lib.in (font_path): Return system path without
31972 converting to GRUB path.
31973 * util/update-grub.in: Convert system path returned by font_path()
31974 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31975 abstraction module is needed for loading fonts (if any). Export
31976 that as `GRUB_PRELOAD_MODULES'.
31977 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31978 insmod commands).
31979
52bd3de9 319802008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31981
31982 Remove some unused code from reiserfs.
f19dbdb7 31983
52bd3de9 31984 * fs/reiserfs.c (struct grub_reiserfs_key)
31985 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31986 (struct grub_reiserfs_node_body): Removed.
31987 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31988 Likewise.
31989 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31990 Likewise.
31991 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31992 Likewise.
31993 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31994 Likewise.
31995 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31996 Likewise.
31997 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31998 Likewise.
31999 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32000 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32001 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32002
2f80039d 320032008-01-10 Robert Millan <rmh@aybabtu.com>
32004
32005 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32006 Determines if a file is garbage left by packaging systems, etc.
32007 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32008 for processing /etc/grub.d scripts.
32009 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32010 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32011 as a condition for processing Linux images.
32012
87888032 320132008-01-10 Pavel Roskin <proski@gnu.org>
32014
32015 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32016 to compile reiserfs.c on PowerPC.
32017
7e54fced 320182008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 32019
32020 * kern/device.c (grub_device_iterate): Do not abort device iteration
32021 when one of the devices cannot be opened.
32022 * kern/disk.c (grub_disk_open): Do not account previous failures of
32023 unrelated functions when grub_errno is checked for.
32024
5aa541e6 320252008-01-08 Robert Millan <rmh@aybabtu.com>
32026
32027 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32028 `! grub_linux_is_bzimage', change order of address comparison to make
32029 it more intuitive, and improve "too big zImage" error message.
32030
7076340d 320312008-01-08 Robert Millan <rmh@aybabtu.com>
32032
32033 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32034 `$(update-grub_DATA)'.
32035 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32036 targets.
32037
9ca70333 320382008-01-07 Robert Millan <rmh@aybabtu.com>
32039
32040 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32041 which instruction is modified by grub-setup during installation
32042 (since it wasn't obvious by only looking at this file).
32043
38ccf575 320442008-01-07 Robert Millan <rmh@aybabtu.com>
32045
32046 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32047 listing actual TODO items.
32048
f5db4291 320492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32050
868967cf 32051 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32052 correctly.
32053 (grub_reiserfs_get_key_offset): Likewise.
32054 (grub_reiserfs_set_key_offset): Likewise.
32055 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 32056 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 32057
32058 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32059 better to remove the bitfield version completely.
f19dbdb7 32060
868967cf 320612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32062
f5db4291 32063 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32064 allocated from the heap, due to the fshelp implementation.
32065 (grub_reiserfs_dir): Free NODE, due to the same reason.
32066
492e6d9d 320672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32068
32069 Mostly from Vincent Pelletier:
f19dbdb7 32070
492e6d9d 32071 * fs/reiserfs.c: New file.
f19dbdb7 32072
492e6d9d 32073 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32074 (reiserfs_mod_SOURCES): New variable.
32075 (reiserfs_mod_CFLAGS): Likewise.
32076 (reiserfs_mod_LDFLAGS): Likewise.
32077
32078 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32079 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32080 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32081 normal/color.c.
32082
9ce3e7c1 320832008-01-06 Robert Millan <rmh@aybabtu.com>
32084
32085 * normal/color.c: Remove `<grub/env.h>'.
32086
f3b58148 320872008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32088
32089 * include/grub/normal.h: Include <grub/env.h>.
32090
7ac3bcfa 320912008-01-05 Robert Millan <rmh@aybabtu.com>
32092
32093 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32094 usage example with `(hd0,1)'.
fb358190 32095 Reported by Samuel Thibault.
7ac3bcfa 32096
c8ee99d7 320972008-01-05 Robert Millan <rmh@aybabtu.com>
32098
32099 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32100 (grub_linux_boot_zimage): Rename to ...
32101 (grub_linux_boot): ... this.
32102 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32103 (grub_linux_boot_zimage): Conditionalize zImage copy.
32104
32105 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32106 (grub_linux_boot_bzimage): Remove prototype.
32107 (grub_linux_boot_zimage): Rename to ...
32108 (grub_linux_boot): ... this.
32109
32110 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32111 (grub_linux_boot): Remove function.
32112
0ece25b1 321132008-01-05 Robert Millan <rmh@aybabtu.com>
32114
32115 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32116 (grub_env_write_color_highlight): Likewise.
32117 (grub_wait_after_message): Likewise.
32118
32119 * normal/color.c: New file.
32120
32121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32122 (normal_mod_DEPENDENCIES): Likewise.
32123
32124 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32125 (normal_mod_DEPENDENCIES): Likewise.
32126
32127 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32128 (normal_mod_DEPENDENCIES): Likewise.
32129
32130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32131 (normal_mod_DEPENDENCIES): Likewise.
32132
32133 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32134 for waiting after a message is printed.
32135 * normal/main.c (read_config_file): Likewise.
32136 (grub_normal_init): Register grub_env_write_color_normal() and
32137 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32138 `color_highlight' variables as global.
32139
32140 * normal/menu.c (grub_wait_after_message): New function.
32141 (grub_color_menu_normal): New variable. Replaces ...
32142 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32143 (grub_color_menu_highlight): New variable. Replaces ...
32144 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32145 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32146 `GRUB_TERM_COLOR_STANDARD'.
32147 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32148 `normal_code' and `highlight_code' to `old_color_normal' and
32149 `old_color_highlight', respectively.
32150 (grub_menu_init_page): Update colors when drawing the menu, based on
32151 `menu_color_normal' and `menu_color_highlight' variables.
32152 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32153 a message is printed.
32154
182dd4e5 321552008-01-05 Robert Millan <rmh@aybabtu.com>
32156
32157 * kern/env.c (grub_env_context_open): Propagate hooks for global
32158 variables to new context.
32159
32160 * kern/main.c (grub_set_root_dev): Export `root' variable.
32161
ddf8f6ad 321622008-01-05 Robert Millan <rmh@aybabtu.com>
32163
32164 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32165 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32166 them.
32167
d8b43d9b 321682008-01-05 Robert Millan <rmh@aybabtu.com>
32169
32170 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32171
2bff2de3 321722008-01-04 Christian Franke <franke@computer.org>
32173
32174 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32175 of eisa_mmap.
32176
97eab917 321772008-01-03 Pavel Roskin <proski@gnu.org>
32178
32179 * kern/i386/linuxbios/init.c: Put "void" to all function
32180 declarations with no arguments.
32181 * kern/powerpc/ieee1275/init.c: Likewise.
32182 * term/i386/pc/at_keyboard.c: Likewise.
32183 * term/i386/pc/vga_text.c: Likewise.
32184 * util/grub-mkdevicemap.c: Likewise.
32185
b9416d00 321862008-01-02 Robert Millan <rmh@aybabtu.com>
32187
32188 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32189 message when loaded image is out of bounds.
32190 (grub_multiboot_load_elf64): Likewise.
32191
92695df9 321922008-01-02 Pavel Roskin <proski@gnu.org>
32193
32194 * util/grub.d/10_linux.in: Try version without ".old" when
32195 looking for initrd. It's better to use initrd from the newer
32196 kernel of the same version than no initrd at all.
32197
d98d9cad 321982008-01-01 Robert Millan <rmh@aybabtu.com>
32199
32200 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32201
dbfdce36 322022008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32203
f19dbdb7 32204 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32205 grub_video_get_active_render_target.
32206 (grub_video_adapter): Added unmap_color and get_active_render_target.
32207
f19dbdb7 32208 * video/video.c: Added grub_video_unmap_color and
dbfdce36 32209 grub_video_get_active_render_target.
32210 (grub_video_get_info): Changed method to accept NULL pointer as an
32211 argument to allow detection of active video adapter.
32212
32213 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32214 grub_video_vbe_unmap_color_int.
32215 Added grub_video_vbe_unmap_color and
32216 grub_video_vbe_get_active_render_target.
32217 (grub_video_vbe_adapter): Added unmap_color and
32218 get_active_render_target.
32219
f19dbdb7 32220 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 32221 with grub_video_vbe_unmap_color_int.
32222
32223 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32224 (DEFAULT_NORMAL_COLOR): Likewise.
32225 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32226 (DEFAULT_FG_COLOR): Removed.
32227 (DEFAULT_BG_COLOR): Likewise.
32228 (DEFAULT_CURSOR_COLOR): Changed value.
32229 (grub_virtual_screen): Added standard_color_setting,
32230 normal_color_setting, highlight_color_setting and term_color.
32231 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32232 (bitmap_width): Added.
32233 (bitmap_height): Likewise.
32234 (bitmap): Likewise.
32235 (set_term_color): Likewise.
32236 (grub_virtual_screen_setup): Changed to use new terminal coloring
32237 settings.
32238 (grub_gfxterm_init): Added init for bitmap.
32239 (grub_gfxterm_fini): Added destroy for bitmap.
32240 (redraw_screen_rect): Updated to use background bitmap and new
32241 terminal coloring.
32242 (scroll_up): Added optimization for case when there is no bitmap.
32243 (grub_gfxterm_cls): Fixed to use correct background color.
32244 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32245 coloring.
32246 (grub_virtual_screen_setcolor): Likewise.
32247 (grub_virtual_screen_getcolor): Added.
32248 (grub_gfxterm_background_image_cmd): Likewise.
32249 (grub_video_term): Added setcolor and getcolor.
32250 (MOD_INIT): Added registration of background_image command.
32251 (MOD_TERM): Added unregistration for background_image command.
32252
c3c20931 322532007-12-30 Pavel Roskin <proski@gnu.org>
32254
32255 * loader/multiboot_loader.c: Fix multiboot command
32256 unregistration. Fix all typos in the word "multiboot".
32257
df266716 322582007-12-29 Pavel Roskin <proski@gnu.org>
94239199 32259
32260 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32261 support for initrd names used in Fedora.
32262
fc6e896c 322632007-12-26 Bean <bean123ch@gmail.com>
32264
32265 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32266 (cpio_mod_SOURCES): New variable.
32267 (cpio_mod_CFLAGS): Likewise.
32268 (cpio_mod_LDFLAGS): Likewise.
32269
32270 * fs/cpio.c: New file.
32271
32272 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32273
32274 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32275
32276 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32277
32278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32279
533110ad 322802007-12-25 Robert Millan <rmh@aybabtu.com>
32281
32282 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32283 (grub_getcolor): New function.
32284
32285 * kern/term.c (grub_getcolor): New function.
32286 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32287 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32288 (print_entry): Set normal and highlight colors to
32289 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32290 respectively, before printing and restore them to old
32291 values afterwards.
32292 (grub_menu_init_page): Likewise. Fill an additional colored space
32293 that would otherwise be left blank.
32294
32295 * term/efi/console.c (grub_console_getcolor): New function.
32296 (struct grub_console_term.getcolor): New variable.
32297 * term/i386/pc/console.c (grub_console_getcolor): New function.
32298 (struct grub_console_term.getcolor): New variable.
32299 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32300 (struct grub_console_term.getcolor): New variable.
32301
32302 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32303 (struct grub_console_term.setcolor): Remove variable.
32304 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32305 (struct grub_console_term.setcolor): Remove variable.
32306 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32307 (struct grub_console_term.setcolor): Remove variable.
32308 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32309 (struct grub_console_term.setcolor): Remove variable.
32310
4931827f 323112007-12-25 Robert Millan <rmh@aybabtu.com>
32312
32313 * configure.ac: Search for possible unifont.hex locations, and
32314 define UNIFONT_HEX if found.
32315
32316 * Makefile.in (UNIFONT_HEX): Define variable.
32317 (DATA): Rename to ...
32318 (PKGLIB): ... this. Update all users.
32319 (PKGDATA): New variable.
32320 (pkgdata_IMAGES): Rename to ...
32321 (pkglib_IMAGES): ... this. Update all users.
32322 (pkgdata_MODULES): Rename to ...
32323 (pkglib_MODULES): ... this. Update all users.
32324 (pkgdata_PROGRAMS): Rename to ...
32325 (pkglib_PROGRAMS): ... this. Update all users.
32326 (pkgdata_DATA): Rename to ...
32327 (pkglib_DATA): ... this. Update all users.
32328 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32329 (unicode.pff, ascii.pff): New rules.
32330 (all-local): Add `$(PKGDATA)' dependency.
32331 (install-local): Process `$(PKGDATA)'.
32332
32333 * util/update-grub_lib.in (font_path): Search for *.pff files in
32334 a few more locations, including `${pkgdata}'.
32335
57e57e31 323362007-12-23 Robert Millan <rmh@aybabtu.com>
32337
32338 Patch from Bean <bean123ch@gmail.com>:
32339 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32340 `size'.
32341
4bc72aa9 323422007-12-21 Bean <bean123ch@gmail.com>
32343
32344 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32345 (ntfscomp_mod_SOURCES): New variable.
32346 (ntfscomp_mod_CFLAGS): Likewise.
32347 (ntfscomp_mod_LDFLAGS): Likewise.
32348
32349 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32350 (grub_probe_SOURCES): Likewise.
32351 (grub_emu_SOURCES): Likewise.
32352
32353 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32354 (grub_emu_SOURCES): Likewise.
32355
32356 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32357 (grub_emu_SOURCES): Likewise.
32358
32359 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32360 (grub_emu_SOURCES): Likewise.
32361
32362 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32363 (read_run_list): Renamed to grub_ntfs_read_run_list.
32364 (decomp_nextvcn): Moved to ntfscomp.c.
32365 (decomp_getch): Likewise.
32366 (decomp_get16): Likewise.
32367 (decomp_block): Likewise.
32368 (read_block): Likewise.
32369 (read_data): Partially moved to ntfscomp.c.
32370 (fixup): Change unsigned to grub_uint16_t.
32371 (read_mft): Change unsigned long to grub_uint32_t.
32372 (read_attr): Likewise.
32373 (read_data): Likewise.
32374 (read_run_data): Likewise.
32375 (read_run_list): Likewise.
32376 (read_mft): Likewise.
32377
32378 * fs/ntfscomp.c: New file.
32379
32380 * include/grub/ntfs.h: New file.
32381
af680a87 323822007-12-16 Robert Millan <rmh@aybabtu.com>
32383
32384 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32385 IDE disk check, since Linux is known to support 20 IDE disks.
32386 Reported by Colin Watson.
32387
84be7599 323882007-12-15 Bean <bean123ch@gmail.com>
32389
32390 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32391 (lnxboot_img_SOURCES): New variable.
32392 (lnxboot_img_ASFLAGS): Likewise.
32393 (lnxboot_img_LDFLAGS): Likewise.
32394
32395 * boot/i386/pc/lnxboot.S: New file.
32396
6af9db01 323972007-11-24 Pavel Roskin <proski@gnu.org>
32398
32399 * configure.ac: Test if '--build-id=none' is supported by the
32400 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32401 objcopy to generate incorrect binary files (binutils
32402 2.17.50.0.18-1 as shipped by Fedora 8).
32403 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32404 linking, so that build ID doesn't break the test.
32405
7361cfe6 324062007-11-24 Pavel Roskin <proski@gnu.org>
32407
32408 * include/grub/i386/time.h: use "void" in the argument list
32409 of grub_cpu_idle().
32410 * include/grub/powerpc/time.h: Likewise.
32411 * include/grub/sparc64/time.h: Likewise.
32412
1593e10c 324132007-11-18 Christian Franke <franke@computer.org>
32414
32415 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32416 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32417 This fixes the problem that function keys did not work in grub-emu.
32418
3b8db1a8 324192007-11-18 Christian Franke <franke@computer.org>
32420
32421 * disk/host.c (grub_host_open): Remove attribute unused from
32422 name parameter. Add check for "host". This fixes the problem
32423 that grub-emu does not find partitions.
32424
2e29408d 324252007-11-18 Christian Franke <franke@computer.org>
32426
32427 * util/hostfs.c (is_dir): New function.
32428 (grub_hostfs_dir): Handle missing dirent.d_type case.
32429 (grub_hostfs_read): Add missing fseek().
32430 (grub_hostfs_label): Clear label pointer. This fixes a crash
32431 of grub-emu on "ls (host)".
32432
398cd047 324332007-11-18 Christian Franke <franke@computer.org>
32434
32435 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32436 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32437 to 64 bit boundary by default.
32438
c405c391 324392007-11-18 Bean <bean123ch@gmail.com>
32440
32441 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32442 (hexdump_mod_SOURCES): New variable.
32443 (hexdump_mod_CFLAGS): Likewise.
32444 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32445
c405c391 32446 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32447
32448 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32449
32450 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32451
32452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32453
32454 * include/grub/hexdump.h: New file.
32455
32456 * commands/hexdump.c: New file.
32457
5cced7fd 324582007-11-10 Robert Millan <rmh@aybabtu.com>
32459
32460 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32461 in grub_outb() calls.
32462 (beep_on): Likewise.
32463
8b714eb0 324642007-11-10 Christian Franke <franke@computer.org>
32465
32466 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32467 (grub_menu_run): Likewise.
32468
ce0f1839 324692007-11-10 Robert Millan <rmh@aybabtu.com>
32470
32471 * include/grub/i386/efi/machine.h: New file.
32472 * include/grub/i386/linuxbios/machine.h: Likewise.
32473 * include/grub/i386/pc/machine.h: Likewise.
32474 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32475 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32476
32477 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32478 (serial_hw_io_addr): New variable.
32479 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32480 instead of `(unsigned short *) 0x400'.
32481
270c237d 324822007-11-10 Bean <bean123ch@gmail.com>
32483
32484 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32485
a87783bf 324862007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32487
32488 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32489 (vga_mod_SOURCES): Added.
32490 (vga_mod_CFLAGS): Likewise.
32491 (vga_mod_LDFLAGS): Likewise.
32492
32493 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32494 grub_outb() calls.
32495 (set_map_mask): Likewise.
32496 (set_read_map): Likewise.
32497 (set_read_address): Likewise.
32498 (vga_font): Removed variable.
32499 (get_vga_glyph): Removed function.
32500 (invalidate_char): Likewise.
32501 (write_char): Changed to use grub_font_get_glyph() for font
32502 information.
32503 (grub_vga_putchar): Likewise.
32504 (grub_vga_getcharwidth): Likewise.
32505
6433b448 325062007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32507
32508 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32509 flags.
32510 (pxeboot_img_LDFLAGS): Likewise.
32511 (diskboot_img_LDFLAGS): Likewise.
32512 (kernel_img_LDFLAGS): Likewise.
32513
49178511 325142007-11-06 Robert Millan <rmh@aybabtu.com>
32515
32516 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32517 in grub_outb() calls.
32518 (serial_hw_init): Likewise.
32519
53b052de 325202007-11-05 Robert Millan <rmh@aybabtu.com>
32521
32522 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32523 spaces. Skip non-regular files.
32524
5ab33bba 325252007-11-05 Robert Millan <rmh@aybabtu.com>
32526
32527 * kern/disk.c (grub_disk_firmware_fini)
32528 (grub_disk_firmware_is_tainted): New variables.
32529
32530 * include/grub/disk.h (grub_disk_firmware_fini)
32531 (grub_disk_firmware_is_tainted): Likewise.
32532
32533 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32534 (grub_disk_biosdisk_fini): ... to here.
32535 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32536 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32537 is set. Register grub_disk_biosdisk_fini() in
32538 `grub_disk_firmware_fini'.
32539
32540 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32541 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32542 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32543 to finish existing firmware disk interface.
32544
32545 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32546 (ata_mod_SOURCES): New variable.
32547 (ata_mod_CFLAGS): Likewise.
32548 (ata_mod_LDFLAGS): Likewise.
32549
0149ab7c 325502007-11-05 Robert Millan <rmh@aybabtu.com>
32551
32552 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32553 (grub_ata_wait): Reimplement using grub_millisleep().
32554
32555 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32556 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32557
be7ac41e 325582007-11-03 Marco Gerards <marco@gnu.org>
32559
32560 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32561 (CRTC_ADDR_PORT): New macro.
32562 (CRTC_DATA_PORT): Likewise.
32563 (CRTC_CURSOR): Likewise.
32564 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32565 (CRTC_CURSOR_ADDR_LOW): Likewise.
32566 (update_cursor): New function.
32567 (grub_console_real_putchar): Call `update_cursor'.
32568 (grub_console_gotoxy): Likewise.
32569 (grub_console_cls): Set the default color when clearing the
32570 screen.
32571 (grub_console_setcursor): Implemented.
32572
bb06ab2e 325732007-11-03 Marco Gerards <marco@gnu.org>
32574
32575 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32576 become activate.
32577 (grub_ata_pio_write): Likewise.
32578
32579 (grub_atapi_identify): Wait after issuing an ATA command.
32580 (grub_atapi_packet): Likewise.
32581 (grub_ata_identify): Likewise.
32582 (grub_ata_readwrite): Likewise.
32583
cf8f780b 325842007-11-03 Marco Gerards <marco@gnu.org>
32585
32586 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32587 (grub_ata_pio_write): Likewise.
32588 (grub_ata_readwrite): Use `grub_error', instead of
32589 returning `grub_errno'.
32590
ed649e54 325912007-11-03 Marco Gerards <marco@gnu.org>
32592
32593 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32594 grub_ata_pio_write once for every single sector, instead of for
32595 multiple sectors.
32596
ca25d8f0 325972007-10-31 Robert Millan <rmh@aybabtu.com>
32598
32599 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32600
32601 * conf/i386-linuxbios.rmk: New file.
32602
32603 * kern/i386/pc/hardware.c: Likewise.
32604 * term/i386/pc/at_keyboard.c: Likewise.
32605 * term/i386/pc/vga_text.c: Likewise.
32606
32607 * include/grub/i386/linuxbios/boot.h: Likewise.
32608 * include/grub/i386/linuxbios/console.h: Likewise.
32609 * include/grub/i386/linuxbios/init.h: Likewise.
32610 * include/grub/i386/linuxbios/kernel.h: Likewise.
32611 * include/grub/i386/linuxbios/loader.h: Likewise.
32612 * include/grub/i386/linuxbios/memory.h: Likewise.
32613 * include/grub/i386/linuxbios/serial.h: Likewise.
32614 * include/grub/i386/linuxbios/time.h: Likewise.
32615
32616 * kern/i386/linuxbios/init.c: Likewise.
32617 * kern/i386/linuxbios/startup.S: Likewise.
32618 * kern/i386/linuxbios/table.c: Likewise.
32619
e911ecc1 326202007-10-31 Marco Gerards <marco@gnu.org>
32621
32622 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32623 (ata_mod_SOURCES): New variable.
32624 (ata_mod_CFLAGS): Likewise.
32625 (ata_mod_LDFLAGS): Likewise.
32626
32627 * disk/ata.c: New file.
32628
32629 * include/grub/disk.h (grub_disk_dev_id): Add
32630 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 32631
7f66d0e0 326322007-10-31 Robert Millan <rmh@aybabtu.com>
32633
32634 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32635 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32636
32637 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32638 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32639
32640 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32641 `<grub/types.h>'.
32642
32643 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32644
5cd7dd46 326452007-10-27 Robert Millan <rmh@aybabtu.com>
32646
3236ca65 32647 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 32648
2ebfc90f 326492007-10-22 Robert Millan <rmh@aybabtu.com>
32650
32651 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32652 `"../realmode.S"'.
32653 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32654
73fcb0f3 326552007-10-22 Robert Millan <rmh@aybabtu.com>
32656
32657 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32658 (pkgdata_MODULES): Add `biosdisk.mod'.
32659 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32660 variables.
32661
32662 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32663 (grub_biosdisk_init): Replace with ...
32664 (GRUB_MOD_INIT(biosdisk)): ... this.
32665 (grub_biosdisk_fini): Replace with ...
32666 (GRUB_MOD_FINI(biosdisk)): ... this.
32667
32668 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32669 (grub_machine_init): Remove call to grub_biosdisk_init().
32670 (grub_machine_fini): Remove call to grub_machine_fini().
32671
32672 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32673
3381d274 326742007-10-22 Robert Millan <rmh@aybabtu.com>
32675
32676 * include/grub/time.h: New file.
32677 * include/grub/i386/time.h: Likewise.
32678 * include/grub/powerpc/time.h: Likewise.
32679 * include/grub/sparc64/time.h: Likewise.
32680
32681 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32682 instances to ...
32683 (KERNEL_MACHINE_TIME_HEADER): ... this.
32684 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32685 instances to ...
32686 (KERNEL_MACHINE_TIME_HEADER): ... this.
32687 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32688 instances to ...
32689 (KERNEL_MACHINE_TIME_HEADER): ... this.
32690
32691 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32692 (grub_millisleep): New function.
32693 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32694 (grub_millisleep): New function.
32695 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32696 Remove `grub/machine/time.h' include.
32697 (grub_millisleep): New function.
32698 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32699 Remove `grub/machine/time.h' include.
32700 (grub_millisleep): New function.
32701
32702 * include/grub/misc.h (grub_div_roundup): New function.
32703
32704 * kern/misc.c: Include `<grub/time.h>'.
32705 (grub_millisleep_generic): New function.
32706
32707 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32708 Add `time.h'.
32709 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32710 Add `time.h'.
32711 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32712 `machine/time.h'. Add `time.h'.
32713 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32714
a39a0312 327152007-10-21 Robert Millan <rmh@aybabtu.com>
32716
32717 * include/grub/misc.h (grub_max): New function.
32718
2aad70e2 327192007-10-21 Robert Millan <rmh@aybabtu.com>
32720
32721 * util/misc.c (grub_util_info): Call fflush() before returning.
32722
54b71c4b 327232007-10-20 Robert Millan <rmh@aybabtu.com>
32724
32725 * genmk.rb (Image): Copy `extra_flags' from here ...
32726 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32727
32728 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32729 to `argc' and `args' arguments.
32730
a979f513 327312007-10-17 Robert Millan <rmh@aybabtu.com>
32732
32733 * kern/i386/loader.S: New file.
32734
32735 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32736 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32737 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32738 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32739 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32740 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32741 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32742 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32743 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32744 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32745 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32746 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32747 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32748 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32749
32750 * kern/i386/realmode.S: New file.
32751
32752 * kern/i386/pc/startup.S (protstack): Moved from here ...
32753 * kern/i386/realmode.S (protstack)... to here.
32754 * kern/i386/pc/startup.S (gdt): Moved from here ...
32755 * kern/i386/realmode.S (gdt)... to here.
32756 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32757 * kern/i386/realmode.S (prot_to_real)... to here.
32758
32759 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32760 `kern/i386/realmode.S'.
32761
825fc8fd 327622007-10-17 Robert Millan <rmh@aybabtu.com>
32763
32764 * include/grub/i386/loader.h: New file.
32765
32766 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32767 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32768 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32769 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32770 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32771 * include/grub/i386/loader.h (grub_linux_prot_size)
32772 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32773 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32774 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32775 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32776
32777 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32778
e179b2f4 327792007-10-15 Robert Millan <rmh@aybabtu.com>
32780
32781 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32782 filesystem when dev->disk is unset.
32783 Do probe for filesystem even when dev->disk->has_partitions is set.
32784 In case a filesystem is found, always report it.
32785 In case it isn't, if dev->disk->has_partitions is set, report that
32786 a partition table was found instead of reporting that no filesystem
32787 could be identified.
32788
5db82af6 327892007-10-12 Robert Millan <rmh@aybabtu.com>
32790
32791 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32792 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32793
68f6ac74 32794 * include/grub/types.h (grub_host_to_target16): New macro.
32795 (grub_host_to_target32): Likewise.
32796 (grub_host_to_target64): Likewise.
32797 (grub_target_to_host16): Likewise.
32798 (grub_target_to_host32): Likewise.
32799 (grub_target_to_host64): Likewise.
5db82af6 32800
32801 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32802 Renamed from to ...
32803 (GRUB_MOD_ALIGN): ...this. Update all users.
32804
68f6ac74 32805 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32806 grub_host_to_target32.
32807 Replace grub_be_to_cpu32 with grub_target_to_host32.
32808 (load_modules): Likewise.
32809 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32810 Replace grub_be_to_cpu32 with grub_target_to_host32.
32811 Replace grub_cpu_to_be16 with grub_host_to_target16.
32812 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 32813
3cf497cc 328142007-10-12 Robert Millan <rmh@aybabtu.com>
32815
32816 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32817 * util/elf/grub-mkimage.c: ... here.
32818
32819 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32820 `util/powerpc/ieee1275/grub-mkimage.c'.
32821
c8cc3692 328222007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 32823
c8cc3692 32824 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32825 and make it easier to figure out.
32826 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32827 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32828 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32829 leave us with less than HEAP_MIN_SIZE total heap.
32830 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 32831
5c58b791 328322007-10-03 Robert Millan <rmh@aybabtu.com>
32833
32834 * include/grub/i386/io.h: New file.
32835 * commands/i386/pc/play.c (inb): Removed.
32836 (outb): Removed.
32837 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32838 with grub_outb().
afcd2ef8 32839 * term/i386/pc/serial.c (inb): Removed.
32840 (outb): Removed.
32841 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32842 with grub_outb().
32843 * term/i386/pc/vga.c (inb): Removed.
32844 (outb): Removed.
32845 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32846 with grub_outb().
5c58b791 32847
1a477ed6 328482007-10-02 Robert Millan <rmh@aybabtu.com>
32849
32850 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32852 Reported by Marcin Kurek.
32853
6b5d80fa 328542007-09-07 Robert Millan <rmh@aybabtu.com>
32855
32856 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32857 SmartFirmware version updates (as released by Sven Luther), and avoid
32858 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32859 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32860 known broken.
32861
5618afbf 328622007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32863
32864 From Hitoshi Ozeki:
32865 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32866 when merging two regions.
32867
6139dcd9 328682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32869
508e39ee 32870 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32871 * normal/completion.c (grub_normal_do_completion): Likewise.
32872 Reported by Hitoshi Ozeki.
32873
328742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32875
6139dcd9 32876 Do not use devices at boot in chainloading.
f19dbdb7 32877
6139dcd9 32878 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32879 (boot_part_addr): Likewise.
32880 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32881 with BOOT_DRIVE and BOOT_PART_ADDR.
32882 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32883 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32884
38da6516 328852007-08-29 Robert Millan <rmh@aybabtu.com>
32886
32887 Patch from Simon Peter <dn.tlp@gmx.net>:
32888 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32889 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32890 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32891 util/i386/pc/grub-setup.c_DEPENDENCIES.
32892 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32893 util/grub-probe.c_DEPENDENCIES.
32894 * conf/powerpc-ieee1275.rmk: Likewise.
32895
29d0928c 328962007-08-28 Robert Millan <rmh@aybabtu.com>
32897
32898 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32899 to tell grub-mkdevicemap how to name devices.
32900 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32901 feature).
32902
32903 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32904 util/i386/get_disk_name.c.
32905 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32906 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32907 util/ieee1275/get_disk_name.c.
32908
32909 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32910
32911 * DISTLIST: Add util/i386/get_disk_name.c and
32912 util/ieee1275/get_disk_name.c.
32913
32914 * util/grub-mkdevicemap.c: Replace device naming logic with
32915 grub_util_get_disk_name() calls.
32916
5a0d3cca 329172007-08-20 Robert Millan <rmh@aybabtu.com>
32918
32919 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32920 (so that it works for both plural and singular quantities).
32921
8b72db2f 329222007-08-05 Robert Millan <rmh@aybabtu.com>
32923
32924 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32925 so that [xz] isn't taken into account when determining order.
32926
352466bf 329272007-08-02 Marco Gerards <marco@gnu.org>
32928
32929 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32930 `include/multiboot2.h', `include/grub/elfload.h',
32931 `include/multiboot.h', `include/grub/multiboot.h',
32932 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32933 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32934 `kern/elf.c', `loader/multiboot_loader.c',
32935 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32936 `loader/i386/pc/multiboot2.c',
32937 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32938 `util/i386/pc/grub-mkrescue.in'. Remove
32939 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32940 `include/grub/i386/pc/util/biosdisk.h' and
32941 `include/grub/powerpc/ieee1275/multiboot.h'.
32942
8f096014 329432007-08-02 Bean <bean123ch@gmail.com>
32944
32945 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32946 (ntfs_mod_SOURCES): New variable.
32947 (ntfs_mod_CFLAGS): Likewise.
32948 (ntfs_mod_LDFLAGS): Likewise.
32949
32950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32951 (grub_probe_SOURCES): Likewise.
32952 (grub_emu_SOURCES): Likewise.
32953
32954 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32955 (grub_emu_SOURCES): Likewise.
32956
32957 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32958 (grub_emu_SOURCES): Likewise.
f19dbdb7 32959
8f096014 32960 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32961
32962 * fs/ntfs.c: New file.
32963
9959f7db 329642007-08-02 Bean <bean123ch@gmail.com>
32965
32966 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32967
32968 * file.h (grub_file): Likewise.
32969
32970 * fshelp.h (grub_fshelp_read_file): Likewise.
32971
32972 * util/i386/pc/grub-setup.c (setup): Likewise.
32973 (save_first_sector): Likewise.
32974 (save_blocklists): Likewise.
f19dbdb7 32975
9959f7db 32976 * fs/affs.c (grub_affs_read_file): Likewise.
32977
32978 * fs/ext2.c (grub_ext2_read_file): Likewise.
32979
32980 * fs/fat.c (grub_fat_read_data): Likewise.
32981
32982 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32983
32984 * fs/hfs.c (grub_hfs_read_file): Likewise.
32985
32986 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32987
32988 * fs/jfs.c (grub_jfs_read_file): Likewise.
32989
32990 * fs/minix.c (grub_minix_read_file): Likewise.
32991
32992 * fs/sfs.c (grub_sfs_read_file): Likewise.
32993
32994 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 32995
9959f7db 32996 * fs/xfs.c (grub_xfs_read_file): Likewise.
32997
32998 * command/blocklist.c (read_blocklist): Likewise.
32999 (print_blocklist): Likewise.
33000
0a203f83 330012007-08-02 Marco Gerards <marco@gnu.org>
33002
33003 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33004 `util/hostfs.c'.
33005
33006 * disk/host.c: New file.
33007
33008 * util/hostfs.c: Likewise.
33009
33010 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33011 return `GRUB_ERR_BAD_FS'.
33012 * fs/sfs.c (grub_sfs_mount): Likewise.
33013 * fs/xfs.c (grub_xfs_mount): Likewise.
33014
33015 * include/grub/disk.h (enum grub_disk_dev_id): Add
33016 `GRUB_DISK_DEVICE_HOST_ID'.
33017
33018 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33019
e5dfe777 330202007-07-24 Jerone Young <jerone@gmail.com>
33021
f19dbdb7 33022 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 33023 modules for compilation.
33024 * conf/powerpc-ieee1275.rmk: Likewise.
33025
33026 * include/multiboot.h: Move multiboot definitions to one file. Rename
33027 many definitions to not get grub specific.
33028 * include/multiboot2.h: Create header with multiboot 2 definitions.
33029 * include/grub/multiboot.h: Header for grub specific function
33030 prototypes and definitions.
33031 * include/grub/multiboot2.h: Likewise.
33032 * include/grub/multiboot_loader.h: Likewise.
33033 * include/grub/i386/pc/multiboot.h: Removed.
33034 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33035
33036 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33037 and 2 to allow for one multiboot and module commands.
33038 * loader/multiboot2.c: Add multiboot2 functionality.
33039 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33040 and definition names.
33041 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33042 2 functions.
33043 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33044 ieee1275 specific multiboot2 code.
33045
33046 * kern/i386/pc/startup.S: Change headers and definition names for
33047 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33048
daf0f0ba 330492007-07-22 Robert Millan <rmh@aybabtu.com>
33050
33051 * geninitheader.sh: Process file specified in first parameter rather
33052 than hardcoding grub_modules_init.lst.
fe6b695a 33053 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 33054 than hardcoding grub_modules_init.h.
33055
33056 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33057 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33058 grub_probe_init.[ch] and grub_setup_init.[ch].
33059
33060 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33061 grub_modules_init.h with grub_emu_init.h.
33062 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33063 grub_probe_init.[ch] files.
33064 * conf/i386-efi.rmk: Likewise.
33065 * conf/i386-pc.rmk: Likewise.
33066 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33067 grub_setup_init.[ch] files.
33068
33069 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33070 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33071 to initialize modules rather than a list of hardcoded functions.
33072 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33073 grub_init_all() to initialize modules rather than a list of hardcoded
33074 functions.
33075
54cdc1cc 330762007-07-22 Robert Millan <rmh@aybabtu.com>
33077
33078 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33079 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33080
ad0686cc 330812007-07-22 Robert Millan <rmh@aybabtu.com>
33082
33083 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33084 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33085 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33086 flag when running on SmartFirmware.
33087 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33088 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33089 was set.
33090
33091 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33092 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33093 rather than decreasing it.
33094
33095 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33096 there's not enough space to do it, fail in the same way as when it
33097 can't be done because there are no partitions.
33098
33099 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33100 when nvsetenv failed.
33101
969c02ec 331022007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33103
33104 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33105 because this rule is automatically generated.
33106 (grub-mkrescue): Removed for the same reason as above.
33107
5a79f472 331082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33109
33110 Migrate to GNU General Public License Version 3.
f19dbdb7 33111
5a79f472 33112 * COPYING: Replaced with the plain text version of GPLv3.
33113
33114 * config.guess: Updated from gnulib.
33115 * config.sub: Likewise.
33116
33117 * geninit.sh: Output a GPLv3 copyright notice.
33118 * geninitheader.sh: Likewise.
33119 * genmodsrc.sh: Likewise.
33120 * gensymlist.sh.in: Likewise.
33121
33122 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33123 * boot/i386/pc/diskboot.S: Likewise.
33124 * boot/i386/pc/pxeboot.S: Likewise.
33125 * commands/blocklist.c: Likewise.
33126 * commands/boot.c: Likewise.
33127 * commands/cat.c: Likewise.
33128 * commands/cmp.c: Likewise.
33129 * commands/configfile.c: Likewise.
33130 * commands/echo.c: Likewise.
33131 * commands/help.c: Likewise.
33132 * commands/ls.c: Likewise.
33133 * commands/search.c: Likewise.
33134 * commands/terminal.c: Likewise.
33135 * commands/test.c: Likewise.
33136 * commands/videotest.c: Likewise.
33137 * commands/i386/cpuid.c: Likewise.
33138 * commands/i386/pc/halt.c: Likewise.
33139 * commands/i386/pc/play.c: Likewise.
33140 * commands/i386/pc/reboot.c: Likewise.
33141 * commands/i386/pc/vbeinfo.c: Likewise.
33142 * commands/i386/pc/vbetest.c: Likewise.
33143 * commands/ieee1275/halt.c: Likewise.
33144 * commands/ieee1275/reboot.c: Likewise.
33145 * commands/ieee1275/suspend.c: Likewise.
33146 * disk/loopback.c: Likewise.
33147 * disk/lvm.c: Likewise.
33148 * disk/raid.c: Likewise.
33149 * disk/efi/efidisk.c: Likewise.
33150 * disk/i386/pc/biosdisk.c: Likewise.
33151 * disk/ieee1275/ofdisk.c: Likewise.
33152 * font/manager.c: Likewise.
33153 * fs/affs.c: Likewise.
33154 * fs/ext2.c: Likewise.
33155 * fs/fat.c: Likewise.
33156 * fs/fshelp.c: Likewise.
33157 * fs/hfs.c: Likewise.
33158 * fs/hfsplus.c: Likewise.
33159 * fs/iso9660.c: Likewise.
33160 * fs/jfs.c: Likewise.
33161 * fs/minix.c: Likewise.
33162 * fs/sfs.c: Likewise.
33163 * fs/ufs.c: Likewise.
33164 * fs/xfs.c: Likewise.
33165 * hello/hello.c: Likewise.
33166 * include/grub/acorn_filecore.h: Likewise.
33167 * include/grub/arg.h: Likewise.
33168 * include/grub/bitmap.h: Likewise.
33169 * include/grub/boot.h: Likewise.
33170 * include/grub/cache.h: Likewise.
33171 * include/grub/device.h: Likewise.
33172 * include/grub/disk.h: Likewise.
33173 * include/grub/dl.h: Likewise.
33174 * include/grub/elfload.h: Likewise.
33175 * include/grub/env.h: Likewise.
33176 * include/grub/err.h: Likewise.
33177 * include/grub/file.h: Likewise.
33178 * include/grub/font.h: Likewise.
33179 * include/grub/fs.h: Likewise.
33180 * include/grub/fshelp.h: Likewise.
33181 * include/grub/gzio.h: Likewise.
33182 * include/grub/hfs.h: Likewise.
33183 * include/grub/kernel.h: Likewise.
33184 * include/grub/loader.h: Likewise.
33185 * include/grub/lvm.h: Likewise.
33186 * include/grub/misc.h: Likewise.
33187 * include/grub/mm.h: Likewise.
33188 * include/grub/net.h: Likewise.
33189 * include/grub/normal.h: Likewise.
33190 * include/grub/parser.h: Likewise.
33191 * include/grub/partition.h: Likewise.
33192 * include/grub/pc_partition.h: Likewise.
33193 * include/grub/raid.h: Likewise.
33194 * include/grub/rescue.h: Likewise.
33195 * include/grub/script.h: Likewise.
33196 * include/grub/setjmp.h: Likewise.
33197 * include/grub/symbol.h: Likewise.
33198 * include/grub/term.h: Likewise.
33199 * include/grub/terminfo.h: Likewise.
33200 * include/grub/tparm.h: Likewise.
33201 * include/grub/types.h: Likewise.
33202 * include/grub/video.h: Likewise.
33203 * include/grub/efi/api.h: Likewise.
33204 * include/grub/efi/chainloader.h: Likewise.
33205 * include/grub/efi/console.h: Likewise.
33206 * include/grub/efi/console_control.h: Likewise.
33207 * include/grub/efi/disk.h: Likewise.
33208 * include/grub/efi/efi.h: Likewise.
33209 * include/grub/efi/pe32.h: Likewise.
33210 * include/grub/efi/time.h: Likewise.
33211 * include/grub/i386/linux.h: Likewise.
33212 * include/grub/i386/setjmp.h: Likewise.
33213 * include/grub/i386/types.h: Likewise.
33214 * include/grub/i386/efi/kernel.h: Likewise.
33215 * include/grub/i386/efi/loader.h: Likewise.
33216 * include/grub/i386/efi/time.h: Likewise.
33217 * include/grub/i386/pc/biosdisk.h: Likewise.
33218 * include/grub/i386/pc/boot.h: Likewise.
33219 * include/grub/i386/pc/chainloader.h: Likewise.
33220 * include/grub/i386/pc/console.h: Likewise.
33221 * include/grub/i386/pc/init.h: Likewise.
33222 * include/grub/i386/pc/kernel.h: Likewise.
33223 * include/grub/i386/pc/loader.h: Likewise.
33224 * include/grub/i386/pc/memory.h: Likewise.
33225 * include/grub/i386/pc/multiboot.h: Likewise.
33226 * include/grub/i386/pc/serial.h: Likewise.
33227 * include/grub/i386/pc/time.h: Likewise.
33228 * include/grub/i386/pc/vbe.h: Likewise.
33229 * include/grub/i386/pc/vbeblit.h: Likewise.
33230 * include/grub/i386/pc/vbefill.h: Likewise.
33231 * include/grub/i386/pc/vbeutil.h: Likewise.
33232 * include/grub/i386/pc/vga.h: Likewise.
33233 * include/grub/ieee1275/ieee1275.h: Likewise.
33234 * include/grub/ieee1275/ofdisk.h: Likewise.
33235 * include/grub/powerpc/libgcc.h: Likewise.
33236 * include/grub/powerpc/setjmp.h: Likewise.
33237 * include/grub/powerpc/types.h: Likewise.
33238 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33239 * include/grub/powerpc/ieee1275/console.h: Likewise.
33240 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33241 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33242 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33243 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33244 * include/grub/powerpc/ieee1275/time.h: Likewise.
33245 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33246 * include/grub/sparc64/libgcc.h: Likewise.
33247 * include/grub/sparc64/setjmp.h: Likewise.
33248 * include/grub/sparc64/types.h: Likewise.
33249 * include/grub/sparc64/ieee1275/console.h: Likewise.
33250 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33251 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33252 * include/grub/sparc64/ieee1275/time.h: Likewise.
33253 * include/grub/util/biosdisk.h: Likewise.
33254 * include/grub/util/getroot.h: Likewise.
33255 * include/grub/util/lvm.h: Likewise.
33256 * include/grub/util/misc.h: Likewise.
33257 * include/grub/util/raid.h: Likewise.
33258 * include/grub/util/resolve.h: Likewise.
33259 * io/gzio.c: Likewise.
33260 * kern/device.c: Likewise.
33261 * kern/disk.c: Likewise.
33262 * kern/dl.c: Likewise.
33263 * kern/elf.c: Likewise.
33264 * kern/env.c: Likewise.
33265 * kern/err.c: Likewise.
33266 * kern/file.c: Likewise.
33267 * kern/fs.c: Likewise.
33268 * kern/loader.c: Likewise.
33269 * kern/main.c: Likewise.
33270 * kern/misc.c: Likewise.
33271 * kern/mm.c: Likewise.
33272 * kern/parser.c: Likewise.
33273 * kern/partition.c: Likewise.
33274 * kern/rescue.c: Likewise.
33275 * kern/term.c: Likewise.
33276 * kern/efi/efi.c: Likewise.
33277 * kern/efi/init.c: Likewise.
33278 * kern/efi/mm.c: Likewise.
33279 * kern/i386/dl.c: Likewise.
33280 * kern/i386/efi/init.c: Likewise.
33281 * kern/i386/efi/startup.S: Likewise.
33282 * kern/i386/pc/init.c: Likewise.
33283 * kern/i386/pc/lzo1x.S: Likewise.
33284 * kern/i386/pc/startup.S: Likewise.
33285 * kern/ieee1275/ieee1275.c: Likewise.
33286 * kern/powerpc/cache.S: Likewise.
33287 * kern/powerpc/dl.c: Likewise.
33288 * kern/powerpc/ieee1275/cmain.c: Likewise.
33289 * kern/powerpc/ieee1275/crt0.S: Likewise.
33290 * kern/powerpc/ieee1275/init.c: Likewise.
33291 * kern/powerpc/ieee1275/openfw.c: Likewise.
33292 * kern/sparc64/cache.S: Likewise.
33293 * kern/sparc64/dl.c: Likewise.
33294 * kern/sparc64/ieee1275/init.c: Likewise.
33295 * kern/sparc64/ieee1275/openfw.c: Likewise.
33296 * loader/efi/chainloader.c: Likewise.
33297 * loader/efi/chainloader_normal.c: Likewise.
33298 * loader/i386/efi/linux.c: Likewise.
33299 * loader/i386/efi/linux_normal.c: Likewise.
33300 * loader/i386/pc/chainloader.c: Likewise.
33301 * loader/i386/pc/chainloader_normal.c: Likewise.
33302 * loader/i386/pc/linux.c: Likewise.
33303 * loader/i386/pc/linux_normal.c: Likewise.
33304 * loader/i386/pc/multiboot.c: Likewise.
33305 * loader/i386/pc/multiboot_normal.c: Likewise.
33306 * loader/powerpc/ieee1275/linux.c: Likewise.
33307 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33308 * normal/arg.c: Likewise.
33309 * normal/cmdline.c: Likewise.
33310 * normal/command.c: Likewise.
33311 * normal/completion.c: Likewise.
33312 * normal/execute.c: Likewise.
33313 * normal/function.c: Likewise.
33314 * normal/lexer.c: Likewise.
33315 * normal/main.c: Likewise.
33316 * normal/menu.c: Likewise.
33317 * normal/menu_entry.c: Likewise.
33318 * normal/misc.c: Likewise.
33319 * normal/parser.y: Likewise.
33320 * normal/script.c: Likewise.
33321 * normal/i386/setjmp.S: Likewise.
33322 * normal/powerpc/setjmp.S: Likewise.
33323 * normal/sparc64/setjmp.S: Likewise.
33324 * partmap/acorn.c: Likewise.
33325 * partmap/amiga.c: Likewise.
33326 * partmap/apple.c: Likewise.
33327 * partmap/gpt.c: Likewise.
33328 * partmap/pc.c: Likewise.
33329 * partmap/sun.c: Likewise.
33330 * term/gfxterm.c: Likewise.
33331 * term/terminfo.c: Likewise.
33332 * term/efi/console.c: Likewise.
33333 * term/i386/pc/console.c: Likewise.
33334 * term/i386/pc/serial.c: Likewise.
33335 * term/i386/pc/vesafb.c: Likewise.
33336 * term/i386/pc/vga.c: Likewise.
33337 * term/ieee1275/ofconsole.c: Likewise.
33338 * util/biosdisk.c: Likewise.
33339 * util/console.c: Likewise.
33340 * util/genmoddep.c: Likewise.
33341 * util/getroot.c: Likewise.
33342 * util/grub-emu.c: Likewise.
33343 * util/grub-mkdevicemap.c: Likewise.
33344 * util/grub-probe.c: Likewise.
33345 * util/lvm.c: Likewise.
33346 * util/misc.c: Likewise.
33347 * util/raid.c: Likewise.
33348 * util/resolve.c: Likewise.
33349 * util/update-grub.in: Likewise.
33350 * util/update-grub_lib.in: Likewise.
33351 * util/grub.d/00_header.in: Likewise.
33352 * util/grub.d/10_hurd.in: Likewise.
33353 * util/grub.d/10_linux.in: Likewise.
33354 * util/i386/efi/grub-install.in: Likewise.
33355 * util/i386/efi/grub-mkimage.c: Likewise.
33356 * util/i386/pc/grub-install.in: Likewise.
33357 * util/i386/pc/grub-mkimage.c: Likewise.
33358 * util/i386/pc/grub-mkrescue.in: Likewise.
33359 * util/i386/pc/grub-setup.c: Likewise.
33360 * util/i386/pc/misc.c: Likewise.
33361 * util/powerpc/ieee1275/grub-install.in: Likewise.
33362 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33363 * util/powerpc/ieee1275/misc.c: Likewise.
33364 * video/bitmap.c: Likewise.
33365 * video/video.c: Likewise.
33366 * video/i386/pc/vbe.c: Likewise.
33367 * video/i386/pc/vbeblit.c: Likewise.
33368 * video/i386/pc/vbefill.c: Likewise.
33369 * video/i386/pc/vbeutil.c: Likewise.
33370 * video/readers/tga.c: Likewise.
33371
3572d015 333722007-07-02 Robert Millan <rmh@aybabtu.com>
33373
33374 * conf/i386-efi.rmk: Replace obsolete reference to
33375 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33376 with util/getroot.c.
33377 * conf/powerpc-ieee1275.rmk: Likewise.
33378 * conf/sparc64-ieee1275.rmk: Likewise.
33379
33380 * util/grub-emu.c (main): Fix unchecked pointer handling.
33381
2c2a681b 333822007-07-02 Robert Millan <rmh@aybabtu.com>
33383
33384 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33385 invocation to fail, in order to support partition-less media.
33386
33387 * util/i386/pc/grub-install.in: Likewise.
33388
33389 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33390 which fs or partmap modules are needed (akin to its sister scripts).
33391
33392 Also use grub-probe to get rid of unportable /proc/mounts check.
33393
33394 Print the same informational message that the other scripts do, before
fe6b695a 33395 exiting.
2c2a681b 33396
6193defe 333972007-06-23 Robert Millan <rmh@aybabtu.com>
33398
fe6b695a 33399 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33400 a font file can be found and, if so, echo the GRUB path to it.
33401
33402 * util/update-grub.in: Handle multiple terminals depending on user
33403 input, platform availability and font file presence. Propagate
33404 variables of our findings to /etc/grub.d/ children.
33405
33406 * util/grub.d/00_header.in: Handle multiple terminals, based on
33407 environment setup by update-grub.
33408
eface1dc 334092007-06-23 Robert Millan <rmh@aybabtu.com>
33410
ba50d28f 33411 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33412
bf697e28 334132007-06-21 Robert Millan <rmh@aybabtu.com>
33414
33415 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33416 indicate end of data section in kernel image.
33417 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33418 GRUB_KERNEL_MACHINE_DATA_END.
33419
33420 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33421 space for it.
33422 * kern/i386/efi/startup.S: Likewise.
33423
33424 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33425 during image generation. Implement --prefix option to override this
33426 patch.
33427 * util/i386/efi/grub-mkimage.c: Likewise.
33428
33429 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33430 code to make path relative to its root into a separate function.
33431
33432 * util/i386/pc/grub-install.in: Use newly provided
33433 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33434 pass the result to grub-install --prefix.
33435
baa574b4 334362007-06-13 Robert Millan <rmh@aybabtu.com>
33437
33438 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33439 DEFAULT_DEVICE_MAP.
33440 * util/grub-emu.c: Use above definitions from misc.h instead of
33441 defining them.
33442 * util/grub-mkdevicemap.c: Likewise.
33443 * util/i386/pc/grub-setup.c: Likewise.
33444 * util/grub-probe.c: Likewise.
33445 (probe): Abort with grub_util_error() when either
33446 grub_guess_root_device or grub_util_get_grub_dev fails.
33447
0215dcbf 334482007-06-12 Robert Millan <rmh@aybabtu.com>
33449
33450 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33451 "pager" assignment.
33452 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33453 "pcdata".
33454 * util/grub-probe.c (probe): Likewise for "drive_name".
33455
8af2ab7b 334562007-06-11 Robert Millan <rmh@aybabtu.com>
33457
33458 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33459 not just the cdrom one.
33460
59d31694 334612007-06-11 Robert Millan <rmh@aybabtu.com>
33462
33463 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33464 Add --pkglibdir=DIR option to override pkglibdir.
33465 Mention --image-type=TYPE in help output.
33466 Fix --grub-mkimage (it was a no-op).
fe6b695a 33467 Abort gracefully when no parameter is given.
59d31694 33468
7ee367e4 334692007-06-11 Robert Millan <rmh@aybabtu.com>
33470
33471 * util/i386/pc/grub-mkrescue.in: New file.
33472 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33473 * Makefile.in: Handle bin_SCRIPTS.
33474
29b0ed46 334752007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33476
33477 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33478 list of video modes.
33479
c0f90770 334802007-06-06 Robert Millan <rmh@aybabtu.com>
33481
33482 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33483 file doesn't exist, or if it is in a filesystem grub can't read.
33484
33485 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33486 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33487 header comment to fit in 80 columns when the variables are resolved.
33488
33489 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33490 could be identified by update-grub. Remove redundant check for
fe6b695a 33491 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33492 handles that).
33493
fb36dc26 334942007-06-04 Robert Millan <rmh@aybabtu.com>
33495
33496 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33497
33498 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33499
33500 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33501
0c68c93e 335022007-06-04 Robert Millan <rmh@aybabtu.com>
33503
33504 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33505
33506 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33507 grub_apple_partition_map_fini.
33508
33509 * util/biosdisk.c
33510 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33511 to access >2 TiB disks).
33512
33513 Print disk->total_sectors with %llu instead of %lu, since this
33514 variable is always 64-bit (prevents wrong disk size from being displayed
33515 on either >2 TiB disk or big-endian CPU).
33516
33517 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33518 into a generic case that supports all (sane) partition maps.
33519
33520 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33521 breaks big-endian.
33522
33523 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33524 and grub_apple_partition_map_fini() after that.
33525
0f23eb74 335262007-06-01 Robert Millan <rmh@aybabtu.com>
33527
33528 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33529
33530 * util/grub.d/00_header.in: Only enable gfxterm when
33531 convert_system_path_to_grub_path() succeeds.
33532
42c71976 335332007-05-20 Robert Millan <rmh@aybabtu.com>
33534
33535 * util/update-grub_lib.in: New file.
33536 * DISTLIST: Add update-grub_lib.in.
33537 * conf/common.rmk: Generate update-grub_lib and install it in
33538 $(lib_DATA).
33539 * Makefile.in: Add install routine for $(lib_DATA).
33540
33541 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33542 function provided by update-grub_lib to support arbitrary paths of
33543 unifont.pff.
33544 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33545 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33546
5beb2291 335472007-05-19 Robert Millan <rmh@aybabtu.com>
33548
33549 * commands/i386/cpuid.c: New module.
33550 * DISTLIST: Add it.
33551 * conf/i386-efi.rmk: Enable cpuid.mod.
33552 * conf/i386-pc.rmk: Likewise.
33553
7262eca1 335542007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33555
33556 * kern/disk.c (grub_disk_read): Check return value of
33557 grub_realloc().
33558
260ba823 335592007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33560
33561 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33562 arrays.
33563 * disk/raid.c (grub_raid_open): Likewise.
33564
1ecb6cf2 335652007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33566
33567 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33568 stack instead of on the heap.
33569
33570 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33571 before doing a read on it.
33572
33573 * configure.ac: Only use -fno-stack-protector for the target
33574 environment.
f19dbdb7 33575
21c8cbb1 335762007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33577
33578 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33579 __attribute_ ((unused)) to mode_type argument.
33580
33581 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 33582
21c8cbb1 33583 * kern/misc.c (memcmp): Fix prototype.
33584
33585 * include/grub/partition.h [GRUB_UTIL]
33586 (grub_gpt_partition_map_init): Add prototype.
33587 (grub_gpt_partition_map_fini): Likewise.
33588
33589 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33590 at the right place.
33591
33592 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33593 (grub_fat_read_data): Likewise.
33594 (grub_fat_find_dir): Likewise.
33595
33596 * font/manager.c (find_glyph): Make table a const.
33597 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 33598
849d55d3 335992007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33600
33601 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33602 code, first search for device in /dev/mapper, then in /dev.
33603 (grub_util_get_grub_dev): New function.
33604 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33605 prototype.
33606 * util/grub-probe.c (probe): Remove check for RAID, call
33607 grub_util_get_grub_dev() instead of
33608 grub_util_biosdisk_get_grub_dev().
33609 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33610 grub_util_biosdisk_get_grub_dev().
33611 * util/i386/pc/grub-setup.c (main): Likewise.
33612
8fff7c2f 336132007-05-16 Robert Millan <rmh@aybabtu.com>
33614
33615 * DISTLIST: Update for the latest changes.
33616 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33617 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33618 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33619 grub/util/biosdisk.h.
33620 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33621 grub/util/biosdisk.h.
33622
48e12b52 336232007-05-16 Robert Millan <rmh@aybabtu.com>
33624
33625 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33626
46b9d128 336272007-05-16 Robert Millan <rmh@aybabtu.com>
33628
33629 * util/i386/efi/grub-install.in: New.
33630 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33631 newly added grub-install.
33632 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33633 include.
33634 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33635 grub/util/biosdisk.h.
33636 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33637 grub/util/biosdisk.h.
33638
2d1a40a9 336392007-05-16 Robert Millan <rmh@aybabtu.com>
33640
33641 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33642 * include/grub/util/biosdisk.h: ... here.
33643 * util/i386/pc/biosdisk.c: Moved to ...
33644 * util/biosdisk.c: ... here.
33645 * util/i386/pc/getroot.c: Moved to ...
33646 * util/getroot.c: ... here.
33647 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33648 * util/grub-mkdevicemap.c: ... here.
33649 * util/i386/pc/grub-probe.c: Moved to ...
33650 * util/grub-probe.c: ... here.
33651
9e26e3bc 336522007-05-15 Robert Millan <rmh@aybabtu.com>
33653
33654 * util/update-grub.in: Remove duplicated line in grub.cfg header
33655 message.
33656
57f96397 336572007-05-13 Robert Millan <rmh@aybabtu.com>
33658
33659 * util/update-grub.in: Fix a few assumptions about the devices holding
33660 /, /boot and /boot/grub being the same.
33661 * util/grub.d/00_header.in: Likewise.
33662 * util/grub.d/10_hurd.in: Likewise.
33663 * util/grub.d/10_linux.in: Likewise.
33664
33665 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33666 patterns. Use that to define the `.old' suffix as older than `'.
33667
33668 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33669
33670 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33671 the grub.cfg header message.
33672
2e610d62 336732007-05-11 Robert Millan <rmh@aybabtu.com>
33674
33675 * util/update-grub.in: Create device.map if it doesn't already exist,
33676 before attempting to run grub-probe.
33677 Check for grub-probe and grub-mkdevicemap with the same code
33678 grub-install is using.
33679 Remove test mode.
33680
3f6a10ef 336812007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33682
33683 * Makefile.in: Add the datarootdir autoconf variable.
33684
02e7b75e 336852007-05-09 Robert Millan <rmh@aybabtu.com>
33686
33687 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 33688 fail gracefully if dev->disk->partition == NULL.
02e7b75e 33689
75f396cc 336902007-05-07 Robert Millan <rmh@aybabtu.com>
33691
33692 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33693 determine partition map module.
33694 * util/i386/pc/grub-install.in: Use this feature to decide which
33695 partition module to load, instead of hardcoding pc and gpt.
33696
da65cb36 336972007-05-07 Robert Millan <rmh@aybabtu.com>
33698
33699 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33700 source directory differs from build directory.
33701
b57d6a91 337022007-05-05 Robert Millan <rmh@aybabtu.com>
33703
33704 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33705 initialisation.
33706
509d00f1 337072007-05-05 Robert Millan <rmh@aybabtu.com>
33708
33709 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33710
c48f23ef 337112007-05-05 Robert Millan <rmh@aybabtu.com>
33712
33713 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33714 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33715
20b97658 337162007-05-05 Robert Millan <rmh@aybabtu.com>
33717
33718 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33719 (grub_probe_SOURCES): Likewise.
33720 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33721 GPT and initialize dos_part and bsd_part accordingly.
33722 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33723 install_bsd_part.
33724 (main): Activate gpt module for use during partition identification,
33725 and deactivate it afterwards.
33726 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33727 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33728 partition identification, and deactivate it afterwards.
33729
99123174 337302007-05-05 Robert Millan <rmh@aybabtu.com>
33731
33732 * term/i386/pc/console.c (grub_console_fini): Call
33733 grub_term_set_current() before grub_term_unregister().
33734
ebd97f6e 337352007-05-04 Robert Millan <rmh@aybabtu.com>
33736
33737 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33738 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33739 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33740 and update-grub_DATA.
33741 * conf/common.rmk: Build and install update-grub components.
33742 * conf/common.mk: Regenerate.
33743 * util/update-grub.in: New. Core of update-grub.
33744 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33745 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33746 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33747 * util/grub.d/README: New. Document grub.d directory layout.
33748
b06a264d 337492007-05-01 Robert Millan <rmh@aybabtu.com>
33750
33751 * util/grub-emu.c: Move initialization functions
33752 grub_util_biosdisk_init() and grub_init_all() before
33753 grub_util_biosdisk_get_grub_dev(), which relies on them.
33754
41f0050e 337552007-04-19 Robert Millan <rmh@aybabtu.com>
33756
33757 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33758 it is used later.
33759
04582bb3 337602007-04-18 Jerone Young <jerone@gmail.com>
33761
f19dbdb7 33762 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 33763 stanza.
33764
08db4632 337652007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 33766
08db4632 33767 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33768 continue on and look for device node with real device name.
33769
801b76be 337702007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 33771
fe6b695a 33772 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 33773 ability.
33774 * Makefile.in: Add autoconf package transformation code.
33775 * util/i386/pc/grub-install.in: Likewise.
33776 * util/powerpc/ieee1275/grub-install.in: Likewise.
33777
6795c4e1 337782007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33779
33780 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33781 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33782 (EXT2_REVISION): Likewise.
33783 (EXT2_INODE_SIZE): Likewise.
33784 (struct grub_ext2_block_group): Added a missing member
33785 "used_dirs".
33786 (grub_ext2_read_inode): Divide by the inode size in a superblock
33787 instead of 128 to obtain INODES_PER_BLOCK.
33788 Use the macro EXT2_INODE_SIZE instead of directly using
33789 SBLOCK->INODE_SIZE.
33790
d70af616 337912007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33792
33793 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33794 superblock instead of the structure size to compute an
33795 offset. This fixes the problem that GRUB could not read a
33796 filesystem when inode size is different from 128-byte.
33797
3b801603 337982007-03-05 Marco Gerards <marco@gnu.org>
33799
33800 * normal/main.c (read_config_file): When "menu" is not set, create
33801 an initial context.
33802
4785bfe4 338032007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33804
33805 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33806 (HEAP_LIMIT): New macro.
33807 (grub_claim_heap): Claim memory up to `heaplimit'.
33808
a0cbb023 338092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33810
33811 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33812 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33813 (_start): Likewise.
33814 (grub_arch_modules_addr): Return address after `_end'.
33815 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33816 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33817 (add_segments): Calculate `_end' from phdr size and location.
33818 (ALIGN_UP): Moved to ...
33819 * include/grub/misc.h: here.
33820 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33821 New macro.
33822 (GRUB_IEEE1275_MODULE_BASE): Removed.
33823
fd7d8eba 338242007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33825
33826 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33827 loop boundary.
33828
9b09e6fc 338292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33830
33831 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33832 All users updated.
33833 (grub_elf64_load_hook_t): Likewise.
33834 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33835 debug output.
33836
3ce27299 338372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33838
33839 * kern/mm.c: Update copyright.
33840 (grub_mm_debug): Correct syntax error.
33841 (grub_mm_dump_free): New function.
33842 (grub_debug_free): Call `grub_free'.
33843 * include/grub/mm.h: Update copyright.
33844 (grub_mm_dump_free): Add declaration.
33845
077d5fee 338462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33847
33848 * include/grub/ieee1275/ieee1275.h: Update copyright.
33849 * kern/powerpc/ieee1275/init.c: Likewise.
33850 * kern/powerpc/ieee1275/openfw.c: Likewise.
33851
33852 * loader/powerpc/ieee1275/linux.c: Likewise.
33853 * include/grub/elfload.h: Likewise.
33854 * kern/elf.c: Likewise.
33855 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33856 callers.
33857 (grub_elf64_load): Likewise.
33858 (grub_elf32_load_segment): Move to a nested function.
33859 (grub_elf64_load_segment): Likewise.
33860
dc946850 338612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33862
33863 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33864 prototype.
33865 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33866 (grub_heap_len): Likewise.
33867 (HEAP_SIZE): New macro.
33868 (grub_claim_heap): New function.
33869 (grub_machine_init): Don't claim heap directly. Call
33870 `grub_claim_heap'.
33871 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33872 (grub_available_iterate): New function.
33873
baa2a121 338742007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33875
33876 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33877 * configure.ac: Use it for testing the HOST and TARGET compilers.
33878
4fe9862e 338792006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33880
33881 * Makefile.in (enable_grub_emu): New variable.
33882 * configure.ac (--enable-grub-emu): New option.
33883 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33884 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33885 * conf/i386-pc.rmk: Likewise.
33886 * conf/powerpc-ieee1275.rmk: Likewise.
33887 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33888
a8aa5762 338892006-12-12 Marco Gerards <marco@gnu.org>
33890
33891 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33892
33893 * kern/env.c (grub_env_unset): Don't free the member `value' when
33894 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33895 pointer.
33896
33897 * normal/main.c (current_menu): Removed.
33898 (free_menu): Unset the `menu' environment variable.
33899 (grub_normal_menu_addentry): Make use of the environment variable
33900 `menu', instead of using the global `current_menu'. Allocate
33901 memory for the sourcecode of this entry.
33902 (read_config_file): New argument `nested', changed all callers.
33903 Only in the case of a new context, initialize a new menu. Set the
33904 `menu' environment variable.
33905 (grub_normal_execute): Don't set and unset the environment
33906 variable `menu' here anymore. Only free the menu when leaving the
33907 context.
33908
33909 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33910 leak.
33911
957b3a3e 339122006-12-11 Marco Gerards <marco@gnu.org>
33913
33914 * normal/menu_entry.c (run): Fix off by one bug so the last line
33915 is executed. Move the loader check to outside the loop.
33916
ef875714 339172006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33918
33919 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33920
4e739985 339212006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33922
33923 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33924 the number of sectors. Reported by Andrey Shuvikov
33925 <mr_hyro@yahoo.com>.
f19dbdb7 33926
790707f2 339272006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33928
33929 * kern/disk.c (grub_disk_read): When there is a read error, always
33930 try to read only the necessary data.
f19dbdb7 33931
790707f2 33932 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33933 disk/raid.c.
33934 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33935 prototype.
33936 [GRUB_UTIL] (grub_raid_fini): Likewise.
33937 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 33938 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 33939 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33940 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33941 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33942 and grub_raid_fini().
f19dbdb7 33943
03e58196 339442006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33945
33946 * include/grub/types.h (__unused): Rename to UNUSED.
33947 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33948 (grub_elf64_size): Likewise.
f19dbdb7 33949
ae4f23bf 339502006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33951
33952 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33953 grub_error_push and grub_error_pop in the error-handling path.
33954 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33955 length.
33956
2166cc83 339572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33958
33959 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33960 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33962 (kernel_elf_SOURCES): Likewise.
33963 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33964 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33965 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33966 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33967 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33968 (elf_mod_SOURCES): New variable.
33969 (elf_mod_CFLAGS): Likewise.
33970 (elf_mod_LDFLAGS): Likewise.
33971 * include/grub/types.h (__unused): New macro.
33972 * include/grub/elfload.h: New file.
33973 * kern/elf.c: Likewise.
33974 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33975 (ELF32_LOADMASK): New macro.
33976 (ELF64_LOADMASK): Likewise.
33977 (vmlinux): Removed.
33978 (grub_linux_load32): New function.
33979 (grub_linux_load64): Likewise.
33980 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33981 Use grub_elf_t instead of grub_file_t.
33982
a09d5aa5 339832006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33984
33985 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33986 `catch_result' to struct set_color_args.
33987
d976fc51 339882006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33989
33990 * normal/menu.c: Include grub/script.h.
33991 * normal/menu_entry.c: Likewise.
33992 * include/grub/normal.h: Do not include grub/script.h.
33993
67507549 339942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33995
33996 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33997
69203a99 339982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33999
34000 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34001 disk.
34002 (grub_disk_close): Print debug messages when closing a disk.
34003 (grub_disk_read): Print debug messages when disk read fails.
34004 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34005 filesystem type.
34006 * kern/partition.c: Include misc.h.
34007 (grub_partition_iterate): Print debug messages when detecting
34008 partition type.
34009
e2b8278c 340102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34011
34012 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34013 is negative.
34014 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34015
97b2f2ff 340162006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34017
34018 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34019 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34020
6555d655 340212006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34022
34023 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34024 instead of sizeof(lv). Patch by Michael Guntsche.
34025
4d42b77f 340262006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34027
34028 * disk/lvm.c: Rename VGS to VG_LIST.
34029 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34030 (grub_lvm_open): Likewise.
34031 Thanks to Michael Guntsche for finding this bug.
34032
5d74d927 340332006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34034
34035 * configure.ac (AC_INIT): Bumped to 1.95.
34036
a1bb27e4 340372006-10-14 Robert Millan <rmh@aybabtu.com>
34038
34039 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34040 with "/dev/.static/dev/md".
34041
e0994b8b 340422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34043
34044 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34045 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34046 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34047 DRIVE_NAME are always freed.
34048
34049 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34050 DOS_PART, as a DOS partition is counted from one instead of zero
34051 now. Reported by Robert Millan.
34052
ddd5cee9 340532006-10-14 Robert Millan <rmh@aybabtu.com>
34054
34055 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34056 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34057 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34058 string returned by grub_guess_root_device.
34059 * util/i386/pc/grub-setup.c: Likewise.
34060 * util/i386/pc/grub-probefs.c: Likewise.
34061
34062 * util/i386/pc/grub-probefs.c: Rename to ...
34063 * util/i386/pc/grub-probe.c: ... this.
34064 * DISTLIST: Remove grub-probefs, add grub-probe.
34065 * conf/i386-efi.rmk: Likewise.
34066 * conf/i386-pc.rmk: Likewise.
34067 * util/i386/pc/grub-install.in: Likewise.
34068
34069 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34070 choose which information we want to print.
34071
2b002173 340722006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34073
34074 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34075 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34076 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34077 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34078 video/readers/tga.c and video/i386/pc/vbeutil.c.
34079
340802006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34081
34082 Added support for RAID and LVM.
f19dbdb7 34083
2b002173 34084 * disk/lvm.c: New file.
34085 * disk/raid.c: Likewise.
34086 * include/grub/lvm.h: Likewise.
f19dbdb7 34087 * include/grub/raid.h: Likewise.
2b002173 34088 * include/grub/util/lvm.h: Likewise.
34089 * include/grub/util/raid.h: Likewise.
34090 * util/lvm.c: Likewise.
34091 * util/raid.c: Likewise.
34092
34093 * include/grub/disk.h (grub_disk_dev_id): Add
34094 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34095 (grub_disk_get_size): New prototype.
34096 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34097 returns a partition.
34098 (grub_disk_get_size): New function.
f19dbdb7 34099
2b002173 34100 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34101 verbatim if grub_install_dos_part is -2.
34102
34103 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34104 and LVM devices.
34105
34106 * util/i386/pc/grub-setup.c (setup): New argument
34107 MUST_EMBED. Force embedding of GRUB when the argument is
34108 true. Close FILE before returning.
34109 (main): Add support for RAID and LVM.
f19dbdb7 34110
2b002173 34111 * conf/common.rmk: Add RAID and LVM modules.
34112 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34113 util/lvm.c.
34114 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34115
34116 * kern/misc.c (grub_strstr): New function.
34117 * include/grub/misc.h (grub_strstr): New prototype.
34118
050548d0 341192006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34120
34121 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34122
da849d2d 341232006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34124
34125 * kern/misc.c (grub_strtoull): Guess the base only if not
34126 specified.
34127
97b2f2ff 341282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34129
34130 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34131 PowerMac support.
34132
97b2f2ff 341332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34134
34135 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34136
34137 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34138 Remove `flags' argument. All callers changed.
34139 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34140 (IEEE1275_IHANDLE_INVALID): New variable.
34141 (IEEE1275_CELL_INVALID): New variable.
34142 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34143 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34144 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34145 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34146 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34147 codes from Open Firmware. All callers updated.
34148 (grub_ieee1275_next_property): Directly return Open Firmware return
34149 code.
34150 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34151 Standardize error checking from `grub_ieee1275_get_property'.
34152 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34153 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34154
97b2f2ff 341552006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34156
34157 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34158 `instance_to_package_args' to `instance_to_path_args'.
34159
34160 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34161 `grub_ieee1275_chosen'.
34162
34163 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34164 `grub_ieee1275_interpret'.
34165
97b2f2ff 341662006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34167
34168 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34169
97b2f2ff 341702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34171
34172 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34173 (__cmpdi): Likewise.
34174
34175 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34176 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34177 `grub_ssize_t'.
34178
02bb8acc 34179 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34180
34181 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34182 to type `grub_ssize_t'.
34183 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34184
7f9a8531 341852006-09-22 Marco Gerards <marco@gnu.org>
34186
34187 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34188 newlines.
34189
b5ef1102 341902006-09-22 Marco Gerards <marco@gnu.org>
34191
34192 * commands/echo.c: New file.
34193
34194 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34195
34196 * conf/common.rmk (echo_mod_SOURCES): New variable.
34197 (echo_mod_CFLAGS): Likewise.
34198 (echo_mod_LDFLAGS): Likewise.
34199
2cff3677 342002006-09-22 Marco Gerards <marco@gnu.org>
34201
34202 * normal/main.c (get_line): Malloc memory instead of using
34203 preallocated memory. Removed the arguments `cmdline' and
34204 `max_len'. Updated all callers.
34205
6ba4688b 342062006-09-22 Marco Gerards <marco@gnu.org>
34207
34208 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34209 (normal_mod_DEPENDENCIES): Likewise.
34210
34211 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34212 (normal_mod_DEPENDENCIES): Likewise.
34213
34214 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34215
e02ac02c 342162006-09-22 Johan Rydberg <jrydberg@gnu.org>
34217
34218 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34219 programs.
34220 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34221 (normal_mod_DEPENDENCIES): Likewise.
34222 * conf/i386-pc.mk: Regenerate.
34223 * conf/i386-efi.mk: Likewise
34224 * conf/common.mk: Likewise.
34225 * conf/powerpc-ieee1275.mk: Likewise.
34226 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34227
8d252e44 342282006-09-22 Robert Millan <rmh@aybabtu.com>
34229
34230 Sync with i386 version.
34231 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34232 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34233
209bf7ac 342342006-09-21 Robert Millan <rmh@aybabtu.com>
34235
34236 Import from GRUB Legacy (lib/device.c):
34237 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34238 (init_device_map) [__linux__]: Add support for I2O devices.
34239
6b146090 342402006-09-14 Marco Gerards <marco@gnu.org>
34241
34242 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34243 `-melf_i386'.
34244
e38600a8 342452006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 34246
34247 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34248 /boot/grub/*.lst.
78fa1790 34249
2952da5d 34250 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 34251
2952da5d 34252 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34253 before adding it to device.map.
34254
01b82a64 342552006-08-15 Johan Rydberg <jrydberg@gnu.org>
34256
fe6b695a 34257 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 34258 compiles a file; using the -MD option.
34259 * conf/common.mk: Regenerate.
34260 * conf/i386-pc.mk: Likewise.
34261 * conf/i386-efi.mk: Likewise.
34262 * conf/powerpc-ieee1275.mk: Likewise.
34263 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34264
1064790d 342652006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34266
34267 Move the prototypes of grub_setjmp and grub_longjmp to
34268 cpu/setjmp.h, so that each architecture may specify different
34269 attributes.
f19dbdb7 34270
1064790d 34271 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34272 (grub_longjmp): Likewise.
34273 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34274 (grub_longjmp): Likewise.
34275 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34276 (grub_longjmp): Likewise.
34277
34278 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34279 [!GRUB_UTIL] (grub_longjmp): Removed.
34280
29dda3ed 342812006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34282
34283 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34284 "color!" method does not return any value.
34285
ad2a06ed 342862006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34287
34288 * include/grub/bitmap.h: New file.
34289
34290 * include/grub/i386/pc/vbeutil.h: Likewise.
34291
34292 * video/bitmap.c: Likewise.
34293
34294 * video/readers/tga.c: Likewise.
34295
34296 * video/i386/pc/vbeutil.c: Likewise.
34297
34298 * commands/videotest.c: Code cleanup and updated to reflect to new
34299 video API.
34300
34301 * term/gfxterm.c: Likewise.
34302
34303 * video/video.c: Likewise.
34304
34305 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34306 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34307 (bitmap_mod_SOURCES): New entry.
34308 (bitmap_mod_CFLAGS): Likewise.
34309 (bitmap_mod_LDFLAGS): Likewise.
34310 (tga_mod_SOURCES): Likewise.
34311 (tga_mod_CFLAGS): Likewise.
34312 (tga_mod_LDFLAGS): Likewise.
34313
34314 * include/grub/video.h (grub_video_blit_operators): New enum type.
34315 (grub_video_render_target): Changed as forward declaration and moved
34316 actual definition to be video driver specific.
34317 (grub_video_adapter.blit_bitmap): Added blitting operator.
34318 (grub_video_adapter.blit_render_target): Likewise.
34319 (grub_video_blit_bitmap): Likewise.
34320 (grub_video_blit_render_target): Likewise.
34321
34322 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34323 driver specific render target definition.
34324 (grub_video_vbe_map_rgba): Added driver internal helper.
34325 (grub_video_vbe_unmap_color): Updated to use
34326 grub_video_i386_vbeblit_info.
34327 (grub_video_vbe_get_video_ptr): Likewise.
34328
34329 * include/grub/i386/pc/vbeblit.h
34330 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34331 grub_video_i386_vbeblit_info.
34332 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34333 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34334 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34335 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34336 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34337 (grub_video_i386_vbeblit_index_index): Likewise.
34338 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34339 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34340 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34341 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34342 operator.
34343 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34344 operator.
34345
34346 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34347 include/grub/i386/pc/vbeblit.h.
34348
34349 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34350 Updated to use grub_video_i386_vbeblit_info.
34351 (grub_video_i386_vbefill_R8G8B8): Likewise.
34352 (grub_video_i386_vbefill_index): Likewise.
34353 (grub_video_i386_vbefill): Added generic filler.
34354
34355 * video/i386/pc/vbefill.c: Updated to reflect changes on
34356 include/grub/i386/pc/vbefill.h.
34357
34358 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34359 grub_video_i386_vbeblit_info.
34360 (grub_video_vbe_unmap_color): Likewise.
34361 (grub_video_vbe_blit_glyph): Likewise.
34362 (grub_video_vbe_scroll): Likewise.
34363 (grub_video_vbe_draw_pixel): Removed function.
34364 (grub_video_vbe_get_pixel): Likewise.
34365 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34366 updated code to use it.
34367 (common_blitter): Added common blitter for render target and bitmap.
34368 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34369 (grub_video_vbe_blit_render_target): Likewise.
34370
bc8c036d 343712006-07-30 Johan Rydberg <jrydberg@gnu.org>
34372
34373 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34374 is in text mode if there is no console control protocol instance
34375 available.
34376
684a8eff 343772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34378
34379 * include/grub/video.h: Code cleanup.
34380
34381 * include/grub/i386/pc/vbe.h: Likewise.
34382
34383 * video/i386/pc/vbe.c: Likewise.
34384
34385 * video/i386/pc/vbeblit.c: Likewise.
34386
34387 * video/i386/pc/vbefill.c: Likewise.
34388
34389 * video/video.c: Likewise. Also added more comments.
34390
5915059b 343912006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34392
34393 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34394 (struct grub_biosdisk_dap): Likewise.
34395
34396 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34397 linkage settings for all functions.
34398
90ce5d56 343992006-07-12 Marco Gerards <marco@gnu.org>
34400
34401 * configure.ac (--enable-mm-debug): Fix typo.
34402
34403 * genkernsyms.sh.in: Use proper quoting for `CC'.
34404
43e7f879 344052006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34406
34407 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34408 (normal_mod_ASFLAGS): Remove "-m32".
34409
4889bdec 344102006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34411
34412 * util/misc.c: Include config.h.
34413 [!HAVE_MEMALIGN]: Do not include malloc.h.
34414 (grub_memalign): Use posix_memalign, if present. Then, use
34415 memalign, if present. Otherwise, emit an error.
34416
34417 * util/grub-emu.c: Do not include malloc.h.
34418
34419 * include/grub/util/misc.h: Include unistd.h. This is required for
34420 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34421 D. Eades III <hde@foobar-qux.org>.
34422
34423 * configure.ac (AC_GNU_SOURCE): Added.
34424 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34425 type.
34426
fd39d4da 344272006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34428
34429 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34430 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34431
b786f3b5 344322006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34433
34434 * include/grub/types.h (grub_host_addr_t): Rename to
34435 grub_target_addr_t.
34436 (grub_host_off_t): Rename to grub_target_off_t.
34437 (grub_host_size_t): Rename to grub_target_size_t.
34438 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34439 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34440
34441 * include/grub/kernel.h (struct grub_module_header): Change type
34442 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34443 (grub_module_info): Likewise.
f19dbdb7 34444
051988bb 344452006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34446
34447 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34448 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34449 Velazquez <jesus.velazquez@gmail.com>.
34450
deae281b 344512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34452
34453 Count partitions from 1 instead of 0 in the string representation
34454 of partitions. Still use 0-based internally.
f19dbdb7 34455
deae281b 34456 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34457 (sun_partition_map_iterate): Use grub_partition_t instead of
34458 struct grub_partition *. Cast DESC->START_CYLINDER to
34459 grub_uint64_t after converting the endian.
34460 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34461 (sun_partition_map_get_name): Add 1 to P->INDEX.
34462
34463 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34464 PCDATA->DOS_PART.
34465 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34466
34467 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34468 zero instead of one.
34469 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34470 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34471
34472 * partmap/apple.c (apple_partition_map_iterate): Change the type
34473 of POS to unsigned.
34474 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34475 (apple_partition_map_get_name): Add 1 into P->INDEX.
34476
34477 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34478 of POS to unsigned.
34479 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34480 calculate the offset of a partition.
34481 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34482 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34483
34484 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34485 SECTOR to grub_disk_addr_t.
34486 (acorn_partition_map_iterate): Likewise.
34487 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34488 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34489 top.
34490 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34491
34492 * kern/i386/pc/init.c (make_install_device): Add 1 into
34493 GRUB_INSTALL_DOS_PART.
34494
34495 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34496 conditional.
34497
524a1e6a 344982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34499
34500 Clean up the code to support 64-bit addressing in disks and
34501 files. This change is not enough for filesystems yet.
f19dbdb7 34502
524a1e6a 34503 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34504 type of "start" to grub_uint64_t.
34505 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34506 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34507 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34508 convert addresses.
34509
34510 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34511 to grub_disk_addr_t.
34512
34513 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34514 string.
34515
34516 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34517
34518 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34519 to char *.
34520
34521 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34522
34523 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34524
34525 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34526
34527 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34528 to grub_off_t, to detect an error from grub_file_seek.
34529 (grub_multiboot_load_elf32): Likewise.
34530
34531 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34532 maximum unsigned long value when an overflow is detected.
34533 (grub_strtoull): New function.
34534 (grub_divmod64): Likewise.
34535 (grub_lltoa): use grub_divmod64.
34536
34537 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34538 grub_disk_addr_t.
34539 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34540 the pointer to next character. Use grub_strtoull instead of
34541 grub_strtoul.
34542 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34543 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34544 respectively.
34545
fe6b695a 34546 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 34547 return value is signed.
34548 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34549 test if OFFSET is less than zero, as OFFSET is unsigned now.
34550
34551 * kern/disk.c (struct grub_disk_cache): Change the type of
34552 "sector" to grub_disk_addr_t.
34553 (grub_disk_cache_get_index): Change the type of SECTOR to
34554 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34555 unsigned after shifting.
34556 (grub_disk_cache_invalidate): Change the type of SECTOR to
34557 grub_disk_addr_t.
34558 (grub_disk_cache_unlock): Likewise.
34559 (grub_disk_cache_store): Likewise.
34560 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34561 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34562 grub_disk_addr_t and grub_uint64_t, respectively.
34563 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34564 body, as the value of OFFSET is tweaked by
34565 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34566 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34567 respectively.
34568 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34569 body, as the value of OFFSET is tweaked by
34570 grub_disk_check_range. Change the types of LEN and N to
34571 grub_size_t.
34572
34573 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34574 and "saved_offset" to grub_off_t.
34575 (test_header): Cast BUF to char *.
34576 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34577 to char *.
34578 (grub_gzio_read): Change the types of OFFSET and SIZE to
34579 grub_off_t and grub_size_t, respectively.
34580
34581 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34582 Removed.
34583 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34584 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34585 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34586 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34587 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34588
34589 * include/grub/types.h (grub_off_t): Unconditionally set to
34590 grub_uint64_t.
34591 (grub_disk_addr_t): Changed to grub_uint64_t.
34592
34593 * include/grub/partition.h (struct grub_partition): Change the
34594 types of "start", "len" and "offset" to grub_disk_addr_t,
34595 grub_uint64_t and grub_disk_addr_t, respectively.
34596 (grub_partition_get_start): Return grub_disk_addr_t.
34597 (grub_partition_get_len): Return grub_uint64_t.
34598
34599 * include/grub/misc.h (grub_strtoull): New prototype.
34600 (grub_divmod64): Likewise.
34601
34602 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34603 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34604 grub_off_t, respectively.
34605 All callers and references changed.
34606
34607 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34608 grub_size_t in "read".
34609 All callers and references changed.
34610
34611 * include/grub/file.h (struct grub_file): Change the types of
34612 "offset" and "size" to grub_off_t and grub_off_t,
34613 respectively. Change the type of SECTOR to grub_disk_addr_t in
34614 "read_hook".
34615 (grub_file_read): Change the type of LEN to grub_size_t.
34616 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34617 grub_off_t.
34618 (grub_file_size): Return grub_off_t.
34619 (grub_file_tell): Likewise.
34620 All callers and references changed.
34621
34622 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34623 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34624 "write".
34625 (struct grub_disk): Change the type of "total_sectors" to
34626 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 34627 "read_hook".
524a1e6a 34628 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34629 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34630 (grub_disk_write): Likewise.
34631 All callers and references changed.
34632
34633 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34634 char * for grub_strncmp to silence gcc.
34635 (grub_iso9660_mount): Likewise.
34636 (grub_iso9660_mount): Likewise.
34637 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34638 return statement.
34639 (grub_iso9660_iterate_dir): Likewise.
34640 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34641
34642 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34643 LEN to grub_disk_addr_t and grub_size_t, respectively.
34644
34645 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34646
34647 * fs/jfs.c (grub_jfs_read_file): Likewise.
34648
34649 * fs/minix.c (grub_jfs_read_file): Likewise.
34650
34651 * fs/sfs.c (grub_jfs_read_file): Likewise.
34652
34653 * fs/ufs.c (grub_jfs_read_file): Likewise.
34654
34655 * fs/xfs.c (grub_jfs_read_file): Likewise.
34656
34657 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34658 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34659 respectively.
34660
34661 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34662 BLKNR to -1 instead of returning GRUB_ERRNO.
34663 (grub_ext2_read_file): Change the types of SECTOR and
34664 LEN to grub_disk_addr_t and grub_size_t, respectively.
34665
34666 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34667 LEN to grub_disk_addr_t and grub_size_t, respectively.
34668
34669 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34670 grub_file_read.
34671
34672 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34673 string. Do not cast SECTOR explicitly.
34674
34675 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34676 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34677 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34678 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34679 over 2TB and LBA mode is not supported, raise an error.
34680 (get_safe_sectors): New function.
34681 (grub_biosdisk_read): Use get_safe_sectors.
34682 (grub_biosdisk_write): Likewise.
34683
34684 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34685 (grub_efidisk_write): Likewise.
34686
34687 * disk/loopback.c (delete_loopback): Cosmetic changes.
34688 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34689 correctly.
34690 (grub_loopback_open): Likewise.
34691 (grub_loopback_read): Likewise. Also, change the type of POS to
34692 grub_off_t, and fix the usage of grub_memset.
34693
34694 * commands/i386/pc/play.c: Include grub/machine/time.h.
34695
34696 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34697 print FILE->SIZE.
34698
34699 * commands/configfile.c: Include grub/env.h.
34700
34701 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34702 GRUB_ERRNO directly instead. Change the type of POS to
34703 grub_off_t. Follow the coding standard.
34704
34705 * commands/blocklist.c: Include grub/partition.h.
34706 (grub_cmd_blocklist): Return an error if the underlying device is
34707 not a disk. Take the starting sector of a partition into account,
34708 if a partition is used.
34709
34710 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34711 a length field.
34712 (lba_mode): Support 64-bit addresses.
34713 (chs_mode): Likewise.
34714 (copy_buffer): Adapted to the new offsets of a length field and a
34715 segment field.
34716 (blocklist_default_start): Allocate 64-bit space.
34717
34718 * boot/i386/pc/boot.S (force_lba): Removed.
34719 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 34720 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 34721 space.
34722 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34723 is useless.
34724 (lba_mode): Refactored to support a 64-bit address. More size
34725 optimization.
34726 (setup_sectors): Likewise.
34727
53af98ad 347282006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34729
34730 * DISTLIST: Added include/grub/i386/linux.h. Removed
34731 include/grub/i386/pc/linux.h
34732
34733 * configure.ac (AC_INIT): Bumped to 1.94.
34734
34735 * config.guess: Updated from gnulib.
34736 * config.sub: Likewise.
34737 * install-sh: Likewise.
34738 * mkinstalldirs: Likewise.
34739
b4c1940a 347402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34741
34742 * conf/common.rmk (grub_modules_init.lst): Depended on
34743 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34744 MODSRCFILES.
34745
34746 * genmk.rb (PModule::rule): Reverted the previous change.
34747
cfca1cfd 347482006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34749
34750 * conf/common.rmk (grub_modules_init.lst): Depends on
34751 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34752 that the target does not exist before producing.
34753 (grub_modules_init.h): Remove the target before generating.
34754 (grub_emu_init.c): Likewise.
34755
34756 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34757
aa6d7826 347582006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34759
34760 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34761 for the target-specific tests. Make sure that we also have the
34762 up-to-date target variables for those tests.
34763
26c607b9 347642006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34765
34766 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34767 (PModule::rule): Likewise.
34768
0162321a 347692006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34770
34771 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34772 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34773 target-specific flags should be prefixed.
34774 (PModule::rule): Likewise.
34775
6c826348 347762006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34777
34778 * configure.ac (CMP): Check if cmp is available explicitly.
34779
b977bf01 347802006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34781
34782 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34783 (target_cpu): New variable.
34784 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 34785
b977bf01 34786 * util/i386/pc/grub-install.in (host_cpu): Removed.
34787 (target_cpu): New variable.
34788 (pkglibdir): Use target_cpu instead of host_cpu.
34789
34790 * util/genmoddep.c: Removed.
f19dbdb7 34791
b977bf01 34792 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34793 instead of GRUB_HOST_SIZEOF_VOID_P.
34794 * kern/dl.c: Likewise.
34795
34796 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34797 ...
34798 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34799 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34800 (GRUB_TARGET_SIZEOF_LONG): ... this.
34801 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34802 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34803 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34804 to ...
34805 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34806 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34807 (GRUB_TARGET_SIZEOF_LONG): ... this.
34808 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34809 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34810 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34811 to ...
34812 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34813 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34814 (GRUB_TARGET_SIZEOF_LONG): ... this.
34815 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34816 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34817
34818 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34819 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34820 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34821 instead of GRUB_HOST_SIZEOF_LONG.
34822 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34823 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34824 GRUB_CPU_WORDS_BIGENDIAN.
34825 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34826 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34827 grub_host_ssize_t.
34828
34829 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34830 (genmoddep_SOURCES): Likewise.
34831 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34832 (genmoddep_SOURCES): Likewise.
34833 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34834 (genmoddep_SOURCES): Likewise.
34835 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34836 Likewise.
34837 (genmoddep_SOURCES): Likewise.
34838
34839 * genmoddep.awk: New file.
34840
34841 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34842 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34843 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34844 (PModule::rule): Likewise.
34845 (Program::rule): Likewise.
34846 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34847 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34848 respectively.
34849
34850 * configure.ac: Rewritten intensively to use host and target
34851 instead of build and host, respectively.
34852
34853 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34854 (host_cpu): Removed.
34855 (target_cpu): New variable.
34856 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34857 (BUILD_CC): Removed.
34858 (BUILD_CFLAGS): Likewise.
34859 (BUILD_CPPFLAGS): Likewise.
34860 (TARGET_CC): New variable.
34861 (TARGET_CFLAGS): Likewise.
34862 (TARGET_CPPFLAGS): Likewise.
34863 (TARGET_LDFLAGS): Likewise.
34864 (AWK): Likewise.
34865 (include): Use target_cpu instead of host_cpu.
34866 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 34867
b977bf01 34868 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34869
f09771a1 348702006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34871
34872 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34873 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34874 field 'false' to 'exec_on_false'.
34875 (grub_script_create_cmdif): Renamed argument names to reflect above
34876 changes.
34877
34878 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34879
34880 * normal/script.c (grub_script_create_cmdif): Likewise.
34881
118f4fb3 348822006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34883
34884 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34885 top.
34886 (grub_hfsplus_btree_recptr): Likewise.
34887 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34888 FILEBLOCK both to pass a block number and store next block
34889 number.
34890 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34891 overflow file correctly. Specify errors appropriately, because
34892 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34893 grub_hfsplus_btree_recptr to get the pointer to a found key.
34894 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34895 is found.
34896
34897 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34898 linux.mod.
34899 (_linux_mod_SOURCES): New variable.
34900 (_linux_mod_CFLAGS): Likewise.
34901 (_linux_mod_LDFLAGS): Likewise.
34902 (linux_mod_SOURCES): Likewise.
34903 (linux_mod_CFLAGS): Likewise.
34904 (linux_mod_LDFLAGS): Likewise.
34905
34906 * DISTLIST: Added loader/i386/efi/linux.c,
34907 loader/i386/efi/linux_normal.c and
34908 include/grub/i386/efi/loader.h.
34909
34910 * loader/i386/efi/linux.c: New file.
34911 * loader/i386/efi/linux_normal.c: Likewise.
34912 * include/grub/i386/efi/loader.h: Likewise.
34913
89a7d726 349142006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34915
34916 * commands/blocklist.c: New file.
34917
34918 * DISTLIST: Added commands/blocklist.c.
34919
34920 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 34921 color for the background, and a darker color for the foreground.
89a7d726 34922 (grub_console_checkkey): Return READ_KEY.
34923 (grub_console_cls): Set the background to
34924 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34925
34926 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34927
34928 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34929 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34930
34931 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34932 prototype.
34933
34934 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34935 BG. The spec is wrong again.
34936
34937 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34938 prototype.
34939 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34940
34941 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34942 commands/blocklist.c.
34943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 34944
89a7d726 34945 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34946 (blocklist_mod_SOURCES): New variable.
34947 (blocklist_mod_CFLAGS): Likewise.
34948 (blocklist_mod_LDFLAGS): Likewise.
34949
75c8f258 349502006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34951
34952 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34953 duplication.
34954 (lba_mode): Use %eax more intensively to reduce the code size.
34955
da2eb181 349562006-05-20 Marco Gerards <marco@gnu.org>
34957
34958 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34959
34960 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34961 for `menuentry'.
34962 (script): Accept leading newlines.
34963 (newlines): New rule to describe 0 or more newlines.
34964 (commands): Accept `command' with trailing newline. Fixed the
34965 order in which arguments were passed to `grub_script_add_cmd'.
34966 Accept commands separated by newlines.
34967 (function): Changed to accept newlines.
34968 (menuentry) Rewritten.
34969
34970 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34971 front of the list, instead of to the end.
34972
577b4050 349732006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34974
34975 * util/i386/pc/grub-install.in (bindir): New variable.
34976 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34977 Shaver <lbgwjl@gmail.com>.
34978
0d6e1189 349792006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34980
34981 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34982 grub/machine/linux.h
34983 * loader/i386/pc/linux.c: Likewise.
34984
34985 * include/grub/i386/pc/linux.h: Moved to ...
34986 * include/grub/i386/linux.h: ... here.
34987
34988 * include/grub/i386/linux.h (struct linux_kernel_params): New
34989 struct.
f19dbdb7 34990
31b86e9f 349912006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34992
34993 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34994 checking.
34995 (grub_video_vbe_blit_glyph): Likewise.
34996 (grub_video_vbe_blit_bitmap): Likewise.
34997 (grub_video_vbe_blit_render_target): Likewise.
34998
83b984de 349992006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35000
35001 * configure.ac (--with-platform): Properly quote the square
35002 brackets.
35003
5f0413bd 350042006-05-08 Marco Gerards <marco@gnu.org>
35005
35006 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35007 this...
35008 (kernel_elf_HEADERS): ...to this. Updated all users.
35009 (grubof_symlist.c): Renamed from this...
35010 (kernel_elf_symlist.c): ...to this. Updated all users.
35011 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35012 (grubof_SOURCES): Renamed from this...
35013 (kernel_elf_SOURCES): ...to this.
35014 (grubof_HEADERS): Renamed from this...
35015 (kernel_elf_HEADERS): ...to this.
35016 (grubof_CFLAGS): Renamed from this...
35017 (kernel_elf_CFLAGS): ...to this.
35018 (grubof_ASFLAGS): Renamed from this...
35019 (kernel_elf_ASFLAGS): ...to this.
35020 (grubof_LDFLAGS): Renamed from this...
35021 (kernel_elf_LDFLAGS): ...to this.
35022
35023 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35024 this...
35025 (kernel_elf_HEADERS): ...to this. Updated all users.
35026 (grubof_symlist.c): Renamed from this...
35027 (kernel_elf_symlist.c): ...to this. Updated all users.
35028 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35029 (grubof_SOURCES): Renamed from this...
35030 (kernel_elf_SOURCES): ...to this.
35031 (grubof_HEADERS): Renamed from this...
35032 (kernel_elf_HEADERS): ...to this.
35033 (grubof_CFLAGS): Renamed from this...
35034 (kernel_elf_CFLAGS): ...to this.
35035 (grubof_ASFLAGS): Renamed from this...
35036 (kernel_elf_ASFLAGS): ...to this.
35037 (grubof_LDFLAGS): Renamed from this...
35038 (kernel_elf_LDFLAGS): ...to this.
35039
35040 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35041 `kernel.elf' instead of `grubof'.
35042
05568c2e 350432006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35044
35045 Add --with-platform to configure. Use pkglibdir instead of
35046 pkgdatadir. This is reported by Roger Leigh.
35047
35048 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35049 (host_vendor): Likewise.
35050 (host_os): Likewise.
35051 (pkgdatadir): Likewise.
35052 (platform): New variable.
35053 (pkglibdir): Likewise.
35054 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 35055
05568c2e 35056 * util/i386/pc/grub-install.in (datadir): Removed.
35057 (host_vendor): Likewise.
35058 (host_os): Likewise.
35059 (pkgdatadir): Likewise.
35060 (platform): New variable.
35061 (pkglibdir): Likewise.
35062 Use PKGLIBDIR instead of PKGDATADIR.
35063
35064 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35065 instead of GRUB_DATADIR.
35066 (main): Likewise.
35067 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35068 (main): Likewise.
35069 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35070 (main): Likewise.
35071
35072 * configure.ac (--with-platform): New option.
35073 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35074
35075 * Makefile.in: Include a makefile based on PLATFORM instead of
35076 HOST_VENDOR.
35077 (pkgdatadir): Not appended by the machine type.
35078 (pkglibdir): Appended by the machine type.
35079 (host_vendor): Removed.
35080 (platform): New variable.
35081 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35082 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35083 (uninstall): Likewise.
35084
4e93851c 350852006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35086
35087 Use the environment context in the menu. Remove the commands
35088 "default" and "timeout", and use variables instead.
f19dbdb7 35089
4e93851c 35090 * normal/menu.c: Include grub/env.h.
35091 (print_entry): Cast TITLE to silence gcc.
35092 (get_timeout): New function.
35093 (set_timeout): Likewise.
35094 (get_entry_number): Likewise.
35095 (run_menu): Use a default entry, a fallback entry and a timeout
35096 in the environment variables "default", "fallback" and
35097 "timeout". Also, tweak the default entry if it is not within the
35098 current menu entries.
35099 (grub_menu_run): Use a fallback entry in the environment variable
35100 "fallback".
35101
35102 * normal/main.c (read_config_file): Do not initialize
35103 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35104 NEWMENU->TIMEOUT.
35105 (grub_normal_execute): Use a data slot to store the menu.
35106
35107 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35108 fallback_entry and timeout.
35109 (struct grub_menu_list): Removed.
35110 (grub_menu_list_t): Likewise.
35111 (struct grub_context): Likewise.
35112 (grub_context_t): Likewise.
35113 (grub_context_get): Likewise.
35114 (grub_context_get_current_menu): Likewise.
35115 (grub_context_push_menu): Likewise.
35116 (grub_context_pop_menu): Likewise.
35117 (grub_default_init): Likewise.
35118 (grub_default_fini): Likewise.
35119 (grub_timeout_init): Likewise.
35120 (grub_timeout_fini): Likewise.
35121
35122 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35123 and timeout.mod.
35124 (normal_mod_SOURCES): Removed normal/context.c.
35125
35126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35127 commands/default.c, commands/timeout.c and normal/context.c.
35128 (normal_mod_SOURCES): Removed normal/context.c.
35129
35130 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35131 commands/timeout.c and normal/context.c.
35132 (normal_mod_SOURCES): Removed normal/context.c.
35133
35134 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35135 commands/default.c, commands/timeout.c and normal/context.c.
35136 (normal_mod_SOURCES): Removed normal/context.c.
35137
35138 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35139 timeout.mod.
35140 (default_mod_SOURCES): Removed.
35141 (default_mod_CFLAGS): Likewise.
35142 (default_mod_LDFLAGS): Likewise.
35143 (timeout_mod_SOURCES): Removed.
35144 (timeout_mod_CFLAGS): Likewise.
35145 (timeout_mod_LDFLAGS): Likewise.
35146
35147 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35148 normal/context.c.
35149
35150 * commands/default.c: Removed.
35151 * commands/timeout.c: Likewise.
35152 * normal/context.c: Likewise.
35153
1eb9cc1d 351542006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35155
35156 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35157
385bd9c1 351582006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35159
35160 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35161 "next" to "prev" for readability.
35162 (struct grub_env_sorted_var): New struct.
35163 (grub_env_context): Renamed to ...
35164 (initial_context): ... this.
35165 (grub_env_var_context): Renamed to ...
35166 (current_context): ... this.
35167 (grub_env_find): Look only at CURRENT_CONTEXT.
35168 (grub_env_context_open): Rewritten to copy exported variables from
35169 previous context.
35170 (grub_env_context_close): Rewritten according to the new
35171 scheme. Also, add an assertion to prevent the initial context from
35172 removed.
35173 (grub_env_insert): Removed the code for the sorted list.
35174 (grub_env_remove): Likewise.
35175 (grub_env_export): Simply mark the variable with
35176 GRUB_ENV_VAR_GLOBAL.
35177 (grub_env_set): A cosmetic change for naming consistency.
35178 (grub_env_get): Likewise.
35179 (grub_env_unset): Likewise.
35180 (grub_env_iterate): Rewritten to sort variables within this
35181 function.
35182 (grub_register_variable_hook): Fixed for naming consistency. Call
35183 grub_env_find again, only if NAME is not found at the first time.
35184 (mangle_data_slot_name): New function.
35185 (grub_env_set_data_slot): Likewise.
35186 (grub_env_get_data_slot): Likewise.
35187 (grub_env_unset_data_slot): Likewise.
35188
35189 * include/grub/env.h (grub_env_var_type): New enum.
35190 (GRUB_ENV_VAR_LOCAL): New constant.
35191 (GRUB_ENV_VAR_GLOBAL): Likewise.
35192 (GRUB_ENV_VAR_DATA): Likewise.
35193 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35194 "type".
35195 (grub_env_set): Replace VAR with NAME for consistency.
35196 (grub_register_variable_hook): Likewise.
35197 (grub_env_export): Specify the name of the argument.
35198 (grub_env_set_data_slot): New prototype.
35199 (grub_env_get_data_slot): Likewise.
35200 (grub_env_unset_data_slot): Likewise.
35201
7f362539 352022006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35203
35204 Extend the loader so that GRUB can accept a loader which comes
35205 back to GRUB when a loaded image exits. Also, this change adds
35206 support for a chainloader on EFI.
f19dbdb7 35207
7f362539 35208 * term/efi/console.c: Include grub/misc.h.
35209 (grub_console_checkkey): Display a scan code on the top for
35210 debugging. This will be removed once the EFI port gets stable.
35211 Correct the scan code mapping.
35212
35213 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35214 allocate memory from larger regions, in order to reduce the number
35215 of allocated regions. Otherwise, the MacOSX loader panics.
35216 (filter_memory_map): Avoid less than 1MB for compatibility with
35217 other loaders.
35218 (add_memory_regions): Allocate from the tail of a region, if
35219 possible, to avoid allocating a region near to 1MB, for the MacOSX
35220 loader.
35221
35222 * kern/efi/init.c (grub_efi_set_prefix): Specify
35223 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35224
35225 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35226 argument IMAGE_HANDLE and specify it to get a loaded image.
35227 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35228 grub_efi_get_loaded_image.
fe6b695a 35229 (grub_efi_get_filename): Divide the length by the size of
7f362539 35230 grub_efi_char16_t.
35231 (grub_efi_get_device_path): New function.
35232 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35233 the length by the size of grub_efi_char16_t for a file path device
35234 path node.
35235
35236 * kern/loader.c (grub_loader_noreturn): New variable.
35237 (grub_loader_set): Accept a new argument NORETURN. Set
35238 GRUB_LOADER_NORETURN to NORETURN.
35239 All callers changed.
35240 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35241 grub_machine_fini.
35242
35243 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35244 prototype.
35245 (grub_efi_get_loaded_image): Take an argument to specify an image
35246 handle.
35247
35248 * include/grub/loader.h (grub_loader_set): Added one more argument
35249 NORETURN.
35250
35251 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35252 instead of grub_efi_open_protocol.
35253 (grub_efidisk_get_device_name): Likewise.
35254 (grub_efidisk_close): Print a newline.
35255 (grub_efidisk_get_device_handle): Fixed to use
35256 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35257 GRUB_EFI_DEVICE_PATH_TYPE.
35258
35259 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35260 * kern/efi/efi.c (device_path_guid): ... here.
35261
35262 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35263 chain.mod.
35264 (kernel_mod_HEADERS): Added efi/disk.h.
35265 (_chain_mod_SOURCES): New variable.
35266 (_chain_mod_CFLAGS): Likewise.
35267 (_chain_mod_LDFLAGS): Likewise.
35268 (chain_mod_SOURCES): Likewise.
35269 (chain_mod_CFLAGS): Likewise.
35270 (chain_mod_LDFLAGS): Likewise.
35271
35272 * DISTLIST: Added include/grub/efi/chainloader.h,
35273 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35274
35275 * include/grub/efi/chainloader.h: New file.
35276 * loader/efi/chainloader.c: Likewise.
35277 * loader/efi/chainloader_normal.c: Likewise.
35278
c0111d6e 352792006-04-30 Marco Gerards <marco@gnu.org>
35280
35281 * commands/configfile.c (grub_cmd_source): New function.
35282 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35283 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35284
df5341da 352852006-04-30 Marco Gerards <marco@gnu.org>
35286
35287 * normal/execute.c (grub_script_execute_cmd): Change the return
35288 type to `grub_err_t'. Correctly return the error.
35289 (grub_script_execute_cmdline): In case a command line is not a
35290 command or a function, try to interpret it as an assignment.
35291
f85934bd 352922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35293
35294 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35295 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35296 skip a node whose name is obviously invalid as UTF-16,
35297 i.e. contains a NUL character. Stop the iteration when the last
35298 directory entry is found. Instead of using the return value of
35299 grub_hfsplus_btree_iterate_node, store the value in RET and use
35300 it, because the iterator can be stopped by the last directory
35301 entry.
35302
8f8a2cf8 353032006-04-30 Marco Gerards <marco@gnu.org>
35304
35305 * include/grub/env.h (grub_env_export): New prototype. Reported
35306 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35307
a27e84ce 353082006-04-30 Marco Gerards <marco@gnu.org>
35309
35310 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35311 size of the extents in a catalog file record.
35312
eaef0553 353132006-04-29 Marco Gerards <marco@gnu.org>
35314
35315 * commands/configfile.c (grub_cmd_configfile): Execute the
35316 configfile within its own context.
35317
35318 * include/grub/env.h (grub_env_context_open): New prototype.
35319 (grub_env_context_close): Likewise.
35320
35321 * kern/env.c (grub_env): Removed.
35322 (grub_env_sorted): Likewise.
35323 (grub_env_context): New variable.
35324 (grub_env_var_context): Likewise.
35325 (grub_env_find): Search both the active context and the global
35326 context.
35327 (grub_env_context_open): New function.
35328 (grub_env_context_close): Likewise.
35329 (grub_env_insert): Likewise.
35330 (grub_env_remove): Likewise.
35331 (grub_env_export): Likewise.
35332 (grub_env_set): Changed to use helper functions to avoid code
35333 duplication.
35334 (grub_env_iterate): Rewritten so both the current context and the
35335 global context are being used.
35336
35337 * normal/command.c (export_command): New function.
35338 (grub_command_init): Register the `export' function.
35339
7b455f4d 353402006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35341
35342 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35343 explicitly to suppress gcc's warnings.
35344 * fs/fat.c (grub_fat_find_dir): Likewise.
35345 (grub_fat_label): Likewise.
35346 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35347 (grub_xfs_mount): Likewise.
35348 (grub_xfs_label): Likewise.
35349 * fs/affs.c (grub_affs_mount): Likewise.
35350 (grub_affs_label): Likewise.
35351 (grub_affs_iterate_dir): Likewise.
35352 * fs/sfs.c (grub_sfs_mount): Likewise.
35353 (grub_sfs_iterate_dir): Likewise.
35354 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35355 * fs/hfs.c (grub_hfs_mount): Likewise.
35356 (grub_hfs_cmp_catkeys): Likewise.
35357 (grub_hfs_find_dir): Likewise.
35358 (grub_hfs_dir): Likewise.
35359 (grub_hfs_label): Likewise.
35360 * fs/jfs.c (grub_jfs_mount): Likewise.
35361 (grub_jfs_opendir): Likewise.
35362 (grub_jfs_getent): Likewise.
35363 (grub_jfs_lookup_symlink): Likewise.
35364 (grub_jfs_label): Likewise.
35365 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35366 (grub_hfsplus_iterate_dir): Likewise.
35367 (grub_hfsplus_btree_iterate_node): Made static.
35368
35369 * util/grub-emu.c (prefix): New variable.
35370 (grub_machine_set_prefix): New function.
35371 (main): Do not set the environment variable "prefix" here. Only
35372 set PREFIX, which is used later by grub_machine_set_prefix.
35373
35374 * include/grub/video.h: Do not include grub/symbol.h.
35375 (grub_video_register): Not exported. This symbol is not defined in
35376 the kernel.
35377 (grub_video_unregister): Likewise.
35378 (grub_video_iterate): Likewise.
35379 (grub_video_setup): Likewise.
35380 (grub_video_restore): Likewise.
35381 (grub_video_get_info): Likewise.
35382 (grub_video_get_blit_format): Likewise.
35383 (grub_video_set_palette): Likewise.
35384 (grub_video_get_palette): Likewise.
35385 (grub_video_set_viewport): Likewise.
35386 (grub_video_get_viewport): Likewise.
35387 (grub_video_map_color): Likewise.
35388 (grub_video_map_rgb): Likewise.
35389 (grub_video_map_rgba): Likewise.
35390 (grub_video_fill_rect): Likewise.
35391 (grub_video_blit_glyph): Likewise.
35392 (grub_video_blit_bitmap): Likewise.
35393 (grub_video_blit_render_target): Likewise.
35394 (grub_video_scroll): Likewise.
35395 (grub_video_swap_buffers): Likewise.
35396 (grub_video_create_render_target): Likewise.
35397 (grub_video_delete_render_target): Likewise.
35398 (grub_video_set_active_render_target): Likewise.
35399
35400 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35401 Undefined.
35402 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35403
35404 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35405 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35406 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35407 instead of $(srcdir)/genkernsyms.sh.
35408
35409 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35410 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35411 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35412 instead of $(srcdir)/genkernsyms.sh.
35413
35414 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35415 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35416 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35417 instead of $(srcdir)/genkernsyms.sh.
35418
35419 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35420 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35421 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35422 instead of $(srcdir)/genkernsyms.sh.
35423
35424 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35425 genkernsyms.sh.
35426
35427 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35428 genkernsyms.sh.
35429 (gensymlist.sh): New target.
35430 (genkernsyms.sh): Likewise.
35431
35432 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35433 genkernsyms.sh.in and gensymlist.sh.in.
35434
35435 * genkernsyms.sh: Removed.
35436 * gensymlist.sh: Likewise.
f19dbdb7 35437
7b455f4d 35438 * genkernsyms.sh.in: New file.
35439 * gensymlist.sh.in: Likewise.
35440
1885bb27 354412006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35442
35443 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35444 clobber "prefix", since we may have already set it manually.
35445
71538dff 354462006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35447
35448 * kern/misc.c (abort): New alias for grub_abort.
35449
2965c7cc 354502006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35451
35452 A new machine-specific function "grub_machine_set_prefix" is
35453 defined. This is called after loading modules, so that a prefix
35454 initialization can use modules. Also, this change adds an
35455 intensive debugging feature for the memory manager via the
35456 configure option "--enable-mm-debug".
f19dbdb7 35457
2965c7cc 35458 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35459 PART.LEN.
35460
35461 * kern/sparc64/ieee1275/init.c (abort): Removed.
35462 (grub_stop): Likewise.
35463 (grub_exit): New function.
35464 (grub_set_prefix): Renamed to ...
35465 (grub_machine_set_prefix): ... this.
35466 (grub_machine_init): Do not call grub_set_prefix.
35467
35468 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35469 (grub_machine_set_prefix): ... this.
35470 (grub_machine_init): Do not call grub_set_prefix.
35471
35472 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35473 (grub_machine_init): Do not set the prefix here.
35474
35475 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35476
35477 * kern/efi/init.c: Include grub/mm.h.
35478 (grub_efi_set_prefix): New function.
35479
35480 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35481 (grub_efi_get_filename): New function.
35482 (grub_print_device_path): Renamed to ...
35483 (grub_efi_print_device_path): ... this.
35484
35485 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35486 [MM_DEBUG] (grub_realloc): Likewise.
35487 [MM_DEBUG] (grub_free): Likewise.
35488 [MM_DEBUG] (grub_memalign): Likewise.
35489 [MM_DEBUG] (grub_mm_debug): New variable.
35490 [MM_DEBUG] (grub_debug_malloc): New function.
35491 [MM_DEBUG] (grub_debug_free): New function.
35492 [MM_DEBUG] (grub_debug_realloc): New function.
35493 [MM_DEBUG] (grub_debug_memalign): New function.
35494
35495 * kern/misc.c (grub_abort): Print a newline to distinguish
35496 the message.
35497
35498 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35499 grub_set_root_dev after loading modules. This is necessary when
35500 setting a prefix depends on modules.
35501
35502 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35503 (grub_efi_print_device_path): ... this.
35504 (grub_efi_get_filename): New prototype.
35505 (grub_efi_set_prefix): Likewise.
35506
35507 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35508 and grub/disk.h.
35509 (grub_efidisk_get_device_handle): New prototype.
35510 (grub_efidisk_get_device_name): Likewise.
35511
35512 * include/grub/mm.h: Include config.h.
35513 (MM_DEBUG): Removed.
35514 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35515 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35516 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35517 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35518 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35519 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35520 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35521 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35522 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35523
35524 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35525
35526 * disk/efi/efidisk.c: Include grub/partition.h.
35527 (iterate_child_devices): New function.
35528 (add_device): First, compare only last device path nodes, so that
35529 devices are sorted by the types.
35530 (grub_efidisk_get_device_handle): New function.
35531 (grub_efidisk_get_device_name): Likewise.
35532
35533 * configure.ac (--enable-mm-debug): New option to enable the
35534 memory manager debugging feature. This makes the binary much
35535 bigger, so is disabled by default.
35536
9cacaa17 355372006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35538
35539 Use grub_abort instead of grub_stop, and grub_exit must be
35540 define in each architecture now. Also, this change adds support
35541 for EFI disks.
f19dbdb7 35542
9cacaa17 35543 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35544 (grub_getkey): New function.
35545 (grub_term_get_current): Likewise.
35546
35547 * util/i386/pc/grub-setup.c: Include grub/term.h.
35548 (grub_getkey): New function.
35549 (grub_term_get_current): Likewise.
35550
35551 * util/misc.c (grub_stop): Renamed to ...
35552 (grub_exit): ... this.
35553
35554 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35555 (grub_exit): ... this.
35556 (grub_machine_init): Use grub_abort instead of abort.
35557 (grub_stop): Removed.
35558
35559 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35560 abort.
35561
35562 * kern/i386/pc/startup.S (grub_exit): New function.
35563 (cold_reboot): New label.
35564
35565 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35566 (grub_efi_init): Call grub_efidisk_init.
35567 (grub_efi_fini): Call grub_efidisk_fini.
35568
35569 * kern/efi/efi.c: Include grub/mm.h.
35570 (grub_efi_console_control_guid): Renamed to ...
35571 (console_control_guid): ... this.
35572 (grub_efi_loaded_image_guid): Renamed to ...
35573 (loaded_image_guid): ... this.
35574 (grub_efi_locate_handle): New function.
35575 (grub_efi_open_protocol): Likewise.
35576 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35577 GRUB_EFI_CONSOLE_CONTROL_GUID.
35578 (grub_efi_exit): Removed.
35579 (grub_stop): Likewise.
35580 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35581 (grub_exit): New function.
35582 (grub_print_device_path): Likewise.
35583
35584 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35585 (grub_enter_rescue_mode): Register "exit".
35586
35587 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35588 (grub_abort): New function.
35589
35590 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35591
35592 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35593
35594 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35595
35596 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35597 (grub_print_device_path): New prototype.
35598 (grub_efi_locate_handle): Likewise.
35599 (grub_efi_open_protocol): Likewise.
35600
35601 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35602 * disk/efi/efidisk.c: Likewise.
35603
35604 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35605
35606 * include/grub/efi/console_control.h
35607 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35608
35609 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35610 last 8 bytes as an array.
35611 (GRUB_EFI_DISK_IO_GUID): New macro.
35612 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35613 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35614 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35615 grub_uint8_t.
35616 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35617 (struct grub_efi_device_path): Rename the member "sub_type" to
35618 "subtype".
35619 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35620 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35621 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35622 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35623 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35624 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35625 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35626 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35627 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35628 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35629 (struct grub_efi_pci_device_path): New structure.
35630 (grub_efi_pci_device_path_t): New type.
35631 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35632 (struct grub_efi_pccard_device_path): New structure.
35633 (grub_efi_pccard_device_path_t): New type.
35634 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35635 (struct grub_efi_memory_mapped_device_path): New structure.
35636 (grub_efi_memory_mapped_device_path_t): New type.
35637 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35638 (struct grub_efi_vendor_device_path): New structure.
35639 (grub_efi_vendor_device_path_t): New type.
35640 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35641 (struct grub_efi_controller_device_path): New structure.
35642 (grub_efi_controller_device_path_t): New type.
35643 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35644 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35645 (struct grub_efi_acpi_device_path): New structure.
35646 (grub_efi_acpi_device_path_t): New type.
35647 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35648 (struct grub_efi_expanded_acpi_device_path): New structure.
35649 (grub_efi_expanded_acpi_device_path_t): New type.
35650 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35651 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35652 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35653 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35654 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35655 (struct grub_efi_atapi_device_path): New structure.
35656 (grub_efi_atapi_device_path_t): New type.
35657 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35658 (struct grub_efi_fibre_channel_device_path): New structure.
35659 (grub_efi_fibre_channel_device_path_t): New type.
35660 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35661 (struct grub_efi_1394_device_path): New structure.
35662 (grub_efi_1394_device_path_t): New type.
35663 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35664 (struct grub_efi_usb_device_path): New structure.
35665 (grub_efi_usb_device_path_t): New type.
35666 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35667 (struct grub_efi_usb_class_device_path): New structure.
35668 (grub_efi_usb_class_device_path_t): New type.
35669 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35670 (struct grub_efi_i2o_device_path): New structure.
35671 (grub_efi_i2o_device_path_t): New type.
35672 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35673 (struct grub_efi_mac_address_device_path): New structure.
35674 (grub_efi_mac_address_device_path_t): New type.
35675 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35676 (struct grub_efi_ipv4_device_path): New structure.
35677 (grub_efi_ipv4_device_path_t): New type.
35678 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35679 (struct grub_efi_ipv6_device_path): New structure.
35680 (grub_efi_ipv6_device_path_t): New type.
35681 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35682 (struct grub_efi_infiniband_device_path): New structure.
35683 (grub_efi_infiniband_device_path_t): New type.
35684 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35685 (struct grub_efi_uart_device_path): New structure.
35686 (grub_efi_uart_device_path_t): New type.
35687 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35688 (struct grub_efi_vendor_messaging_device_path): New structure.
35689 (grub_efi_vendor_messaging_device_path_t): New type.
35690 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35691 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35692 (struct grub_efi_hard_drive_device_path): New structure.
35693 (grub_efi_hard_drive_device_path_t): New type.
35694 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35695 (struct grub_efi_cdrom_device_path): New structure.
35696 (grub_efi_cdrom_device_path_t): New type.
35697 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35698 (struct grub_efi_vendor_media_device_path): New structure.
35699 (grub_efi_vendor_media_device_path_t): New type.
35700 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35701 (struct grub_efi_file_path_device_path): New structure.
35702 (grub_efi_file_path_device_path_t): New type.
35703 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35704 (struct grub_efi_protocol_device_path): New structure.
35705 (grub_efi_protocol_device_path_t): New type.
35706 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35707 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35708 (struct grub_efi_bios_device_path): New structure.
35709 (grub_efi_bios_device_path_t): New type.
35710 (struct grub_efi_disk_io): New structure.
35711 (grub_efi_disk_io_t): New type.
35712 (struct grub_efi_block_io_media): New structure.
35713 (grub_efi_block_io_media_t): New type.
35714 (struct grub_efi_block_io): New structure.
35715 (grub_efi_block_io_t): New type.
35716
35717 * include/grub/misc.h (grub_stop): Removed.
35718 (grub_exit): New prototype.
35719 (grub_abort): Likewise.
35720
35721 * include/grub/disk.h (enum grub_disk_dev_id): Added
35722 GRUB_DISK_DEVICE_EFIDISK_ID.
35723
35724 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35725 disk/efi/efidisk.c.
35726 (kernel_syms.lst): Remove the target if an error occurs.
35727
49986a9f 357282006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35729
35730 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35731 as it was simply too buggy.
35732
970d3b8a 357332006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35734
35735 * kern/misc.c (grub_lltoa): New function.
35736 (grub_vsprintf): Added support for the long long suffix,
35737 i.e. "ll".
35738
ff04ec24 357392006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35740
35741 * Makefile.in (LDFLAGS): Add variable.
35742 (LD): Remove variable.
35743 * configure.ac: Add -m32 to LDFLAGS.
35744 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35745 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35746 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35747 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35748 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35749 variables.
35750 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35751 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35752 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35753
37e5e1a4 357542006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35755
35756 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35757 length for unknown glyph.
35758
c352d8dd 357592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35760
2eab1c0d 35761 Add support for pre-loaded modules into the EFI port.
f19dbdb7 35762
2eab1c0d 35763 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35764 completely. Accept one more argument DIR. The caller has changed.
35765
35766 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35767
35768 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35769 (grub_efi_loaded_image_guid): New variable.
35770 (grub_efi_get_loaded_image): New function.
35771 (grub_arch_modules_addr): Likewise.
35772
35773 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35774 prototype.
35775
35776 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35777 (struct grub_efi_loaded_image): New structure.
35778 (grub_efi_loaded_image_t): New type.
35779
357802006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35781
c352d8dd 35782 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35783 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35784 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35785
6d01d6b4 357862006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35787
35788 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35789
976a4ea0 357902006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35791
35792 * DISTLIST: Added include/grub/efi/console.h,
35793 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35794 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35795
35796 * include/grub/efi/console.h: New file.
35797 * include/grub/efi/time.h: Likewise.
35798 * include/grub/i386/efi/kernel.h: Likewise.
35799 * kern/efi/init.c: Likewise.
35800 * kern/efi/mm.c: Likewise.
35801 * term/efi/console.c: Likewise.
f19dbdb7 35802
976a4ea0 35803 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35804 (grub_stop): Removed.
35805 (grub_get_rtc): Likewise.
35806 (grub_machine_init): Simply call grub_efi_init.
35807 (grub_machine_fini): Call grub_efi_fini.
35808
35809 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35810 (grub_efi_output_string): Removed.
35811 (grub_efi_stall): New function.
35812 (grub_stop): Likewise.
35813 (grub_get_rtc): Likewise.
35814
35815 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35816 (grub_efi_stall): New prototype.
35817 (grub_efi_allocate_pages): Likewise.
35818 (grub_efi_free_pages): Likewise.
35819 (grub_efi_get_memory_map): Likewise.
35820 (grub_efi_mm_init): Likewise.
35821 (grub_efi_mm_fini): Likewise.
35822 (grub_efi_init): Likewise.
35823 (grub_efi_fini): Likewise.
35824
35825 * include/grub/i386/efi/time.h: Do not include
35826 grub/symbol.h. Include grub/efi/time.h.
35827 (GRUB_TICKS_PER_SECOND): Removed.
35828 (grub_get_rtc): Likewise.
35829
35830 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35831 Added padding. The EFI spec is buggy.
35832 (GRUB_EFI_BLACK): New macro.
35833 (GRUB_EFI_BLUE): Likewise.
35834 (GRUB_EFI_GREEN): Likewise.
35835 (GRUB_EFI_CYAN): Likewise.
35836 (GRUB_EFI_RED): Likewise.
35837 (GRUB_EFI_MAGENTA): Likewise.
35838 (GRUB_EFI_BROWN): Likewise.
35839 (GRUB_EFI_LIGHTGRAY): Likewise.
35840 (GRUB_EFI_BRIGHT): Likewise.
35841 (GRUB_EFI_DARKGRAY): Likewise.
35842 (GRUB_EFI_LIGHTBLUE): Likewise.
35843 (GRUB_EFI_LIGHTGREEN): Likewise.
35844 (GRUB_EFI_LIGHTCYAN): Likewise.
35845 (GRUB_EFI_LIGHTRED): Likewise.
35846 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35847 (GRUB_EFI_YELLOW): Likewise.
35848 (GRUB_EFI_WHITE): Likewise.
35849 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35850 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35851 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35852 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35853 (GRUB_EFI_BACKGROUND_RED): Likewise.
35854 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35855 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35856 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35857 (GRUB_EFI_TEXT_ATTR): Likewise.
35858
35859 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35860 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35861 (kernel_mod_HEADERS): Added efi/time.h.
35862
83709125 358632006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35864
35865 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35866 include/grub/efi/api.h, include/grub/efi/console_control.h,
35867 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35868 include/grub/i386/efi/time.h, kern/efi/efi.c,
35869 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35870 and util/i386/efi/grub-mkimage.c.
35871
35872 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35873
35874 * genmk.rb (PModule#rule): Do not export symbols if
35875 #{prefix}_EXPORTS is set to "no".
35876
35877 * conf/i386-efi.mk: New file.
35878 * conf/i386-efi.rmk: Likewise.
35879 * include/grub/efi/api.h: Likewise.
35880 * include/grub/efi/console_control.h: Likewise.
35881 * include/grub/efi/efi.h: Likewise.
35882 * include/grub/efi/pe32.h: Likewise.
35883 * include/grub/i386/efi/time.h: Likewise.
35884 * kern/efi/efi.c: Likewise.
35885 * kern/i386/efi/init.c: Likewise.
35886 * kern/i386/efi/startup.S: Likewise.
35887 * util/i386/efi/grub-mkimage.c: Likewise.
35888
358892006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 35890
35891 * include/grub/script.h: Include <grub/parser.h> and
35892 "grub_script.tab.h".
35893 (struct grub_lexer_param): New struct.
35894 (struct grub_parser_param): Likewise.
35895 (grub_script_create_arglist): Pass the state in an argument.
35896 (grub_script_add_arglist): Likewise.
35897 (grub_script_create_cmdline): Likewise.
35898 (grub_script_create_cmdblock): Likewise.
35899 (grub_script_create_cmdif): Likewise.
35900 (grub_script_create_cmdmenu): Likewise.
35901 (grub_script_add_cmd): Likewise.
35902 (grub_script_arg_add): Likewise.
35903 (grub_script_lexer_ref): Likewise.
35904 (grub_script_lexer_deref): Likewise.
35905 (grub_script_lexer_record_start): Likewise.
35906 (grub_script_lexer_record_stop): Likewise.
35907 (grub_script_mem_record): Likewise.
35908 (grub_script_mem_record_stop): Likewise.
35909 (grub_script_malloc): Likewise.
35910 (grub_script_yylex): Likewise.
35911 (grub_script_yyparse): Likewise.
35912 (grub_script_yyerror): Likewise.
35913 (grub_script_yylex): Likewise.
35914 (grub_script_lexer_init): Return the state.
35915
35916 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35917 (grub_script_lexer_done): Likewise.
35918 (grub_script_lexer_getline): Likewise.
35919 (grub_script_lexer_refs): Likewise.
35920 (script): Likewise.
35921 (newscript): Likewise.
35922 (record): Likewise.
35923 (recording): Likewise.
35924 (recordpos): Likewise.
35925 (recordlen): Likewise.
35926 (grub_script_lexer_init): Return the state instead of setting
35927 global variables.
35928 (grub_script_lexer_ref): Use the newly added argument for state
35929 instead of globals.
35930 (grub_script_lexer_deref): Likewise.
35931 (grub_script_lexer_record_start): Likewise.
35932 (grub_script_lexer_record_stop): Likewise.
35933 (recordchar): Likewise.
35934 (nextchar): Likewise.
35935 (grub_script_yylex2): Likewise.
35936 (grub_script_yylex): Likewise.
35937 (grub_script_yyerror): Likewise.
35938
35939 * normal/parser.y (func_mem): Removed variable.
35940 (menu_entry): Likewise.
35941 (err): Likewise.
35942 (%lex-param): New parser option.
35943 (%parse-param): Likewise.
35944 (script): Always return the AST.
35945 (argument): Pass the state around.
35946 (arguments): Likewise.
35947 (grubcmd): Likewise.
35948 (commands): Likewise.
35949 (function): Likewise.
35950 (menuentry): Likewise.
35951 (if_statement): Likewise.
35952 (if): Likewise.
35953
35954 * normal/script.c (grub_script_memused): Removed variable.
35955 (grub_script_parsed): Likewise.
35956 (grub_script_malloc): Added a state argument. Use that instead of
35957 global variables.
35958 (grub_script_mem_record): Likewise.
35959 (grub_script_mem_record_stop): Likewise.
35960 (grub_script_arg_add): Likewise.
35961 (grub_script_add_arglist): Likewise.
35962 (grub_script_create_cmdline): Likewise.
35963 (grub_script_create_cmdif): Likewise.
35964 (grub_script_create_cmdmenu): Likewise.
35965 (grub_script_add_cmd): Likewise.
35966 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 35967
e2a8c904 359682006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 35969
35970 * normal/command.c (grub_command_init): Remove the title command.
35971
35972 * normal/lexer.c (grub_script_yylex): Renamed from this...
35973 (grub_script_yylex2): ... to this.
35974 (grub_script_yylex): New function. Temporary
35975 introduced to filter some tokens.
35976 (grub_script_yyerror): Print a newline.
35977
35978 * normal/main.c (read_config_file): Output information about the
35979 lines that contain errors. Wait for a key after all lines have
35980 been processed. Don't return an empty menu.
35981
35982 * normal/parser.y (func_mem): Don't initialize.
35983 (menu_entry): Likewise.
35984 (err): New variable.
35985 (script): Don't return anything when an error was encountered.
35986 (ws, returns): Removed rules.
35987 (argument): Disabled concatenated variable support.
35988 (arguments): Remove explicit separators.
35989 (grubcmd): Likewise.
35990 (function): Likewise.
35991 (menuentry): Likewise.
35992 (if): Likewise.
35993 (commands): Likewise. Add error handling.
35994
35995 * normal/script.c (grub_script_create_cmdline): If
35996 `grub_script_parsed' is 0, assume the parser encountered an error.
35997
c9a86192 359982006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35999
36000 * configure.ac: Add support for EFI. Fix the typo
36001 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36002
70f3b243 360032006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36004
36005 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36006 foreign multibyte characters should be shown correctly.
36007
65f201ad 360082006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36009
36010 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36011 calculation.
36012 (read_config_file): Made it to close file before returning.
36013
b4b93674 360142006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36015
36016 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36017 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36018 video/i386/pc/vbefill.c.
36019
36020 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36021 video/i386/pc/vbefill.c.
36022
36023 * include/grub/video.h (grub_video_blit_format): New enum.
36024 (grub_video_mode_info): Added new member blit_format.
36025 (grub_video_get_blit_format): New function prototype.
36026
36027 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36028 function prototype.
36029 (grub_video_vbe_map_rgb): Likewise.
36030 (grub_video_vbe_unmap_color): Likewise.
36031
36032 * include/grub/i386/pc/vbeblit.h: New file.
36033
36034 * include/grub/i386/pc/vbefill.h: New file.
36035
36036 * video/video.c (grub_video_get_blit_format): New function.
36037 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36038 (grub_video_vbe_map_rgb): Likewise.
36039 (grub_video_vbe_unmap_color): Likewise.
36040
36041 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36042 optimized fills.
36043 (grub_video_vbe_blit_render_target): Changed to use more optimized
36044 blits.
36045 (grub_video_vbe_setup): Added detection for optimized settings.
36046 (grub_video_vbe_create_render_target): Likewise.
36047
36048 * video/i386/pc/vbeblit.c: New file.
36049
36050 * video/i386/pc/vbefill.c: New file.
36051
c2379b9c 360522006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36053
36054 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36055 here...
36056
36057 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36058 parsing to support both hex and dec ranges. If filename was missing
36059 show usage information.
36060
bd0d7896 360612006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36062
36063 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36064 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36065
36066 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36067 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36068 (video_mod_SOURCES): Added.
36069 (video_mod_CFLAGS): Likewise.
36070 (video_mod_LDFLAGS): Likewise.
36071 (gfxterm_mod_SOURCES): Likewise.
36072 (gfxterm_mod_CFLAGS): Likewise.
36073 (gfxterm_mod_LDFLAGS): Likewise.
36074 (videotest_mod_SOURCES): Likewise.
36075 (videotest_mod_CFLAGS): Likewise.
36076 (videotest_mod_LDFLAGS): Likewise.
36077 (vesafb_mod_SOURCES): Removed.
36078 (vesafb_mod_CFLAGS): Likewise.
36079 (vesafb_mod_LDFLAGS): Likewise.
36080 (vga_mod_SOURCES): Likewise.
36081 (vga_mod_CFLAGS): Likewise.
36082 (vga_mod_LDFLAGS): Likewise.
36083
36084 * commands/videotest.c: New file.
36085
36086 * font/manager.c (fill_with_default_glyph): Modified to use
36087 grub_font_glyph.
36088 (grub_font_get_glyph): Likewise.
36089 (fontmanager): Renamed from this...
36090 (font_manager): ... to this.
36091
36092 * include/grub/font.h (grub_font_glyph): Added new structure.
36093 (grub_font_get_glyph): Modified to use grub_font_glyph.
36094
36095 * include/grub/misc.h (grub_abs): Added as inline function.
36096
36097 * include/grub/video.h: New file.
36098
36099 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36100 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36101 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36102 (grub_vbe_get_controller_info): Renamed from this...
36103 (grub_vbe_bios_get_controller_info): ... to this.
36104 (grub_vbe_get_mode_info): Renamed from this...
36105 (grub_vbe_bios_get_mode_info): ... to this.
36106 (grub_vbe_set_mode): Renamed from this...
36107 (grub_vbe_bios_set_mode): ... to this.
36108 (grub_vbe_get_mode): Renamed from this...
36109 (grub_vbe_bios_get_mode): ... to this.
36110 (grub_vbe_set_memory_window): Renamed from this...
36111 (grub_vbe_bios_set_memory_window): ... to this.
36112 (grub_vbe_get_memory_window): Renamed from this...
36113 (grub_vbe_bios_get_memory_window): ... to this.
36114 (grub_vbe_set_scanline_length): Renamed from this...
36115 (grub_vbe_set_scanline_length): ... to this.
36116 (grub_vbe_get_scanline_length): Renamed from this...
36117 (grub_vbe_bios_get_scanline_length): ... to this.
36118 (grub_vbe_set_display_start): Renamed from this...
36119 (grub_vbe_bios_set_display_start): ... to this.
36120 (grub_vbe_get_display_start): Renamed from this...
36121 (grub_vbe_bios_get_display_start): ... to this.
36122 (grub_vbe_set_palette_data): Renamed from this...
36123 (grub_vbe_bios_set_palette_data): ... to this.
36124 (grub_vbe_set_pixel_rgb): Removed.
36125 (grub_vbe_set_pixel_index): Likewise.
36126
36127 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36128 from this...
36129 (grub_vbe_bios_get_controller_info): ... to this.
36130 (grub_vbe_get_mode_info): Renamed from this...
36131 (grub_vbe_bios_get_mode_info): ... to this.
36132 (grub_vbe_set_mode): Renamed from this...
36133 (grub_vbe_bios_set_mode): ... to this.
36134 (grub_vbe_get_mode): Renamed from this...
36135 (grub_vbe_bios_get_mode): ... to this.
36136 (grub_vbe_set_memory_window): Renamed from this...
36137 (grub_vbe_bios_set_memory_window): ... to this.
36138 (grub_vbe_get_memory_window): Renamed from this...
36139 (grub_vbe_bios_get_memory_window): ... to this.
36140 (grub_vbe_set_scanline_length): Renamed from this...
36141 (grub_vbe_set_scanline_length): ... to this.
36142 (grub_vbe_get_scanline_length): Renamed from this...
36143 (grub_vbe_bios_get_scanline_length): ... to this.
36144 (grub_vbe_set_display_start): Renamed from this...
36145 (grub_vbe_bios_set_display_start): ... to this.
36146 (grub_vbe_get_display_start): Renamed from this...
36147 (grub_vbe_bios_get_display_start): ... to this.
36148 (grub_vbe_set_palette_data): Renamed from this...
36149 (grub_vbe_bios_set_palette_data): ... to this.
36150 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36151 getting corrupted after calling it. Added more pushes and pops.
36152 (grub_vbe_bios_set_mode): Likewise.
36153 (grub_vbe_bios_get_mode): Likewise.
36154 (grub_vbe_bios_get_memory_window): Likewise.
36155 (grub_vbe_bios_set_scanline_length): Likewise.
36156 (grub_vbe_bios_get_scanline_length): Likewise.
36157 (grub_vbe_bios_get_display_start): Likewise.
36158 (grub_vbe_bios_set_palette_data): Likewise.
36159
36160 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36161 (cl_insert): Likewise.
36162 (cl_delete): Likewise.
36163
36164 * term/gfxterm.c: New file.
36165
36166 * term/i386/pc/vesafb.c: Removed file.
36167
36168 * video/video.c: New file.
36169
36170 * video/i386/pc/vbe.c (real2pm): Added new function.
36171 (grub_video_vbe_draw_pixel): Likewise.
36172 (grub_video_vbe_get_video_ptr): Likewise.
36173 (grub_video_vbe_get_pixel): Likewise
36174 (grub_video_vbe_init): Likewise.
36175 (grub_video_vbe_fini): Likewise.
36176 (grub_video_vbe_setup): Likewise.
36177 (grub_video_vbe_get_info): Likewise.
36178 (grub_video_vbe_set_palette): Likewise.
36179 (grub_video_vbe_get_palette): Likewise.
36180 (grub_video_vbe_set_viewport): Likewise.
36181 (grub_video_vbe_get_viewport): Likewise.
36182 (grub_video_vbe_map_color): Likewise.
36183 (grub_video_vbe_map_rgb): Likewise.
36184 (grub_video_vbe_map_rgba): Likewise.
36185 (grub_video_vbe_unmap_color): Likewise.
36186 (grub_video_vbe_fill_rect): Likewise.
36187 (grub_video_vbe_blit_glyph): Likewise.
36188 (grub_video_vbe_blit_bitmap): Likewise.
36189 (grub_video_vbe_blit_render_target): Likewise.
36190 (grub_video_vbe_scroll): Likewise.
36191 (grub_video_vbe_swap_buffers): Likewise.
36192 (grub_video_vbe_create_render_target): Likewise.
36193 (grub_video_vbe_delete_render_target): Likewise.
36194 (grub_video_vbe_set_active_render_target): Likewise.
36195 (grub_vbe_set_pixel_rgb): Remove function.
36196 (grub_vbe_set_pixel_index): Likewise.
36197 (index_color_mode): Remove static variable.
36198 (active_mode): Likewise.
36199 (framebuffer): Likewise.
36200 (bytes_per_scan_line): Likewise.
36201 (grub_video_vbe_adapter): Added new static variable.
36202 (framebuffer): Likewise.
36203 (render_target): Likewise.
36204 (initial_mode): Likewise.
36205 (mode_in_use): Likewise.
36206 (mode_list): Likewise.
36207
5f97350b 362082006-03-10 Marco Gerards <marco@gnu.org>
36209
36210 * configure.ac (AC_INIT): Bumped to 1.93.
36211
36212 * DISTLIST: Added `include/grub/hfs.h'.
36213
a3c5c6f8 362142006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36215
36216 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36217 18H, which might help the BIOS falling back to next boot media.
36218
6de53d26 362192006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36220
36221 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36222 Poe Chen <poe.poechen@gmail.com>.
36223
77c4a393 362242006-01-17 Marco Gerards <marco@gnu.org>
36225
36226 * include/grub/normal.h: Include <grub/script.h>.
36227 (grub_command_list): Removed struct.
36228 (grub_command_list_t): Removed type.
36229 (grub_menu_entry): Remove members `num' and `command_list'. Add
36230 members `commands' and `sourcecode'.
36231 * include/grub/script.h: Add inclusion guards.
36232 (grub_script_cmd_menuentry): New struct.
36233 (grub_script_execute_menuentry): New prototype.
36234 (grub_script_lexer_record_start): Likewise.
36235 (grub_script_lexer_record_stop): Likewise.
36236 * normal/execute.c (grub_script_execute_menuentry): New function.
36237 * normal/lexer.c (record, recording, recordpos, recordlen): New
36238 variables.
36239 (grub_script_lexer_record_start): New function.
36240 (grub_script_lexer_record_stop): Likewise.
36241 (recordchar): Likewise.
36242 (nextchar): Likewise.
36243 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36244 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36245 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36246 (current_menu): New variable.
36247 (free_menu): Mainly rewritten.
36248 (grub_normal_menu_addentry): New function.
36249 (read_config_file): Rewritten.
36250 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 36251 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 36252 the menu entry.
36253 (run): Mainly rewritten.
36254 * normal/parser.y (menu_entry): New variable.
36255 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36256 (menuentry): New rule.
36257 (command): Add `menuentry'.
36258 (if_statement): Allow additional returns before `fi'.
36259 * normal/script.c (grub_script_create_cmdmenu): New function.
36260
144f1f98 362612006-01-03 Marco Gerards <marco@gnu.org>
36262
36263 * INSTALL: GNU Bison is required.
36264 * configure.ac: Rewritten the test to detect Bison.
36265 * Makefile.in (YACC): New variable. Reported by Xun Sun
36266 <xun.sun.cn@gmail.com>.
36267
af4b2d89 362682006-01-03 Marco Gerards <marco@gnu.org>
36269
36270 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36271 the HFS+ filesystem to filesystem blocks.
36272 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36273 GCC warning is silenced.
36274
15643b71 362752006-01-03 Marco Gerards <marco@gnu.org>
36276
36277 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36278 read from disk from big endian to host byte order.
36279
00905879 362802006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36281
36282 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36283 documentation.
36284 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36285 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36286 embedded HFS+ filesystem.
36287 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36288 (grub_hfs_sblock): Move from here...
36289 * include/grub/hfs.h: To here... New file.
36290 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36291 documentation.
36292 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36293 New macros.
36294 (grub_hfsplus_volheader): Change type of member `magic' to
36295 `grub_uint16_t'.
36296 (grub_hfsplus_data): Add new member `embedded_offset'.
36297 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36298 returned block.
36299 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36300 Calculate the offset.
36301
8899bc3e 363022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36303
36304 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36305 Removed.
36306 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36307
ae8c0277 363082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36309
36310 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36311 ENV->NAME is NULL after allocating ENV->VALUE.
36312
07084456 363132005-12-25 Marco Gerards <marco@gnu.org>
36314
36315 * kern/env.c (grub_env_set): Rewritten the error handling code.
36316
4750f5f1 363172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36318
36319 * geninit.sh: Made more robust, and more portable.
36320
50214199 363212005-12-25 Marco Gerards <marco@gnu.org>
36322
36323 Add support for Apple HFS+ filesystems.
f19dbdb7 36324
50214199 36325 * fs/hfsplus.c: New file.
36326
36327 * DISTLIST: Added `fs/hfsplus.c'.
36328
36329 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36330 (hfsplus_mod_SOURCES): New variable.
36331 (hfsplus_mod_CFLAGS): Likewise.
36332 (hfsplus_mod_LDFLAGS): Likewise.
36333 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36334 (grub_setup_SOURCES): Likewise.
36335 (grub_mkdevicemap_SOURCES): Likewise.
36336 (grub_emu_SOURCES): Likewise.
36337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36338
36339 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36340
36341 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36342
befaed6c 363432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36344
36345 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36346 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36347 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36348 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36349 normal/lexer.c, normal/parser.y, normal/script.c, and
36350 partmap/gpt.c.
36351 Removed kern/sparc64/cache.c.
36352
36353 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36354 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36355 grub_emu_init.c.
36356
36357 * configure.ac (AC_INIT): Bumped to 1.92.
36358
6a124103 363592005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36360
36361 * kern/err.c (grub_error_push): Added new function to support error
36362 stacks.
36363 (grub_error_pop): Likewise.
36364 (grub_error_stack_items): New local variable to support error stacks.
36365 (grub_error_stack_pos): Likewise.
36366 (grub_error_stack_assert): Likewise.
36367 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36368 stack depth.
36369 (grub_print_error): Added support to print errors from error stack.
36370
36371 * include/grub/err.h (grub_error_push): Added function prototype.
36372 (grub_error_pop): Likewise.
36373
be973c1b 363742005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36375
36376 * configure.ac: Accept `powerpc64' as host_cpu.
36377 (amd64): Rename to `biarch32'.
36378
36379 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36380 non-cacheline-aligned addresses.
36381
36382 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36383 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36384 if `size' is non-zero.
36385
b04216ab 363862005-12-03 Marco Gerards <mgerards@xs4all.nl>
36387
36388 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36389 and `cd' to make sure the filename is not prefixed with a
36390 directory name.
36391 (pkgdata_MODULES): Add `gpt.mod'.
36392 (gpt_mod_SOURCES): New variable.
36393 (gpt_mod_CFLAGS): Likewise.
36394 (gpt_mod_LDFLAGS): Likewise.
36395
36396 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36397
36398 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36399 New macro.
36400
36401 * partmap/gpt.c: New file.
36402
36403 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36404 GPT partition map is detected.
36405
41730ed9 364062005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36407
36408 * commands/i386/pc/play.c: New file.
36409 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36410 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36411 macros.
f19dbdb7 36412
95dc3643 364132005-11-27 Marco Gerards <mgerards@xs4all.nl>
36414
36415 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36416 ((unused))' to silence gcc warning.
36417
1569ec51 364182005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36419
36420 * configure.ac: Correct `AC_PROG_YACC' test.
36421
9abde152 364222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36423
36424 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36425 check before installing files.
36426
44b83271 364272005-11-22 Mike Small <smallm@panix.com>
36428
36429 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36430 number regex so multidigit numbers are recognized correctly.
36431
364322005-11-22 Mike Small <smallm@panix.com>
36433
36434 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36435 debugging message before attempting to claim memory.
36436 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36437 multiple addresses in case of failure.
36438
9c12956b 364392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36440
36441 * term/tparm.c (get_space): Remove empty `if' statement.
36442
36443 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36444
36445 * kern/parser.c (check_varstate): Rename `state' to 's'.
36446
aeaf81d9 364472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36448
36449 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36450 variable definitions to the beginning of each function. Sort stack
36451 variables by size.
36452 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36453 `buf' argument to `char *'.
36454
79bbb63f 364552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36456
36457 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36458 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36459 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36460 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36461 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36462 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36463 configfile.mod, search.mod, gzio.mod and test.mod.
36464 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36465 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36466 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36467 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36468 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36469 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36470 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36471 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36472 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36473 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36474 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36475 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36476 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36477 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36478 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36479 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36480 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36481 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36482 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36483 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36484 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36485 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36486 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36487
36488 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36489 `grep --include'.
36490 (pkgdata_MODULES): Add test.mod.
36491
233b1628 364922005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36493
36494 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36495 appending to variables with "+=".
36496 (PModule): Use full pathname to generate *.lst filenames.
36497
36498 * Makefile.in: Fixed list rules moved from genmk.rb.
36499 (.DELETE_ON_ERROR): New special target.
36500 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36501
36502 * conf/i386-pc.rmk: Include conf/common.mk.
36503 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36504 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36505 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36506 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36507 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36508 configfile.mod, search.mod, gzio.mod and test.mod.
36509 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36510 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36511 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36512 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36513 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36514 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36515 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36516 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36517 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36518 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36519 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36520 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36521 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36522 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36523 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36524 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36525 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36526 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36527 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36528 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36529 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36530 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36531 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36532 here...
36533 * conf/common.rmk: ... to here. New file.
36534
36535 * conf/common.mk: New file.
36536
16f820c8 365372005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36538
36539 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36540 (grub_script.tab.c): ... here.
36541
36542 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36543 (grub_script.tab.c): ... here.
36544
36545 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36546 (grub_script.tab.c): ... here.
36547
36548 * normal/command.c (grub_command_find): Fixed a memory leak of
36549 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36550
63ba1554 365512005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36552
36553 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36554 "@" which marks the start of a comment on ARM.
36555 (VARIABLE): Likewise.
36556
7f67dc13 365572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36558
79bbb63f 36559 Add support for Linux/ADFS partition tables.
7f67dc13 36560
36561 * partmap/acorn.c: New file.
36562
36563 * include/grub/acorn_filecore.h: Likewise.
36564
36565 * DISTLIST: Added `partmap/acorn.c' and
36566 `include/grub/acorn_filecore.h'.
f19dbdb7 36567
7f67dc13 36568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36569 `partmap/acorn.c'.
36570 (pkgdata_MODULES): Add `acorn.mod'.
36571 (acorn_mod_SOURCES): New variable.
36572 (acorn_mod_CFLAGS): Likewise.
36573
36574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36575 `partmap/acorn.c'.
36576 (pkgdata_MODULES): Add `acorn.mod'.
36577 (acorn_mod_SOURCES): New variable.
36578 (acorn_mod_CFLAGS): Likewise.
36579
36580 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36581 (pkgdata_MODULES): Add `acorn.mod'.
36582 (acorn_mod_SOURCES): New variable.
36583 (acorn_mod_CFLAGS): Likewise.
36584 (acorn_mod_LDFLAGS): Likewise.
36585
36586 * include/types.h (grub_disk_addr_t): New typedef.
36587
6d099807 365882005-11-13 Marco Gerards <mgerards@xs4all.nl>
36589
36590 * geninit.sh: New file.
36591
36592 * geninitheader.sh: Likewise.
36593
36594 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36595 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36596 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36597 * commands/configfile.c (grub_configfile_init)
36598 (grub_configfile_fini): Likewise.
36599 * commands/default.c (grub_default_init, grub_default_fini):
36600 Likewise.
36601 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36602 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36603 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36604 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36605 Likewise.
36606 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36607 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36608 Likewise.
36609 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 36610 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 36611 Likewise.
36612 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36613 Likewise.
fe6b695a 36614 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 36615 Likewise.
36616 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36617 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36618 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36619 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36620 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36621 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36622 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36623 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36624 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36625 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36626 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36627 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36628 * partmap/amiga.c (grub_amiga_partition_map_init)
36629 (grub_amiga_partition_map_fini): Likewise.
36630 * partmap/apple.c (grub_apple_partition_map_init)
36631 (grub_apple_partition_map_fini): Likewise.
36632 * partmap/pc.c (grub_pc_partition_map_init)
36633 (grub_pc_partition_map_fini): Likewise.
36634 * partmap/sun.c (grub_sun_partition_map_init,
36635 grub_sun_partition_map_fini): Likewise.
36636 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36637 Likewise.
36638
36639 * util/grub-emu.c: Include <grub_modules_init.h>.
36640 (main): Don't initialize and de-initialize any modules directly,
36641 use `grub_init_all' and `grub_fini_all' instead.
36642
36643 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36644 `grub_vesafb_mod_init'.
36645 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36646 all users.
36647 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36648 `grub_vga_mod_init'. Updated all users.
36649 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 36650
6d099807 36651 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36652 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36653 rules.
36654
36655 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36656 Generate a function to initialize the module in utilities.
36657 Updated all callers.
36658 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36659 initialize the module in utilities. Updated all callers.
36660
9046bcf0 366612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36662
36663 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36664 escape sequence and a literal ^L to clear the screen.
36665
36666 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36667 when returning from Open Firmware.
36668
d13ea639 366692005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36670
36671 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36672 (grub_ofconsole_height): Likewise.
36673 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36674 manually insert a '\n'.
36675 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36676 `grub_ofconsole_height'. Return early if these are already set.
36677
a8fcf206 366782005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36679
36680 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36681 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36682 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36683 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36684 and `normal/script.c'.
36685 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36686 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36687 (test_mod_SOURCES): New variable.
36688 (test_mod_CFLAGS): Likewise.
36689 (test_mod_LDFLAGS): Likewise.
36690 (pkgdata_MODULES): Add `test.mod'.
36691 (grub_script.tab.c): New rule.
36692 (grub_script.tab.h): Likewise.
36693
b6b32745 366942005-11-07 Marco Gerards <mgerards@xs4all.nl>
36695
36696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36697 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36698 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36699 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36700 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36701 (test_mod_SOURCES): New variable.
36702 (test_mod_CFLAGS): Likewise.
36703 (pkgdata_MODULES): Add `test.mod'.
36704 (grub_script.tab.c): New rule.
36705 (grub_script.tab.h): Likewise.
36706
daac212a 367072005-11-06 Marco Gerards <mgerards@xs4all.nl>
36708
36709 Add initial scripting support.
36710
36711 * commands/test.c: New file.
36712 * include/grub/script.h: Likewise.
36713 * normal/execute.c: Likewise.
36714 * normal/function.c: Likewise.
36715 * normal/lexer.c: Likewise.
36716 * normal/parser.y: Likewise.
36717 * normal/script.c: Likewise.
36718
36719 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 36720
daac212a 36721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36722 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36723 `normal/function.c' and `normal/script.c'.
36724 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36725 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 36726 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36727 variables.
daac212a 36728 (pkgdata_MODULES): Add `test.mod'.
36729 (grub_script.tab.c): New rule.
36730 (grub_script.tab.h): Likewise.
36731
36732 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36733
36734 * include/grub/normal.h (grub_test_init): New prototype.
36735 (grub_test_fini): Likewise.
f19dbdb7 36736
daac212a 36737 * normal/command.c: Include <grub/script.h>.
36738 (grub_command_execute): Rewritten.
f19dbdb7 36739
daac212a 36740 * util/grub-emu.c (main): Call `grub_test_init' and
36741 `grub_test_fini'.
36742
77500b2b 367432005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36744
36745 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36746 to 0.
36747 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36748 there are no pending characters.
36749
e45deb9e 367502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36751
36752 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36753 `grub_strndup' to drop device arguments. Replace unnecessary
36754 `grub_strndup' with `grub_strdup'.
36755
4ce32619 367562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36757
36758 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36759 `debug' environment variable has been set.
36760
367612005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36762
4ce32619 36763 * Makefile.in (install-local): Use $(DATA).
36764 (uninstall): Likewise.
36765 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36766 (sbin_UTILITIES): ... to here.
36767 (sbin_SCRIPTS): New variable.
36768 (grub_install_SOURCES): New variable.
36769 * util/powerpc/ieee1275/grub-install.in: New file.
36770 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36771 variable.
36772 (add_segments): Call `grub_util_get_path'.
36773
25fe6f03 367742005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36775
36776 From Timothy Baldwin:
36777 * commands/ls.c (grub_ls_list_files): Close FILE with
36778 grub_file_close.
36779 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36780
04ccf3ec 367812005-10-24 Marco Gerards <mgerards@xs4all.nl>
36782
36783 * include/grub/parser.h: New file.
36784
36785 * kern/parser.c: Likewise.
36786
36787 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36788 (grub_setup_SOURCES): Likewise.
36789 (grub_probefs_SOURCES): Likewise.
36790 (grub_emu_SOURCES): Likewise.
36791 (kernel_img_HEADERS): Add `parser.h'.
36792
36793 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36794 (grub_emu_SOURCES): Add `kern/parser.c'.
36795 (grubof_SOURCES): Likewise.
36796
36797 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36798 (grubof_SOURCES): Add `kern/parser.c'.
36799
36800 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36801
36802 * kern/misc.c (grub_split_cmdline): Removed function.
36803
36804 * kern/rescue.c: Include <grub/parser.h>.
36805 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36806 of `grub_split_cmdline'.
36807
36808 * normal/command.c: Include <grub/parser.h>.
36809 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36810 of `grub_split_cmdline'.
36811
36812 * normal/completion.c: Include <grub/parser.h>.
36813 (cmdline_state): New variable.
36814 (iterate_dir): End the filename with a quote depending on the
36815 command line state.
36816 (get_state): new function.
36817 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36818 split the arguments and determine the current argument. When the
36819 argument string is not quoted, escape all spaces.
36820
6d8f4b0e 368212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36822
36823 * normal/sparc64/setjmp.S: New file.
36824
15cf03ed 368252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36826
36827 * include/grub/sparc64/libgcc.h: New file.
36828 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36829 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36830 normal/sparc64/setjmp.c.
36831
03e8661a 368322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36833
36834 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36835 * kern/sparc64/cache.S: New file.
36836 * kern/sparc64/cache.c: Removed.
36837 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36838 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36839 -mtune=ultrasparc.
36840 (COMMON_LDFLAGS): Add -melf64_sparc.
36841 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36842 (grubof_SOURCES): Use cache.S instead of cache.c.
36843 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36844 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36845 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36846 commented though.
36847 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36848 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36849 (linux_mod_CFLAGS): Commented out.
36850 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36851 out because module isn't built.
36852 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36853 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36854 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36855 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36856 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36857 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36858 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36859 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36860 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36861 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36862 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36863 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36864 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36865 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36866
34eeec8a 368672005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36868
36869 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36870 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36871 longer, because HFS should not be used on PC.
36872
708367a3 368732005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36874
36875 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36876 consistently within the loop.
36877
6fa1251a 368782005-10-15 Marco Gerards <mgerards@xs4all.nl>
36879
36880 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36881 directory can not be read.
36882
4801580b 368832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36884
36885 * configure.ac (AC_INIT): Increase the version number to 1.91.
36886
36887 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36888 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36889 term/i386/pc/serial.c.
36890
219ad426 368912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36892
36893 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36894 file size must be permitted.
36895
36896 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36897 between %ah and %al.
36898
688e5699 368992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36900
36901 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36902 grub_uint64_t.
36903 Call the hook with a NUL-terminated filename.
36904 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36905 grub_cpu_to_be32.
36906
36907 * kern/term.c (cursor_state): New variable.
36908 (grub_term_set_current): Reset the cursor state on a new
36909 terminal.
36910 (grub_setcursor): Rewritten to use CURSOR_STATE.
36911 (grub_getcursor): New function.
36912
36913 * include/grub/term.h (grub_getcursor): New prototype.
36914
36915 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36916 integers on ARM. Reported by Timothy Baldwin
36917 <T.E.Baldwin99@members.leeds.ac.uk>.
36918
bb34586c 369192005-10-11 Marco Gerards <mgerards@xs4all.nl>
36920
36921 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36922 allocated.
36923 (grub_sfs_dir): Likewise.
36924
9a909877 369252005-10-09 Marco Gerards <mgerards@xs4all.nl>
36926
36927 Add support for the SFS filesystem.
36928
36929 * fs/sfs.c: New file.
36930
36931 * DISTLIST: Added `fs/sfs.c'.
36932
36933 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36934 (grub_probefs_SOURCES): Likewise.
36935 (grub_emu_SOURCES): Likewise.
36936 (pkgdata_MODULES): Add `sfs.mod'.
36937 (sfs_mod_SOURCES): New variable.
36938 (sfs_mod_CFLAGS): Likewise.
36939 (sfs_mod_LDFLAGS): Likewise.
36940
36941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36942 (pkgdata_MODULES): Add `sfs.mod'.
36943 (sfs_mod_SOURCES): New variable.
36944 (sfs_mod_CFLAGS): Likewise.
36945
36946 * util/grub-emu.c (main): Call `grub_sfs_init' and
36947 `grub_sfs_fini'.
36948
36949 * include/grub/fs.h (grub_sfs_init): New prototype.
36950 (grub_sfs_fini): Likewise.
36951
57bdbde3 369522005-10-07 Marco Gerards <mgerards@xs4all.nl>
36953
36954 Add support for the AFFS filesystem.
36955
36956 * fs/affs.c: New file.
36957
36958 * DISTLIST: Added `fs/affs.c'.
36959
36960 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36961 (grub_probefs_SOURCES): Likewise.
36962 (grub_emu_SOURCES): Likewise.
36963 (pkgdata_MODULES): Add `affs.mod'.
36964 (affs_mod_SOURCES): New variable.
36965 (affs_mod_CFLAGS): Likewise.
36966 (affs_mod_LDFLAGS): Likewise.
36967
36968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36969 (pkgdata_MODULES): Add `affs.mod'.
36970 (affs_mod_SOURCES): New variable.
36971 (affs_mod_CFLAGS): Likewise.
36972
36973 * util/grub-emu.c (main): Call `grub_affs_init' and
36974 `grub_affs_fini'.
36975
36976 * include/grub/fs.h (grub_affs_init): New prototype.
36977 (grub_affs_fini): Likewise.
36978
047b67e0 369792005-10-01 Marco Gerards <mgerards@xs4all.nl>
36980
36981 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36982
59b8208a 369832005-10-01 Marco Gerards <mgerards@xs4all.nl>
36984
36985 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36986 `-m32' to CFLAGS.
36987
36988 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36989 linking.
f19dbdb7 36990
59b8208a 36991 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36992 (COMMON_LDFLAGS): New variable.
36993 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36994 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36995 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36996 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36997 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36998 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36999 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37000 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37001 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37002 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37003 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37004 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37005 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37006 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37007 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37008 variables.
37009 (normal_mod_ASFLAGS): Add `-m32'.
37010
37011 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37012 (grub_host_size_t, grub_host_ssize_t): New types.
37013 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 37014 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 37015 `GRUB_HOST_SIZEOF_VOID_P'.
37016
37017 * include/grub/kernel.h (struct grub_module_header): Type of
37018 member offset changed to `grub_host_off_t'. Type of member size
37019 changed to `grub_host_size_t'.
37020 (struct grub_module_info): Type of member offset changed to
37021 `grub_host_off_t'. Type of member size changed to
37022 `grub_host_size_t'.
37023
b4093103 370242005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37025
37026 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 37027
b4093103 37028 * kern/i386/pc/startup.S (multiboot_header): New label.
37029 (multiboot_entry): Likewise.
37030 (multiboot_trampoline): Likewise.
37031
37032 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37033 Increased to 0x4A0.
37034
37035 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37036 put parentheses after a question mark.
37037 [!GRUB_UTIL] (my_mod): New variable.
37038
37039 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37040
b2499b29 370412005-09-28 Marco Gerards <mgerards@xs4all.nl>
37042
37043 Adds support for the XFS filesystem. Btrees are not supported
37044 yet.
37045
37046 * fs/xfs.c: New file.
37047
37048 * DISTLIST: Added `fs/xfs.c'.
37049
37050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37051 (grub_probefs_SOURCES): Likewise.
37052 (grub_emu_SOURCES): Likewise.
37053 (pkgdata_MODULES): Add `xfs.mod'.
37054 (xfs_mod_SOURCES): New variable.
37055 (xfs_mod_CFLAGS): Likewise.
37056
37057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37058 (pkgdata_MODULES): Add `xfs.mod'.
37059 (xfs_mod_SOURCES): New variable.
37060 (xfs_mod_CFLAGS): Likewise.
37061
37062 * util/grub-emu.c (main): Call `grub_xfs_init' and
37063 `grub_xfs_fini'.
37064
37065 * include/grub/fs.h (grub_xfs_init): New prototype.
37066 (grub_xfs_fini): Likewise.
37067
f19dbdb7 37068
83d37a62 370692005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37070
37071 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37072 color modes, allow greater than 16 colors to be configured as
37073 a default palette.
37074
47d2d65e 370752005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37076
37077 * normal/completion.c (complete_arguments): Add the qualifier
37078 const into OPTIONS.
37079
37080 From Omniflux <omniflux+lists@omniflux.com>:
37081 * include/grub/terminfo.h: New file.
37082 * include/grub/tparm.h: Likewise.
37083 * include/grub/i386/pc/serial.h: Likewise.
37084 * term/terminfo.c: Likewise.
37085 * term/tparm.c: Likewise.
37086 * term/i386/pc/serial.c: Likewise.
37087 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37088 serial.mod.
37089 (terminfo_mod_SOURCES): New variable.
37090 (terminfo_mod_CFLAGS): Likewise.
37091 (serial_mod_SOURCES): Likewise.
37092 (serial_mod_CFLAGS): Likewise.
37093
48b671ff 370942005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37095
37096 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37097 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37098 and kern/powerpc/ieee1275/cmain.c, respectively.
37099
37100 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37101 * kern/powerpc/ieee1275/crt0.S: ... here.
37102
37103 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37104 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 37105
48b671ff 37106 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37107 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37108 instead of boot/powerpc/ieee1275/crt0.S and
37109 boot/powerpc/ieee1275/cmain.c, respectively.
37110
37111 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37112 sectors. It was not used anyway.
37113
09fc77a7 371142005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37115
37116 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37117 `unused parameter' warning.
37118
003789c7 371192005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37120
37121 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37122 function.
37123 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37124 getcharwidth.
37125
67f44c86 371262005-08-28 Marco Gerards <metgerards@student.han.nl>
37127
37128 * include/grub/normal.h (enum grub_completion_type): Added
37129 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37130
37131 * normal/cmdline.c (print_completion): Handle
37132 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37133 * normal/menu_entry.c (store_completion): Likewise.
37134
37135 * normal/completion.c (complete_arguments): New function.
37136 (grub_normal_do_completion): Call `complete_arguments' when the
37137 current words start with a dash.
37138
0b5abe02 371392005-08-27 Marco Gerards <metgerards@student.han.nl>
37140
37141 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37142 `gzio.mod' instead of `io.mod').
37143
d9864ee1 371442005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37145
37146 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37147 (DISTDIRS): Added io and video.
37148 Rewrite the search routine to make an output consistently.
37149
37150 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37151 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37152 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37153 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37154 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37155 util/powerpc/ieee1275/misc.c.
f19dbdb7 37156
d9864ee1 37157 * include/grub/gzio.h: New file.
37158 * io/gzio.c: Likewise.
f19dbdb7 37159
d9864ee1 37160 * kern/file.c (grub_file_close): Call grub_device_close only if
37161 FILE->DEVICE is not NULL.
37162
37163 * include/grub/mm.h [!NULL] (NULL): New macro.
37164
37165 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37166
37167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37168 (pkgdata_MODULES): Added gzio.mod.
37169 (gzio_mod_SOURCES): New variable.
37170 (gzio_mod_CFLAGS): Likewise.
37171
37172 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37173 (pkgdata_MODULES): Added gzio.mod.
37174 (gzio_mod_SOURCES): New variable.
37175 (gzio_mod_CFLAGS): Likewise.
37176
37177 * commands/cat.c: Include grub/gzio.h.
37178 (grub_cmd_cat): Use grub_gzfile_open instead of
37179 grub_file_open.
f19dbdb7 37180
d9864ee1 37181 * commands/cmp.c: Include grub/gzio.h.
37182 (grub_cmd_cmp): Use grub_gzfile_open instead of
37183 grub_file_open.
37184
37185 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37186 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37187 grub_file_open.
37188 (grub_rescue_cmd_module): Likewise.
37189
fa46f4b5 371902005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37191
37192 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37193 kern/sparc64/ieee1275/init.c because it contains _start.
37194 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37195
e9211b5d 371962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37197
37198 * configure.ac: Add support for sparc64 host with ieee1275
37199 firmware.
37200 * configure: Generated from configure.ac.
37201 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37202 instead of int.
37203 (grub_ofdisk_read): Likewise.
37204 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37205 pointers as (void *) to remove a warning.
37206 (grub_ofdisk_close): Likewise.
37207 (grub_ofdisk_read): Likewise.
37208 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37209 returns, so make it return void to remove a warning.
37210 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37211 Corresponding prototype change.
37212 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37213 values, and cast the pointers as (void *) to remove a warning.
37214 (grub_mm_dump): Likewise.
37215 * conf/sparc64-ieee1275.mk: New file.
37216 * conf/sparc64-ieee1275.rmk: Likewise.
37217 * include/grub/sparc64/setjmp.h: Likewise.
37218 * include/grub/sparc64/types.h: Likewise.
37219 * include/grub/sparc64/ieee1275/console.h: Likewise.
37220 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37221 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37222 * include/grub/sparc64/ieee1275/time.h: Likewise.
37223 * kern/sparc64/cache.c: Likewise.
37224 * kern/sparc64/dl.c: Likewise.
37225 * kern/sparc64/ieee1275/init.c: Likewise.
37226 * kern/sparc64/ieee1275/openfw.c: Likewise.
37227
385c6a92 372282005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37229
37230 * util/console.c (grub_ncurses_putchar): If C is greater than
37231 0x7f, set C to a question mark.
37232 (grub_ncurses_getcharwidth): New function.
37233 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37234 getcharwidth.
37235
37236 * normal/menu.c (print_entry): Made aware of Unicode. First,
37237 convert TITLE to UCS-4, and predict the cursor position by
37238 grub_getcharwidth.
37239
37240 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37241 const to SRC.
37242 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37243
16ccb8b1 372442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37245
37246 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37247 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37248 grub_strcat.
37249
37250 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37251 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37252 grub_strcpy and grub_strlen. Take it into account that a space
37253 character is inserted as a delimiter.
37254
6a85ce79 372552005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37256
37257 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 37258 invalid magic in the error.
6a85ce79 37259
37260 * commands/search.c: New file.
f19dbdb7 37261
6a85ce79 37262 * util/grub-emu.c (main): Call grub_search_init and
37263 grub_search_fini.
37264
37265 * kern/rescue.c (grub_rescue_print_disks): Removed.
37266 (grub_rescue_print_devices): New function.
37267 (grub_rescue_cmd_ls): Use grub_device_iterate with
37268 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37269 grub_rescue_print_disks.
37270
37271 * kern/partition.c (grub_partition_iterate): Return the result of
37272 PARTMAP->ITERATE instead of GRUB_ERRNO.
37273
37274 * kern/device.c: Include grub/partition.h.
37275 (grub_device_iterate): New function.
37276
37277 * include/grub/partition.h (grub_partition_iterate): Return int
37278 instead of grub_err_t.
37279
37280 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37281 prototype.
37282 [GRUB_UTIL] (grub_search_fini): Likewise.
37283
37284 * include/grub/device.h (grub_device_iterate): New prototype.
37285
37286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37287 commands/search.c.
37288 (pkgdata_MODULES): Added search.mod.
37289 (search_mod_SOURCES): New variable.
37290 (search_mod_CFLAGS): Likewise.
37291
37292 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37293 (pkgdata_MODULES): Added search.mod.
37294 (search_mod_SOURCES): New variable.
37295 (search_mod_CFLAGS): Likewise.
37296
37297 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37298 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37299 All callers changed.
37300
37301 * DISTLIST: Added commands/search.c.
37302
ef095434 373032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37304
37305 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37306 conversion.
37307 (grub_getcharwidth): New function.
37308
37309 * kern/misc.c (grub_utf8_to_ucs4): New function.
37310
37311 * include/grub/term.h (struct grub_term): Added a new member
37312 "getcharwidth".
37313 (grub_getcharwidth): New prototype.
37314
37315 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37316
37317 * term/i386/pc/console.c (map_char): New function. Segregated from
37318 grub_console_putchar.
37319 (grub_console_putchar): Use map_char.
37320 (grub_console_getcharwidth): New function.
37321 (grub_console_term): Specified grub_console_getcharwidth as
37322 getcharwidth.
37323
37324 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37325 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37326
37327 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37328 GRUB_ERRNO.
37329 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37330 on grub_strtoul completely.
37331 (write_char): Declare local variables in the beginning of the
37332 function.
37333 (grub_vesafb_getcharwidth): New function.
37334 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37335 getcharwidth.
37336
1f0a95e4 373372005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37338
37339 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37340 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37341 commands/i386/pc/vbetest.c.
37342
37343 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37344 call grub_vbe_get_controller_info again, because the returned
37345 information is volatile.
37346 (grub_vbe_set_video_mode): Mostly rewritten.
37347 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37348 grub_vbe_status_t correctly.
37349 (grub_vbe_get_video_mode_info): Likewise.
37350 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37351 several if statements.
37352
37353 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37354 * commands/i386/pc/vbeinfo.c: ... this.
37355
37356 * commands/i386/pc/vbe_test.c: Renamed to ...
37357 * commands/i386/pc/vbetest.c: ... this.
37358
37359 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37360 ...
37361 (grub_cmd_vbeinfo): ... this. Save video modes before
37362 iterating. Skip a video mode, if it is not available, not enough
37363 information is given or it is monochrome. Show the memory
37364 model. Leave the interpretation of MODEVAR to grub_strtoul
37365 completely.
37366 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37367 (GRUB_MOD_FINI): Likewise.
37368
37369 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37370 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37371 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37372 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37373 grub_strtoul completely.
37374 (real2pm): Removed.
37375 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37376 (GRUB_MOD_FINI): Likewise.
37377
37378 * normal/misc.c: Include grub/mm.h.
37379
37380 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37381 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37382 (vbe_list_modes_mod_SOURCES): Removed.
37383 (vbe_list_modes_mod_CFLAGS): Likewise.
37384 (vbe_test_mod_SOURCES): Likewise.
37385 (vbe_test_mod_CFLAGS): Likewise.
37386 (vbeinfo_mod_SOURCES): New variable.
37387 (vbeinfo_mod_CFLAGS): Likewise.
37388 (vbetest_mod_SOURCES): Likewise.
37389 (vbetest_mod_CFLAGS): Likewise.
37390
992ffbbe 373912005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37392
37393 * normal/misc.c: New file.
37394
37395 * DISTLIST: Added normal/misc.c.
f19dbdb7 37396
992ffbbe 37397 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37398 DISK to HOOK. Call HOOK with DISK.
37399 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37400 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37401 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37402
37403 * normal/menu_entry.c (struct screen): Added a new member
37404 "completion_shown".
37405 (completion_buffer): New global variable.
37406 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37407 (store_completion): New function.
37408 (complete): Likewise.
37409 (clear_completions): Likewise.
37410 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37411 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37412 a tab, call complete.
37413
37414 * normal/completion.c (disk_dev): Removed.
37415 (print_simple_completion): Likewise.
37416 (print_partition_completion): Likewise.
37417 (print_func): New global variable.
37418 (add_completion): Do not take the arguments WHAT or PRINT any
37419 longer. Added a new argument TYPE. Instead of printing directly,
37420 call PRINT_FUNC if not NULL.
37421 All callers changed.
37422 (complete_device): Use a local variable DEV instead of
37423 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37424 (grub_normal_do_completion): Take a new argument HOOK. Do not
37425 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37426 empty string, return NULL instead.
37427 All callers changed.
37428
37429 * normal/cmdline.c (print_completion): New function.
37430
37431 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37432 to HOOK.
37433 All callers changed.
37434
37435 * kern/disk.c (grub_print_partinfo): Removed.
37436
37437 * include/grub/partition.h (struct grub_partition_map): Add a new
37438 argument DISK into HOOK of ITERATE.
37439 (grub_partition_iterate): Add a new argument DISK to HOOK.
37440
37441 * include/grub/normal.h (enum grub_completion_type): New enum.
37442 (grub_completion_type_t): New type.
37443 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37444 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37445 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37446 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37447 (grub_normal_do_completion): Added a new argument HOOK.
37448 (grub_normal_print_device_info): New prototype.
37449
37450 * include/grub/disk.h (grub_print_partinfo): Removed.
37451
37452 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37453 (normal_mod_SOURCES): Likewise.
37454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37455 (normal_mod_SOURCES): Likewise.
37456
37457 * commands/ls.c (grub_ls_list_disks): Use
37458 grub_normal_print_device_info instead of grub_print_partinfo. Free
37459 PNAME.
37460 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37461 duplicating the code.
37462
0bd41162 374632005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37464
37465 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37466 follow GCS more precisely.
37467 * commands/i386/pc/vbe_test.c: Likewise.
37468 * include/grub/i386/pc/vbe.h: Likewise.
37469 * term/i386/pc/vesafb.c: Likewise.
37470 * video/i386/pc/vbe.c: Likewise.
0bd41162 37471
6323696a 374722005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37473
37474 * DISTLIST: Added term/i386/pc/vesafb.c
37475 DISTLIST: Added video/i386/pc/vbe.c
37476 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37477 DISTLIST: Added commands/i386/pc/vbe_test.c.
37478 * commands/i386/pc/vbe_list_modes.c: New file.
37479 * commands/i386/pc/vbe_test.c: Likewise.
37480 * term/i386/pc/vesafb.c: Likewise.
37481 * video/i386/pc/vbe.c: Likewise.
37482 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37483 (grub_vbe_probe) Added prototype.
37484 (grub_vbe_set_video_mode) Likewise.
37485 (grub_vbe_get_video_mode) Likewise.
37486 (grub_vbe_get_video_mode_info) Likewise.
37487 (grub_vbe_set_pixel_rgb) Likewise.
37488 (grub_vbe_set_pixel_index) Likewise.
37489 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37490 (pkgdata_MODULES): Added vesafb.mod.
37491 (pkgdata_MODULES): Added vbe_list_modes.mod.
37492 (pkgdata_MODULES): Added vbe_test.mod.
37493 (vbe_mod_SOURCES): Added.
37494 (vbe_mod_CFLAGS): Likewise.
37495 (vesafb_mod_SOURCES): Likewise.
37496 (vesafb_mod_CFLAGS): Likewise.
37497 (vbe_list_modes_mod_SOURCES): Likewise.
37498 (vbe_list_modes_mod_CFLAGS): Likewise.
37499 (vbe_test_mod_SOURCES): Likewise.
37500 (vbe_test_mod_CFLAGS): Likewise.
37501
0a74e62f 375022005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37503
0a74e62f 37504 * normal/command.c (grub_command_execute): If INTERACTIVE is
37505 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37506 CMDLINE. Disable the pager if INTERACTIVE is true.
37507 All callers are changed.
37508
37509 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37510 before reading a config file.
37511 * normal/main.c (read_config_file): Even if a command is not
37512 found, register it if it is within an entry.
37513
37514 * util/grub-emu.c: Include sys/types.h and unistd.h.
37515 (options): Added --hold.
37516 (struct arguments): Added a new member "hold".
37517 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37518 missing.
37519 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37520 cleared by a debugger, if it is not zero.
37521
37522 * include/grub/normal.h (grub_command_execute): Add an argument
37523 INTERACTIVE.
37524
e51f85ae 375252005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37526
37527 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37528
e9c6f39b 375292005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37530
37531 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37532 program with another one, because the old one didn't detect a bug
37533 in gcc-3.4. Always use regparm 2, because the new test is still
37534 not enough for gcc-4.0. Someone must investigate a simple test
37535 case which detects a bug in gcc-4.0.
37536
8de3495c 375372005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37538
37539 * DISTLIST: Added normal/completion.c.
37540
37541 * normal/completion.c: New file.
f19dbdb7 37542
8de3495c 37543 * term/i386/pc/console.c (grub_console_getwh): New function.
37544 (grub_console_term): Assign grub_console_getwh to getwh.
37545
37546 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37547 function is defined in normal/completion.c as
37548 grub_normal_do_completion.
37549 (grub_cmdline_get): Use grub_normal_do_completion instead of
37550 grub_tab_complete.
37551
37552 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37553 returns non-zero, otherwise return 0.
37554 (grub_partition_iterate): First, probe the partition map. Then,
37555 call ITERATE only for this partition map.
37556
37557 * kern/misc.c (grub_strncmp): Rewritten.
37558
37559 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37560 returns non-zero. Otherwise return 0.
37561
37562 * include/grub/partition.h (grub_partition_map_iterate): Return
37563 int instead of void.
37564
37565 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37566
37567 * include/grub/misc.h (grub_strncmp): Change the type of N to
37568 grub_size_t.
37569
37570 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37571 of void.
37572
37573 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 37574 unsigned explicitly before comparing it with I.
8de3495c 37575
37576 * kern/main.c (grub_env_write_root): Add the attribute unused into
37577 VAR.
37578
37579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37580 normal/completion.c.
37581 (normal_mod_SOURCES): Likewise.
37582 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37583 (normal_mod_SOURCES): Likewise.
37584
37585 * normal/command.c (grub_iterate_commands): If ITERATE returns
37586 non-zero, return one immediately.
37587
e85e144b 375882005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37589
37590 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37591 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37592 descriptions.
37593 (grub_vbe_get_controller_info): New function.
37594 (grub_vbe_get_mode_info): Likewise.
37595 (grub_vbe_set_mode): Likewise.
37596 (grub_vbe_get_mode): Likewise.
37597 (grub_vbe_set_memory_window): Likewise.
37598 (grub_vbe_get_memory_window): Likewise.
37599 (grub_vbe_set_scanline_length): Likewise.
37600 (grub_vbe_get_scanline_length): Likewise.
37601 (grub_vbe_set_display_start): Likewise.
37602 (grub_vbe_get_display_start): Likewise.
37603 (grub_vbe_set_palette_data): Likewise.
37604 * include/grub/i386/pc/vbe.h: New file.
37605
c46153d2 376062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37607
37608 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37609 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37610 * DISTLIST: Likewise.
37611 * kern/ieee1275/of.c: Moved to ...
37612 * kern/ieee1275/ieee1275.c: ... here.
37613
0cb90c45 376142005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37615
37616 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37617 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37618 Pass 0 as `end' parameter to grub_strtoul().
37619
a19fb360 376202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37621
37622 * include/grub/powerpc/ieee1275/console.h: Do not include
37623 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37624 ifdef.
37625 (grub_console_cur_color): Remove i386-specific prototype.
37626 (grub_console_real_putchar): Likewise.
37627 (grub_console_checkkey): Likewise.
37628 (grub_console_getkey): Likewise.
37629 (grub_console_getxy): Likewise.
37630 (grub_console_gotoxy): Likewise.
37631 (grub_console_cls): Likewise.
37632 (grub_console_setcursor): Likewise.
37633 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37634 Include <grub/machine/console.h>.
37635 * term/ieee1275/ofconsole.c: Likewise.
37636
4ac9bd04 376372005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37638
37639 * Makefile.in (LIBLZO): New variable.
37640
37641 * configure.ac: Check for LZO version 2.
37642
37643 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37644 lzo/lzo1x.h instead of lzo1x.h.
37645
37646 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37647 of -llzo.
37648
37649 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37650 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37651
37652 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37653 copying the data from PARTITION to P.
37654
f4917dfd 376552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37656
37657 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37658 negative, unload the module.
37659
37660 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37661 map is "pc_partition_map" but not "pc".
37662 (usage): Fix the description. The options are --boot-image and
37663 --core-image but not --boot-file or --core-file.
37664 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37665 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37666 DEFAULT_DIRECTORY.
37667
37668 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37669 --core-file. Specify INSTALL_DEVICE as an argument.
37670
37671 * util/console.c: Include config.h.
37672 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37673 [HAVE_NCURSES_H]: Include ncurses.h.
37674 [HAVE_CURSES_H]: Include curses.h.
37675 [!A_NORMAL] (A_NORMAL): Defined as zero.
37676 [!A_STANDOUT] (A_STANDOUT): Likewise.
37677
37678 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37679 -lncurses.
37680 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37681
37682 * configure.ac: Check for curses libraries and headers.
37683
37684 * Makefile.in (LIBCURSES): New variable.
37685
37686 * genmk.rb (Script::rule): Set the executable bits.
37687
37688 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37689 name of the PC partition map is "pc_partition_map" but not "pc".
37690
0e143073 376912005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37692
37693 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37694 (modules): Likewise.
37695 (usage): Added descriptions for --modules and --grub-probefs.
37696 Handle --modules and --grub-probefs. Save the arguments in MODULES
37697 and GRUB_PROBEFS, respectively.
37698 Auto-detect a filesystem module against GRUBDIR. If the result is
37699 empty and modules are not specified explicitly, abort the
37700 installation. Add the result to MODULES.
37701
37702 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37703 disk/powerpc/ieee1275/ofdisk.c,
37704 include/grub/powerpc/ieee1275/init.h and
37705 term/powerpc/ieee1275/ofconsole.c.
37706 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37707 term/ieee1275/ofconsole.c.
37708
37709 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37710
37711 * COPYING: Upgraded to the latest version. Only the address of the
37712 FSF office has changed.
f19dbdb7 37713
efd6e6d5 377142005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37715
37716 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37717 kern/ieee1275.c with kern/ieee1275/of.c.
37718
37719 * kern/ieee1275.c: Moved to ...
37720 * kern/ieee1275/of.c: ... here.
37721
8ceafda2 377222005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37723
37724 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 37725 readability.
8ceafda2 37726
37727 * config.guess: Updated to the latest version from gnulib.
37728 * config.sub: Likewise.
37729 * install.sh: Likewise.
37730 * mkinstalldirs: Likewise.
37731
37732 * include/grub/console.h: Removed. This file is arch-specific. Do
37733 not put this in include/grub.
37734
37735 * include/grub/i386/pc/console.h: Resurrected.
37736
37737 * util/console.c: Include grub/machine/console.h instead of
37738 grub/console.h.
37739 * util/grub-emu.c: Likewise.
37740
267f6cd9 377412005-08-04 Marco Gerards <metgerards@student.han.nl>
37742
37743 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37744 hardcoded value.
f19dbdb7 37745
267f6cd9 37746 From Vincent Pelletier <subdino2004@yahoo.fr>
37747 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37748 Redefined to use grub_getwh.
37749 (grub_term): New member named getwh.
37750 (grub_getwh): New prototype.
37751 * kern/term.c (grub_getwh): New function.
37752 * term/i386/pc/console.c (grub_console_getwh): New function.
37753 (grub_console_term): New member `getwh'.
37754 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37755 (grub_vga_term): New member `getwh'.
0b5abe02 37756 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 37757 grub_ssize_t.
37758 (grub_ofconsole_getw): New function.
37759 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37760 (grub_ofconsole_term): New field named getwh and new initial
37761 value.
37762
3be7266d 377632005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37764
37765 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37766 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37767 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37768 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37769 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37770 of <grub/machine/ieee1275.h>.
37771 * commands/ieee1275/reboot.c: Likewise.
37772 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37773 * kern/ieee1275.c: ... to here. All users updated. Change all
37774 parameter structs to use new type `grub_ieee1275_cell_t'.
37775 * term/powerpc/ieee1275/ofconsole.c: Move ...
37776 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37777 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37778 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37779 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37780 to return int.
37781 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37782 Remove unused prototypes. All users updated.
37783 * include/grub/powerpc/ieee1275/console.h: Removed.
37784 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37785 `grub_ieee1275_cell_t'.
37786 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37787 Cast comparisons with -1 to the correct type.
37788 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37789 type to match `grub_ieee1275_entry_fn'.
37790
8b5f3938 377912005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37792
37793 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37794
37795 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37796 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37797 partmap/sun.c.
37798 (grub_probefs_SOURCES): New variable.
37799
37800 * util/i386/pc/grub-probefs.c: New file.
37801
37802 * util/i386/pc/grub-setup.c (main): Call
37803 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37804 grub_hfs_init and grub_jfs_init to initialize the system. Call
37805 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37806 grub_pc_partition_map_fini to finish the system.
37807
ea409713 378082005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37809
37810 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37811 function.
37812 (grub_multiboot_load_elf32): Likewise.
37813 (grub_multiboot_is_elf64): Likewise.
37814 (grub_multiboot_load_elf64): Likewise.
37815 (grub_multiboot_load_elf): Likewise.
37816 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37817 an ELF32 or ELF64 file.
37818 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37819
37820 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37821 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37822 NULL before calling FS->LABEL.
37823 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37824 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37825 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37826 before calling FS->LABEL.
37827
141a288b 378282005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37829
37830 * util/i386/pc/grub-install.in (datadir): New variable.
37831 (libdir): Removed.
37832 (pkgdatadir): New variable.
37833 (pkglibdir): Removed.
37834
0d5f8a54 378352005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37836
37837 * DISTLIST: Added util/i386/pc/grub-install.in.
37838
37839 * util/i386/pc/grub-install.in: New file.
37840
37841 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37842 (grub_install_SOURCES): Likewise.
37843
37844 * genmk.rb: Added support for scripts.
37845 (Script): New class.
37846 (scripts): New variable.
37847
37848 * Makefile.in (install-local): Install sbin_SCRIPTS by
37849 INSTALL_SCRIPT.
37850 (uninstall): Remove sbin_SCRIPTS.
37851
37852 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37853 device, try to get a GRUB device by
37854 grub_util_biosdisk_get_grub_dev.
37855 Free DEST_DEV.
37856
37857 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37858 description for --device-map.
37859
5f968e1e 378602005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37861
37862 Change the semantics of variable hooks. They now return strings
37863 instead of error values.
f19dbdb7 37864
5f968e1e 37865 * util/i386/pc/grub-setup.c: Include grub/env.h.
37866 (setup): Use grub_device_set_root instead of grub_env_set.
37867
37868 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37869 grub_env_get instead of grub_device_set_root and
37870 grub_device_get_root, respectively.
37871
37872 * kern/main.c (grub_env_write_root): New function.
37873 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37874 grub_env_set instead of grub_device_set_root.
37875
37876 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37877 many variables.
37878 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37879 rather than calling ENV->WRITE_HOOK afterwards.
37880 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37881 passing a pointer of a pointer.
37882 (grub_register_variable_hook): Change the types of "read_hook" and
37883 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37884 respectively.
37885 Allocate the default empty string on the heap, because this string
37886 may be freed later.
37887
37888 * kern/device.c: Include grub/env.h.
37889 (grub_device_set_root): Removed.
37890 (grub_device_get_root): Likewise.
37891 (grub_device_open): Use grub_env_get instead of
37892 grub_device_get_root.
37893
37894 * include/grub/env.h (grub_env_read_hook_t): New type.
37895 (grub_env_write_hook_t): Likewise.
37896 (grub_env_var): Change the types of "read_hook" and "write_hook"
37897 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37898 (grub_register_variable_hook): Likewise.
37899
37900 * include/grub/device.h (grub_device_set_root): Removed.
37901 (grub_device_set_root): Likewise.
37902
37903 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37904 make sure that DIRNAME terminates with '/', so that
37905 grub_fat_find_dir will fail if PATH is not a directory.
37906
37907 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37908 from DIRNAME.
37909 Use the qualifier auto for print_files and print_files_long.
37910 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37911 as a regular file.
37912 Put a newline only if there is no error.
37913 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37914 used.
37915
896f0afd 379162005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37917
37918 * kern/partition.c (grub_partition_probe): Initialize PART to
37919 NULL. Otherwise, when no partition map is registered, this returns
37920 a garbage.
37921
b28b81b2 379222005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37923
37924 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37925 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37926 valid.
37927
5f3607e0 379282005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37929
37930 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37931 information on each device, if it does not have partitions. Print
37932 "Device" instead of "Disk", because this function is not specific
37933 to disk devices.
37934
37935 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37936 static to ensure that it is put on the memory rather than a
37937 register.
37938
502c87e8 379392005-07-17 Yoshinori Okuji <okuji@enbug.org>
37940
37941 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37942 (grub_cat_init): Likewise.
37943 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37944 (options): Likewise.
37945 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37946 (grub_configfile_init): Likewise.
37947 * font/manager.c (GRUB_MOD_INIT): Likewise.
37948 * commands/help.c (GRUB_MOD_INIT): Likewise.
37949 (grub_help_init): Likewise.
37950 * normal/command.c (grub_command_init): Likewise.
37951 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37952 * disk/loopback.c (grub_loop_init): Likewise.
37953 (GRUB_MOD_INIT): Likewise.
37954 * commands/ls.c (grub_ls_init): Likewise.
37955 (GRUB_MOD_INIT): Likewise.
37956 (options): Likewise.
37957 * commands/boot.c (grub_boot_init): Likewise.
37958 (GRUB_MOD_INIT): Likewise.
37959 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37960 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37961 (GRUB_MOD_INIT): Likewise.
37962 * commands/cmp.c (grub_cmp_init): Likewise.
37963 (GRUB_MOD_INIT): Likewise.
37964
37965 * normal/arg.c: Use <> instead of "" to include header files.
37966 (SHORT_ARG_HELP): New macro.
37967 (SHORT_ARG_USAGE): Likewise.
37968 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37969 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37970 descriptions.
37971 (find_short): Check if C is 'h' or 'u' explicitly.
37972 (grub_arg_show_help): Use space characters instead of tabs. Treat
37973 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37974 are shown with --help and --usage only if they are not used for
37975 the command itself.
37976 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37977 'h' and 'u'.
37978
37979 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37980 const into "longarg". Change the type of "shortarg" to int.
37981
f806d18e 379822005-07-17 Yoshinori Okuji <okuji@enbug.org>
37983
37984 * boot/i386/pc/boot.S (boot_drive_check): New label.
37985
37986 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37987 macro.
37988
37989 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37990 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37991
e293232b 379922005-07-17 Yoshinori Okuji <okuji@enbug.org>
37993
37994 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37995 When turning off Gate A20, skip the check and return immediately,
37996 because this is not fatal usually.
37997
ebedfd00 379982005-07-17 Yoshinori Okuji <okuji@enbug.org>
37999
38000 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38001 be 0x7C00 instead of 0x8000.
38002
38003 * boot/i386/pc/pxeboot.S: Rewritten.
38004
38005 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38006 EXT_C.
38007 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38008 result.
38009
654fc59f 380102005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38011
38012 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38013 robustness. This routine now supports a BIOS call and System
38014 Control Port A to modify the gate A20.
38015
38016 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38017 Increased to 0x440.
38018
09f9923f 380192005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38020
38021 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38022 device path and resulting ihandle.
38023 (grub_ofdisk_close): dprintf the ihandle being closed.
38024 (grub_ofdisk_read): dprintf function parameters.
38025 * kern/mm.c (grub_mm_init_region): Likewise.
38026 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38027 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38028 size, and boot arguments.
38029 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38030 before loading into memory.
38031 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38032 before loading into memory.
38033
7ef504d8 380342005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38035
38036 * kern/mm.c: Added much documentation.
38037 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38038 8, set to 5 instead of 8.
38039
e0f050c2 380402005-07-10 Yoshinori Okuji <okuji@enbug.org>
38041
38042 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38043
38044 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38045 (grub_mkdevicemap_SOURCES): New variable.
38046
38047 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38048 lib/device.c of GRUB Legacy.
38049
7224189a 380502005-07-10 Yoshinori Okuji <okuji@enbug.org>
38051
38052 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38053 instead of PATH is NULL.
38054
68c864eb 380552005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38056
38057 * commands/cmp.c (BUFFER_SIZE): New macro.
38058 (grub_cmd_cmp): Close the right file at the right time. Compare
38059 only data just read. Don't report files of different size as
38060 identical. Dynamically allocate buffers. Move variable
38061 declarations at the beginning of function.
38062
e6f3e614 380632005-07-09 Yoshinori Okuji <okuji@enbug.org>
38064
38065 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38066 reverse.
38067
f8f1559a 380682004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38069
38070 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38071 when backspace is pressed at beginning of line.
38072
39c9d41d 380732005-07-03 Yoshinori Okuji <okuji@enbug.org>
38074
38075 * DISTLIST: Added genfslist.sh.
38076
38077 * normal/main.c (fs_module_list): New variable.
38078 (autoload_fs_module): New function.
38079 (read_fs_list): Likewise.
38080 (grub_normal_execute): Call read_fs_list.
38081
38082 * kern/fs.c (grub_fs_autoload_hook): New variable.
38083 (grub_fs_probe): Added support for auto-loading.
38084
38085 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38086 (grub_fs_module_list_t): New type.
38087
38088 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38089 (grub_fs_autoload_hook): New prototype.
38090
38091 * genfslist.sh: New file.
f19dbdb7 38092
39c9d41d 38093 * genmk.rb: Added a rule to generate a filesystem list.
38094
121c1d83 380952005-06-30 Marco Gerards <metgerards@student.han.nl>
38096
38097 * configure.ac: Fix the test for cross-compiling.
38098
38099 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38100 define GRUB_UTIL anymore.
38101
38102 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38103 so this function works on other systems than just big endian.
38104 (load_modules): Likewise.
38105 (add_segments): Likewise.
38106
e75d76e1 381072005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38108
38109 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38110 contains `l' modifier, get a long from va_arg().
38111
50b5a0a7 381122005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38113
38114 * kern/mm.c (grub_free): If the next free block which is being
38115 merged is the first free block, set the first block to the block
38116 being freed.
38117 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38118
89371b20 381192005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38120
38121 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38122 `grub_ieee1275_chosen'.
38123
168d6e58 381242005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38125
38126 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38127 (grub_ieee1275_chosen): New variable.
38128 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38129 `chosen'.
38130 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38131 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38132 Rename first argument to `phandle' for consistency.
38133 (grub_ieee1275_get_property_length): Likewise.
38134 (grub_ieee1275_next_property): Likewise. Change type of first argument
38135 to grub_ieee1275_phandle_t.
38136 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38137 Move export next to declaration.
38138 (grub_ieee1275_chosen): New variable.
38139 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38140 Correct cosmetic typo.
38141 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38142 `grub_ieee1275_chosen'.
38143 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38144 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38145 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38146 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38147 `grub_ieee1275_chosen'.
38148
ca5baa3f 381492005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38150
38151 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38152 /chosen/bootargs.
38153 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38154 /chosen/bootargs as "variable=value" pairs.
38155
708b345f 381562005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38157
38158 * include/grub/misc.h (grub_dprintf): New macro.
38159 (grub_real_dprintf): New prototype.
38160 (grub_strword): Likewise.
38161 (grub_iswordseparator): Likewise.
38162 * kern/misc.c (grub_real_dprintf): New function.
38163 (grub_strword): Likewise.
38164 (grub_iswordseparator): Likewise.
38165
f4c5e67c 381662005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38167
38168 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38169 (roundup): Remove macro.
38170 (grub_ieee1275_flags): Make static.
38171 (grub_ieee1275_realmode): Remove.
38172 (grub_ieee1275_test_flag): New function.
38173 (grub_ieee1275_set_flag): Likewise.
38174 (find_options): Rename to `grub_ieee1275_find_options'; update
38175 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38176 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38177 (cmain): New prototype.
38178 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38179 `grub_ieee1275_flags' directly.
38180 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38181 machine/biosdisk.h.
38182 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38183 Don't include grub/machine/init.h.
38184 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38185 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38186 Remove prototype.
38187 (grub_ieee1275_realmode): Likewise.
38188 (grub_ieee1275_flag): New enum.
38189 (grub_ieee1275_test_flag): New prototype.
38190 (grub_ieee1275_set_flag): New prototype.
38191 * include/grub/powerpc/ieee1275/init.h: Remove file.
38192 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38193 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38194 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38195 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38196 comment.
38197 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38198 `grub_ieee1275_test_flag'.
38199 (grub_ieee1275_encode_devname): Likewise.
38200
ed16607e 382012005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38202
38203 * include/grub/powerpc/ieee1275/ieee1275.h
38204 (grub_ieee1275_encode_devname): New prototype.
38205 (grub_ieee1275_get_filename): Likewise.
38206 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38207 function.
38208 (grub_set_prefix): Likewise.
38209 (grub_machine_init): Call grub_set_prefix.
38210 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38211 (grub_parse_type): New enum.
38212 (grub_ieee1275_get_devargs): New function.
38213 (grub_ieee1275_get_devname): Likewise.
38214 (grub_ieee1275_parse_args): Likewise.
38215 (grub_ieee1275_get_filename): Likewise.
38216 (grub_ieee1275_encode_devname): Likewise.
38217
be369920 382182005-03-30 Marco Gerards <metgerards@student.han.nl>
38219
38220 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38221 `grub_loader_unset'.
38222
a5ce3a4a 382232005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38224
38225 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38226 instead of grub_ieee1275_interpret.
38227 (grub_halt_init): New function.
38228 (grub_halt_fini): Likewise.
38229 (GRUB_MOD_INIT): Correct message grammar.
38230 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38231 instead of grub_ieee1275_interpret.
38232 (grub_reboot_init): New function.
38233 (grub_reboot_fini): Likewise.
38234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38235 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38236 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38237 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38238 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38239 function.
38240 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38241 Add prototype.
38242 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38243 prototype.
38244 (grub_halt): Likewise.
38245 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38246 (cmain): Remove __attribute__((unused)).
38247 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38248 (grub_heap_len): Likewise.
38249 (grub_machine_fini): New function.
38250 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38251 (grub_halt): Likewise.
38252 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38253 function.
38254 * util/powerpc/ieee1275/misc.c: New file.
38255
0058f771 382562005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38257
38258 * DISTLIST: New file.
38259 * gendistlist.sh: Likewise.
f19dbdb7 38260
0058f771 38261 * Makefile.in (COMMON_DISTFILES): Removed.
38262 (BOOT_DISTFILES): Likewise.
38263 (CONF_DISTFILES): Likewise.
38264 (DISK_DISTFILES): Likewise.
38265 (FS_DISTFILES): Likewise.
38266 (INCLUDE_DISTFILES): Likewise.
38267 (KERN_DISTFILES): Likewise.
38268 (LOADER_DISTFILES): Likewise.
38269 (TERM_DISTFILES): Likewise.
38270 (UTIL_DISTFILES): Likewise.
38271 (DISTFILES): Likewise.
38272 (uninstall): Uninstall files in $(pkgdata_DATA).
38273 (DISTLIST): New target.
38274 (distdir): Use the contents of the file DISTLIST to get a list of
38275 distributed files.
38276
46b3b8a5 382772005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38278
38279 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38280 descriptor. This is ported from GRUB Legacy.
38281
38282 * gencmdlist.sh: Added an extra semicolon to make it work with
38283 old sed versions. Reported by Robert Bihlmeyer
38284 <robbe@orcus.priv.at>.
38285
5822ff87 382862005-03-08 Yoshinori Okuji <okuji@enbug.org>
38287
38288 Automatic loading of commands is supported.
f19dbdb7 38289
5822ff87 38290 * normal/main.c (read_command_list): New function.
38291 (grub_normal_execute): Call read_command_list.
38292
38293 * normal/command.c (grub_register_command): Return zero or CMD.
38294 Allocate CMD->NAME from the heap.
38295 Initialize CMD->MODULE_NAME to zero.
38296 Find the same name as well. If the same command is found and it is
38297 a dummy command, overwrite members. If it is not a dummy command,
38298 return zero.
38299 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38300 (grub_command_find): If a dummy command is found, load a module
38301 and retry to find a command only once.
38302
38303 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38304 make sure that each command is loaded.
38305
38306 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38307 macro.
38308 (struct grub_command): Remove const from the member `name'.
38309 Add a new member `module_name'.
38310 (grub_register_command): Return grub_command_t.
38311
38312 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38313 sure that each command is loaded.
38314
38315 * genmk.rb (PModule::rule): Specify a module name without the
38316 suffix ".mod" to gencmdlist.sh.
38317
7b1f4b57 383182005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38319
38320 * gencmdlist.sh: New file.
f19dbdb7 38321
7b1f4b57 38322 * genmk.rb (PModule::rule): Generate a rule for a command list.
38323 Clean command.lst.
38324 Generate command.lst from $(COMMANDFILES).
38325
38326 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38327 (DATA): Added $(pkgdata_DATA).
38328 (install-local): Install files in $(pkgdata_DATA).
38329
062aaf39 383302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38331
38332 * term/i386/pc/vga.c (debug_command): Removed.
38333 (GRUB_MOD_INIT): Do not register the command "debug".
38334
38335 From Hollis Blanchard:
38336 * commands/configfile.c: New file.
38337 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38338 commands/configfile.c.
38339 (pkgdata_MODULES): Added configfile.mod.
38340 (configfile_mod_SOURCES): New variable.
38341 (configfile_mod_CFLAGS): Likewise.
38342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38343 commands/configfile.c.
38344 (pkgdata_MODULES): Added configfile.mod.
38345 (configfile_mod_SOURCES): New variable.
38346 (configfile_mod_CFLAGS): Likewise.
38347 * util/grub-emu.c (main): Call grub_configfile_init and
38348 grub_configfile_fini.
38349 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38350 prototype.
38351 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 38352
cee01aa6 383532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38354
38355 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38356 address.
38357
38358 * commands/help.c (grub_cmd_help): Do not print newlines after
38359 the last command in print_command_help.
38360
93f3a1d8 383612005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38362
38363 * commands/default.h: New file.
38364 * commands/timeout.h: Likewise.
38365 * normal/context.c: Likewise.
f19dbdb7 38366
93f3a1d8 38367 * util/misc.c: Do not include sys/times.h.
38368 Include sys/time.h and grub/machine/time.h.
38369 (grub_get_rtc): Rewritten with gettimeofday.
38370
38371 * util/grub-emu.c (main): Call grub_default_init and
38372 grub_timeout_init before grub_normal_init, and call
38373 grub_timeout_fini and grub_default_fini after grub_main.
38374
38375 * util/console.c (grub_ncurses_checkkey): Return the read
38376 character or -1.
38377
38378 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38379 timeouts.
38380
38381 * normal/main.c (read_config_file): Push MENU. If this fails,
38382 print an error and wait for a user input.
38383 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38384 If a menu is empty or an error occurs, pop MENU.
38385 (grub_normal_execute): Pop and free MENU after grub_menu_run
38386 returns.
38387
38388 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38389
38390 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38391 include time.h.
38392 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38393 without GRUB_UTIL.
38394 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38395 time.h.
38396 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38397 without GRUB_UTIL.
38398
38399 * include/grub/normal.h (struct grub_menu_list): New struct.
38400 (grub_menu_list_t): New type.
38401 (struct grub_context): New struct.
38402 (grub_context_t): New type.
38403 (grub_register_command): Got rid of EXPORT_FUNC.
38404 (grub_unregister_command): Likewise.
38405 (grub_context_get): New prototype.
38406 (grub_context_get_current_menu): Likewise.
38407 (grub_context_push_menu): Likewise.
38408 (grub_context_pop_menu): Likewise.
38409 [GRUB_UTIL] (grub_default_init): Likewise.
38410 [GRUB_UTIL] (grub_default_fini): Likewise.
38411 [GRUB_UTIL] (grub_timeout_init): Likewise.
38412 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38413
38414 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38415 commands/timeout.c and normal/context.c.
38416 (pkgdata_MODULES): Added default.mod and timeout.mod.
38417 (normal_mod_SOURCES): Added normal/context.c.
38418 (default_mod_SOURCES): New variable.
38419 (default_mod_CFLAGS): Likewise.
38420 (timeout_mod_SOURCES): Likewise.
38421 (timeout_mod_CFLAGS): Likewise.
38422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38423 conf/i386-pc.rmk.
38424 (pkgdata_MODULES): Added default.mod and timeout.mod.
38425 (normal_mod_SOURCES): Added normal/context.c.
38426 (default_mod_SOURCES): New variable.
38427 (default_mod_CFLAGS): Likewise.
38428 (timeout_mod_SOURCES): Likewise.
38429 (timeout_mod_CFLAGS): Likewise.
38430
38431 * Makefile.in (all-local): Added $(MKFILES).
38432
4ed2e1dd 384332005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38434
38435 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38436 (grub_emu_SOURCES): Likewise.
38437 (pkgdata_MODULES): Add `sun.mod'.
38438 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38440 `partmap/sun.c'.
38441 (pkgdata_MODULES): Add `sun.mod'.
38442 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38443 * include/grub/partition.h (grub_sun_partition_map_init): New
38444 prototype.
38445 (grub_sun_partition_map_fini): Likewise.
38446 * partmap/sun.c: New file.
38447 * util/grub-emu.c (main): Initialize and de-initialize the sun
38448 partitionmap support.
38449
4d4e372e 384502005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38451
38452 This implements an Emacs-like menu entry editor.
f19dbdb7 38453
4d4e372e 38454 * normal/menu_entry.c: New file.
f19dbdb7 38455
4d4e372e 38456 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38457 characters to ASCII.
38458 (saved_char): New variable.
38459 (grub_ncurses_checkkey): Rewritten completely.
38460 (grub_ncurses_getkey): Likewise.
38461 (grub_ncurses_init): Call raw instead of cbreak.
38462
38463 * normal/menu.c (print_entry): Do not put a space.
38464 (init_page): Renamed to ...
38465 (grub_menu_init_page): ... this. All callers changed.
38466 (edit_menu_entry): Removed.
38467 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38468
38469 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38470
38471 * kern/misc.c (grub_vprintf): Call grub_refresh.
38472
38473 * normal/menu.c (DISP_LEFT): Renamed to ...
38474 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38475 * normal/menu.c (DISP_UP): Renamed to ...
38476 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38477 * normal/menu.c (DISP_RIGHT): Renamed to ...
38478 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38479 * normal/menu.c (DISP_DOWN): Renamed to ...
38480 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38481 * normal/menu.c (DISP_HLINE): Renamed to ...
38482 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38483 * normal/menu.c (DISP_VLINE): Renamed to ...
38484 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38485 * normal/menu.c (DISP_UL): Renamed to ...
38486 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38487 * normal/menu.c (DISP_UR): Renamed to ...
38488 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38489 * normal/menu.c (DISP_LL): Renamed to ...
38490 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38491 * normal/menu.c (DISP_LR): Renamed to ...
38492 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38493 * normal/menu.c (TERM_WIDTH): Renamed to ...
38494 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38495 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38496 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38497 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38498 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38499 * normal/menu.c (TERM_MARGIN): Renamed to ...
38500 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38501 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38502 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38503 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38504 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38505 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38506 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38507 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38508 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38509 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38510 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38511 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38512 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38513 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38514 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38515 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38516 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38517 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38518 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38519 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38520 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38521 All callers changed.
38522
38523 * include/grub/normal.h: New prototype.
38524
38525 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38526 normal/menu_entry.c.
38527 (normal_mod_SOURCES): Likewise.
38528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38529 (normal_mod_SOURCES): Likewise.
38530
e6b92c8a 385312005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38532
38533 * include/grub/normal.h (grub_halt_init): New prototype.
38534 (grub_halt_fini): Likewise.
38535 (grub_reboot_init): Likewise.
38536 (grub_reboot_fini): Likewise.
38537
38538 * util/grub-emu.c: Include signal.h.
38539 (main_env): New global variable.
38540 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38541 catch C-c.
38542 (grub_machine_fini): New function.
38543 (main): Call grub_halt_init and grub_reboot_init before
38544 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38545 Call setjmp with MAIN_ENV to go back afterwards.
38546 Call grub_machine_fini right before return.
38547
38548 * include/grub/util/misc.h: Include setjmp.h.
38549 (main_env): New prototype.
38550
38551 * include/grub/kernel.h (grub_machine_fini): New prototype.
38552 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38553 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38554
38555 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38556 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38557 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 38558
e6b92c8a 38559 * util/i386/pc/misc.c: New file.
f19dbdb7 38560
e6b92c8a 38561 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38562 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38563 commands/i386/pc/reboot.c.
38564
c642636f 385652005-02-14 Guillem Jover <guillem@hadrons.org>
38566
38567 * include/grub/dl.h (grub_dl_check_header): New prototype.
38568 (grub_arch_dl_check_header): Change return type to grub_err_t,
38569 remove size parameter and export function. Update all callers.
38570 * kern/dl.c (grub_dl_check_header): New function.
38571 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38572 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38573 are inside the core.
38574 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38575 independent ELF header checks.
38576 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38577 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38578 `grub_dl_check_header' instead of explicit checks. Check for the
38579 ELF type.
38580 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38581 `grub_dl_check_header' instead of explicit checks. Remove arch
38582 specific ELF header checks.
38583
e6b92c8a 38584 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38585 argument SIZE.
38586
5eabe94b 385872005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38588
38589 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38590 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38591
1b14a681 385922005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38593
38594 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 38595 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 38596 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 38597 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 38598 * partmap/amiga.c (amiga_partition_map_iterate): Return
38599 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38600 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38601
aca108aa 386022005-02-01 Guillem Jover <guillem@hadrons.org>
38603
38604 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38605 help info.
38606
c9f9c556 386072005-01-31 Marco Gerards <metgerards@student.han.nl>
38608
38609 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38610 Removed prototype.
38611 (grub_rescue_cmd_linux): New prototype.
38612 (grub_rescue_cmd_initrd): Likewise.
38613 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38614 `bi_rec'.
38615 (grub_linux_release_mem): Release the memory for the initrd.
38616 (grub_load_linux): Renamed from this...
38617 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38618 Changed `entry' not to be static. Loop over memory regions to
38619 find another one when the default fails.
38620 (grub_rescue_cmd_initrd): New function.
38621 (grub_linux_init): Remove function.
38622 (grub_linux_fini): Likewise.
38623 (GRUB_MOD_INIT): Register `initrd'.
38624 (GRUB_MOD_FINI): Unregister `initrd'.
38625 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38626 Function removed.
38627 (grub_linux_normal_fini): Likewise.
38628 (GRUB_MOD_INIT): Register `initrd'.
38629 (GRUB_MOD_FINI): Unregister `initrd'.
38630
990cf3aa 386312005-01-31 Marco Gerards <metgerards@student.han.nl>
38632
38633 * commands/help.c: New file.
38634 * normal/arg.c (show_help): Renamed to...
38635 (grub_arg_show_help): ... this.
38636 * commands/i386/pc/halt.c: New file.
38637 * commands/i386/pc/reboot.c: Likewise.
38638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38639 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38640 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38641 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38642 variables.
38643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38644 `commands/help.c'.
38645 (pkgdata_MODULES): Add `help.mod'.
38646 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38647 * grub/i386/pc/init.h (grub_reboot): New prototype.
38648 (grub_halt): Likewise.
38649 * include/grub/normal.h (grub_arg_show_help): New prototype.
38650 (grub_help_init): Likewise.
38651 (grub_help_fini): Likewise.
38652 * util/grub-emu.c (main): Initialize and deinitialize the help
38653 command.
38654
38655 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38656
38657 * normal/command.c (grub_command_init): Fixed the description of
38658 the `set' and `unset' commands.
38659
386602005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 38661
38662 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38663 function.
38664 * commands/ieee1275/halt.c: New file.
38665 * commands/ieee1275/reboot.c: Likewise.
38666 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38667 `__attribute__ ((unused))'. Some GCS related fixed.
38668 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38669 (grub_suspend_fini): Likewise.
38670 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38671 and `halt.mod'.
38672 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38673 (halt_mod_CFLAGS): New variables.
38674 * include/grub/powerpc/ieee1275/ieee1275.h
38675 (grub_ieee1275_interpret): New prototype.
38676
1ab09cc7 386772005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38678
38679 * include/grub/misc.h (memmove): New prototype.
38680 (memcpy): Likewise.
38681
8b8cbdb2 386822005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38683
38684 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38685 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38686
e3741a27 386872005-01-22 Marco Gerards <metgerards@student.han.nl>
38688
38689 * kern/misc.c (grub_strndup): Function rewritten.
38690
776bd780 386912005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38692
38693 * normal/menu.c (TERM_WIDTH): Macro redefined.
38694 (TERM_TOP_BORDER_Y): Likewise.
38695 (draw_border): Replaced while-loop by a for-loop. Make the number
38696 of lines consistent with the number of lines displayed in
38697 print_entries. Added a margin below the rectangle.
38698 (print_entry): Make the entry fit in the rectangle.
38699 (print_entries): Display the scroll arrows next to the right
38700 border.
38701
78026bce 387022005-01-21 Marco Gerards <metgerards@student.han.nl>
38703
38704 * fs/minix.c (grub_minix_find_file): Reserve more space for
38705 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38706 `grub_strncpy' to copy `path' into it.
38707
67bbaf0f 387082005-01-21 Marco Gerards <metgerards@student.han.nl>
38709
38710 Add the loopback device, a device via which files can be accessed
38711 as devices.
f19dbdb7 38712
67bbaf0f 38713 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38714 (pkgdata_MODULES): Add loopback.mod.
38715 (loopback_mod_SOURCES): New variable.
38716 (loopback_mod_CFLAGS): Likewise.
38717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38718 `disk/loopback.c'.
38719 (pkgdata_MODULES): Add loopback.mod.
38720 (loopback_mod_SOURCES): New variable.
38721 (loopback_mod_CFLAGS): Likewise.
38722 * disk/loopback.c: new file.
38723 * include/grub/normal.h (grub_loop_init): New prototype.
38724 (grub_loop_fini): New prototype.
38725 * util/grub-emu.c (main): Initialize and de-initialize loopback
38726 support.
38727 * include/grub/disk.h (grub_disk_dev_id): Add
38728 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38729
6f1c18bd 387302005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38731
38732 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38733 function.
38734 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38735 (suspend_mod_SOURCES): New variable.
38736 (suspend_mod_CFLAGS): Likewise.
38737 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38738 New prototype.
38739 * commands/ieee1275/suspend.c: New file.
38740
b38551da 387412005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38742
38743 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 38744 ((unused))' to `__attribute__ ((used))'.
b38551da 38745 (GRUB_MOD_FINI): Likewise.
38746 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38747 * genmk.rb (PModule): Assign space to common symbols when linking
38748 modules.
38749
777aff39 387502005-01-20 Marco Gerards <metgerards@student.han.nl>
38751
38752 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38753 `unsigned' arguments to `grub_size_t'.
38754 (grub_malloc): Likewise.
38755 (grub_realloc): Likewise.
38756 (grub_memalign): Likewise.
38757 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38758 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38759 * util/misc.c (grub_malloc): Likewise.
38760 (grub_realloc): Likewise.
38761 * kern/mm.c (get_header_from_pointer): Change the casts to
38762 `unsigned' into a cast to `grub_size_t'.
38763
38764 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38765 point to `currnode' when `currnode' is changed.
38766
38767 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38768 Schottelius <nico-linux@schottelius.org>.
38769
d0ff18e1 387702005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38771
38772 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38773 (note_path): Remove variable.
38774 (GRUB_IEEE1275_NOTE_NAME): New macro.
38775 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38776 (grub_ieee1275_note_hdr): New structure.
38777 (grub_ieee1275_note_desc): Likewise.
38778 (grub_ieee1275_note): Likewise.
38779 (load_note): Remove `dir' argument. All callers updated. Remove
38780 `note_img' and `path'. Do not load a file from `note_path'.
38781 Initialize a struct grub_ieee1275_note and write that to `out'.
38782 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38783
4ca7004c 387842005-01-05 Marco Gerards <metgerards@student.han.nl>
38785
38786 * util/misc.c (grub_util_read_image): Revert last change. It
38787 called `grub_util_read_at', which seeks from the beginning of the
38788 file.
38789
0b412211 387902005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38791
38792 * TODO: Add note about endianness in grub-mkimage.
38793 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38794 section.
38795 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38796 (grub_mkimage_SOURCES): New target.
38797 * include/grub/kernel.h (grub_start_addr): Remove variable.
38798 (grub_end_addr): Likewise.
38799 (grub_total_module_size): Likewise.
38800 (grub_kernel_image_size): Likewise.
38801 (GRUB_MODULE_MAGIC): New constant.
38802 (grub_module_info): New structure.
38803 (grub_arch_modules_addr): New prototype.
38804 (grub_get_end_addr): Remove prototype.
38805 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38806 * include/grub/powerpc/ieee1275/kernel.h: New file.
38807 * include/grub/util/misc.h (grub_util_get_fp_size): New
38808 prototype.
38809 (grub_util_read_at): Likewise.
38810 (grub_util_write_image_at): Likewise.
38811 * kern/main.c (grub_get_end_addr): Remove function.
38812 (grub_load_modules): Call grub_arch_modules_addr instead of using
38813 grub_end_addr. Look for a grub_module_info struct in memory. Use
38814 the grub_module_info fields instead of calling grub_get_end_addr
38815 as loop conditions. Move grub_add_unused_region code here.
38816 (grub_add_unused_region): Remove function.
38817 * kern/i386/pc/init.c: Include grub/cache.h.
38818 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38819 one call to add_mem_region.
38820 (grub_arch_modules_addr): New function.
38821 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38822 (grub_total_module_size): Likewise.
38823 Include grub/machine/kernel.h.
38824 (grub_arch_modules_addr): New function.
38825 * util/grub-emu.c (grub_end_addr): Remove variable.
38826 (grub_total_module_size): Likewise.
38827 (grub_arch_modules_addr): New function.
38828 * util/misc.c: Include unistd.h.
38829 (grub_util_get_fp_size): New function.
38830 (grub_util_read_at): Likewise.
38831 (grub_util_write_image_at): Likewise.
38832 (grub_util_read_image): Call grub_util_read_at.
38833 (grub_util_write_image): Call grub_util_write_image_at.
38834 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38835 additional memory in kernel_img for a struct grub_module_info.
38836 Fill in that grub_module_info.
38837 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38838
458786f8 388392005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38840
38841 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38842 New function.
38843 * include/grub/powerpc/ieee1275/ieee1275.h
38844 (grub_ieee1275_milliseconds): New prototype.
38845 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38846 Change to 1000.
38847 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38848 grub_ieee1275_milliseconds.
38849
ac507d1b 388502005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38851
38852 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38853 variable.
38854 (find_options): New function.
38855 (cmain): Call find_options.
38856 * include/grub/powerpc/ieee1275/ieee1275.h
38857 (grub_ieee1275_realmode): New extern variable.
38858 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38859 grub_map if grub_ieee1275_realmode is false.
38860
6b8fd1c4 388612004-12-29 Marco Gerards <metgerards@student.han.nl>
38862
38863 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38864 lines are inserted and make it work like readline. Reported by
38865 Vincent Pelletier <subdino2004@yahoo.fr>.
38866
8514a1e0 388672004-12-28 Marco Gerards <metgerards@student.han.nl>
38868
38869 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38870
38871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38872 `kern/powerpc/cache.S'.
38873
924b6140 388742004-12-27 Marco Gerards <metgerards@student.han.nl>
38875
38876 * genmk.rb: Handle the `Program' class in the main loop. Written
38877 by Johan Rydberg <jrydberg@gnu.org>.
38878 (Program): New class.
38879 (programs): New variable.
38880 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38881 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38882 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38883 (help_arch): Function removed.
38884 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38885 `powerpc/libgcc.h' and `loader.h'.
38886 (pkgdata_PROGRAMS): New variable.
38887 (sbin_UTILITIES): Variable removed.
38888 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38889 (grubof_SOURCES): Variable re-defined so it only includes the
38890 core functionality.
38891 (grubof_CFLAGS): Remove `-DGRUBOF'.
38892 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38893 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38894 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38895 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38896 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38897 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38898 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38899 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38900 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38901 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38902 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38903 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38904 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38905 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38906 (pc_mod_CFLAGS): New variables.
38907 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38908 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38909 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38910 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38911 Moved from here...
38912 * include/grub/i386/pc/init.h (grub_os_area_addr)
38913 (rub_os_area_size): ... to here.
38914 * include/grub/powerpc/ieee1275/ieee1275.h
38915 (grub_ieee1275_entry_fn): Export symbol.
38916 * include/grub/powerpc/ieee1275/init.h: New file.
38917 * include/grub/powerpc/libgcc.h: Likewise.
38918 * include/grub/cache.h: Likewise.
38919 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38920 <hollis@penguinppc.org>.
38921 * kern/dl.c: Include <grub/cache.h>.
38922 (grub_dl_flush_cache): New function.
38923 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38924 for this module.
38925 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38926 (grub_console_init): Removed prototypes.
38927 (grub_machine_init): Don't initialize the modules anymore.
38928 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38929 static.
38930 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38931 Macro undef removed.
38932 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38933 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38934 relocation `R_PPC_REL32'. Return an error when the relocation is
38935 unknown.
38936 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38937 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38938 * util/misc.c (grub_arch_sync_caches): Likewise.
38939
e4b47e0c 389402004-12-19 Marco Gerards <metgerards@student.han.nl>
38941
38942 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38943 `symlist.c', add `grubof_symlist.c'.
38944 (symlist.c): Variable removed.
38945 (grubof_HEADERS): Variable added.
38946 (grubof_symlist.c): New target.
38947 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38948 `kernel_img_HEADERS'.
38949 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38950 * kern/powerpc/dl.c: New file.
38951 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38952 Function removed.
38953 (grub_arch_dl_relocate_symbols): Likewise.
38954 (grub_register_exported_symbols): Likewise.
38955
4ceb3636 389562004-12-13 Marco Gerards <metgerards@student.han.nl>
38957
38958 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38959 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38960 to fail instead. Reported by Vincent Pelletier
38961 <subdino2004@yahoo.fr>.
38962
38963 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38964 it is not allocated. Reported by Vincent Pelletier
38965 <subdino2004@yahoo.fr>.
38966
38967 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38968 output so the output looks better.
f19dbdb7 38969
3f1578fe 389702004-12-04 Marco Gerards <metgerards@student.han.nl>
38971
38972 Modulize the partition map support and add support for the amiga
38973 partition map.
f19dbdb7 38974
3f1578fe 38975 * commands/ls.c: Include <grub/partition.h> instead of
38976 <grub/machine/partition.h>.
38977 * kern/disk.c: Likewise.
38978 * kern/rescue.c: Likewise.
38979 * loader/i386/pc/chainloader.c: Likewise.
38980 * normal/cmdline.c: Likewise.
38981 * kern/powerpc/ieee1275/init.c: Likewise.
38982 (grub_machine_init): Call `grub_pc_partition_map_init',
38983 `grub_amiga_partition_map_init' and
38984 `grub_apple_partition_map_init'.
38985 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38986 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38987 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38988 `partition.h' and `pc_partition.h'.
38989 (grub_setup_SOURCES): Remove
38990 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38991 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38992 (grub_emu_SOURCES): Likewise.
38993 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38994 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38995 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38997 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38998 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38999 (grubof_SOURCES): Likewise.
39000 * disk/i386/pc/partition.c: File removed.
39001 * disk/powerpc/ieee1275/partition.c: Likewise.
39002 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39003 * include/grub/i386/pc/partition.h: Likewise.
39004 * kern/partition.c: New file.
39005 * partmap/amiga.c: Likewise.
39006 * partmap/apple.c: Likewise.
39007 * partmap/pc.c: Likewise.
39008 * include/grub/partition.h: Likewise..
39009 * include/grub/pc_partition.h: Likewise.
39010 * util/grub-emu.c: Include <grub/partition.h> instead of
39011 <grub/machine/partition.h>.
39012 (main): Call `grub_pc_partition_map_init',
39013 `grub_amiga_partition_map_init' and
39014 `grub_apple_partition_map_init' and deinitialize afterwards.
39015 * util/i386/pc/biosdisk.c: Include `#include
39016 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39017 `<grub/machine/partition.h>'.
39018 * util/i386/pc/grub-setup.c: Likewise.
39019 * util/i386/pc/biosdisk.c: Likewise.
39020 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39021 partition information in case of a PC partition.
39022 * util/i386/pc/grub-setup.c: Include `#include
39023 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39024 `<grub/machine/partition.h>'.
39025 (setup): Only access the PC specific partition information in case
39026 of a PC partition.
39027
0ef4ced9 390282004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39029
0ef4ced9 39030 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39031 (grub_longjmp): Likewise.
39032 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39033 20.
39034 * normal/powerpc/setjmp.S: New file.
39035 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39036 `normal/powerpc/setjmp.S'.
39037 (grubof_CFLAGS): Add `-DGRUBOF'.
39038 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39039 [GRUB_UTIL && !GRUBOF].
f19dbdb7 39040
19950e29 390412004-11-16 Marco Gerards <metgerards@student.han.nl>
39042
39043 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39044 property named `name'. Correctly handle the error returned by
39045 `grub_ieee1275_finddevice' if a device can not be opened.
39046
a2fea427 390472004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39048
39049 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39050 `actual' for negativity.
39051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39052 kern/fshelp.c.
39053
41ea0ea3 390542004-11-01 Marco Gerards <metgerards@student.han.nl>
39055
39056 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39057 (PAGE_OFFSET): New macro.
39058 (CRTC_ADDR_PORT): Likewise.
39059 (CRTC_DATA_PORT): Likewise.
39060 (START_ADDR_HIGH_REGISTER): Likewise.
39061 (START_ADDR_LOW_REGISTER): Likewise.
39062 (GRAPHICS_ADDR_PORT): Likewise.
39063 (GRAPHICS_DATA_PORT): Likewise.
39064 (READ_MAP_REGISTER): Likewise.
39065 (INPUT_STATUS1_REGISTER): Likewise.
39066 (INPUT_STATUS1_VERTR_BIT): Likewise.
39067 (page): New variable.
39068 (wait_vretrace): New function.
39069 (set_read_map): Likewise.
39070 (set_start_address): Likewise.
39071 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39072 the right page.
39073 (check_vga_mem): Take the page into account.
39074 (write_char): Likewise.
39075 (write_cursor): Likewise.
39076 (scroll_up): Likewise. Copy the page to the page that is not
39077 shown and switch between both pages.
39078 (grub_vga_putchar): Fix off by one error.
39079 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39080 account.
39081
ad0bd20b 390822004-11-01 Marco Gerards <metgerards@student.han.nl>
39083
39084 Add support for iso9660 (including rockridge).
f19dbdb7 39085
ad0bd20b 39086 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39087 (iso9660_mod_SOURCES): New variable.
39088 (iso9660_mod_CFLAGS): Likewise.
39089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39090 * include/grub/fs.h (grub_iso9660_init): New prototype.
39091 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39092 * fs/iso9660.c: New file.
39093
39094 * include/grub/misc.h (grub_strncat): New prototype.
39095 * kern/misc.c (grub_strncat): New function.
f19dbdb7 39096
ad0bd20b 39097 * fs/hfs.c (grub_hfs_mount): Translate the error
39098 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39099 * fs/jfs.c (grub_jfs_mount): Likewise.
39100 * fs/ufs.c (grub_ufs_mount): Likewise.
39101
a5477a59 391022004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39103
39104 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39105 which initialized BAT registers.
39106 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39107 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39108 Move from here...
39109 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39110 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39111 ... to here.
39112 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39113 (grub_mapclaim): Likewise.
39114 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39115 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39116 hand.
39117
9304c1f8 391182004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39119
39120 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39121 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39122 -ffreestanding and -msoft-float.
39123
86f4ae25 391242004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39125
39126 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39127 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39128 set in grub_ieee1275_flags.
39129
38912228 391302004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39131
39132 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39133 prototype.
39134 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39135 grub_console_init first.
39136 Change the memory range used for grub_ieee1275_claim and
39137 grub_mm_init_region.
39138 Print an error message if the claim fails.
39139 Include <grub/misc.h>.
39140
d1923dc8 391412004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39142
39143 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39144 Call grub_children_iterate for device nodes of type `scsi',
39145 `ide', or `ata'.
39146 (grub_ofdisk_open): Remove manual device alias resolution.
39147 Fix memory leak when device cannot be opened.
f19dbdb7 39148 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39149 (grub_children_iterate): New prototype.
39150 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39151 New function.
39152 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39153 Return -1 if args.size was -1.
39154
4512e4f3 391552004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39156
39157 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39158 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39159 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39160 Open Firmware's memory for it; claim memory from _start to _end.
39161 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39162 (_end): New extern.
39163 (_start): Zero BSS from __bss_start to _end.
39164 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39165 New extern.
39166 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39167
4d61feb0 391682004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39169
ad0bd20b 39170 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39171 -1 if args.base was -1.
4d61feb0 39172
026fa2f9 391732004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39174
39175 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39176 escape sequence instead of a literal ^L. Also call
39177 grub_ofconsole_gotoxy.
39178
9f2220ef 391792004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39180
39181 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39182 void * arguments to grub_addr_t. All callers updated. Also make
39183 the `result' argument optional.
39184 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39185 All callers updated.
39186
8a572cd7 391872004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39188
39189 * commands/ls.c (grub_ls_list_files): Use the string following the
39190 initial ')', if present, as the filesystem path.
39191 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39192
39193 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39194
18aa81f2 391952004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39196
39197 Make the source code of the menu interface more readable.
f19dbdb7 39198
18aa81f2 39199 * normal/menu.c: Include grub/mm.h.
39200 (TERM_WIDTH): New macro.
39201 (TERM_HEIGHT): Likewise.
39202 (TERM_INFO_HEIGHT): Likewise.
39203 (TERM_MARGIN): Likewise.
39204 (TERM_SCROLL_WIDTH): Likewise.
39205 (TERM_TOP_BORDER_Y): Likewise.
39206 (TERM_LEFT_BORDER_X): Likewise.
39207 (TERM_BORDER_WIDTH): Likewise.
39208 (TERM_MESSAGE_HEIGHT): Likewise.
39209 (TERM_BORDER_HEIGHT): Likewise.
39210 (TERM_NUM_ENTRIES): Likewise.
39211 (TERM_FIRST_ENTRY_Y): Likewise.
39212 (TERM_ENTRY_WIDTH): Likewise.
39213 (TERM_CURSOR_X): Likewise.
39214 (draw_border): Use macros instead of magic numbers.
39215 (print_entry): Likewise.
39216 (print_entries): Likewise.
39217 (run_menu): Likewise. Also, handle the key 'e'.
39218 (run_menu_entry): Ignore empty command lines.
39219 (print_message): Added a new argument EDIT. If EDIT is true,
39220 print a different message.
39221 (init_page): Likewise.
39222 (edit_menu_entry): New function. Not implemented yet.
39223
b47efe30 392242004-09-17 Marco Gerards <metgerards@student.han.nl>
39225
39226 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39227 can be loaded from normal mode.
f19dbdb7 39228
b47efe30 39229 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39230 `multiboot.mod'.
39231 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39232 (multiboot_mod_CFLAGS): New variables.
39233 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 39234 * loader/i386/pc/multiboot_normal.c: Likewise.
39235
b47efe30 39236 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39237 attribute `unused'.
f19dbdb7 39238
b47efe30 39239 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39240 `fdiro' to read the mode information from instead of `diro'.
39241
39242 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39243 looking up a symlink.
39244
39245 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39246 macro.
39247 * normal/command.c (grub_command_execute): Don't parse the
39248 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39249 flags of the command.
39250
39251 * normal/menu.c (grub_menu_run): Fix typo.
39252
da75ac71 392532004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39254
39255 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39256
39257 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39258 `y + 1' instead of `y - 1'.
39259
39260 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 39261
062b24c2 392622004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39263
39264 From Hollis Blanchard <hollis@penguinppc.org>:
39265 * kern/misc.c (memmove): New alias for grub_memmove.
39266 (memcmp): New alias for grub_memcmp.
39267 (memset): New alias for grub_memset.
f19dbdb7 39268 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 39269 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 39270 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 39271 (grub_ieee1275_get_property): Likewise.
f19dbdb7 39272
8ddad845 392732004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39274
39275 Added normal mode command `chainloader' as module chain.mod, which
39276 depends on normal.mod and _chain.mod.
f19dbdb7 39277
8ddad845 39278 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39279 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39280 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39281 Deleted prototype.
39282 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39283 but arguments parsing moved to ...
39284 (grub_chainloader_cmd): ... here. New function.
39285 * include/grub/i386/pc/chainloader.h: New file.
39286 * loader/i386/pc/chainloader_normal.c: Likewise.
39287
2c1f4ce3 392882004-09-11 Marco Gerards <metgerards@student.han.nl>
39289
39290 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39291 (grub_mkimage_LDFLAGS): Likewise.
39292 (grub_emu_SOURCES): Likewise.
39293 (kernel_img_HEADERS): Added fshelp.h.
39294 * fs/ext2.c: Include <grub/fshelp.h>.
39295 (FILETYPE_REG): New macro.
39296 (FILETYPE_INO_REG): Likewise.
39297 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39298 Changed all users.
39299 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39300 all users.
39301 (grub_fshelp_node): New struct.
39302 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39303 to a pointer.
39304 (grub_ext2_get_file_block): Removed function.
39305 (grub_ext2_read_block): New function.
39306 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39307 This function was written.
39308 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39309 (grub_ext2_find_file): Removed function.
39310 (grub_ext2_read_symlink): New function.
39311 (grub_ext2_iterate_dir): Likewise.
39312 (grub_ext2_open): Rewritten.
39313 (grub_ext2_dir): Rewritten.
39314 * include/grub/fshelp.h: New file.
39315 * fs/fshelp.c: Likewise.
39316
3c52136a 393172004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39318
39319 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39320 (print_message): Add a missing newline.
39321 (run_menu): Added timeout support.
39322 (run_menu_entry): New local function.
39323 (grub_menu_run): Added support for booting.
39324
39325 * kern/loader.c (grub_loader_is_loaded): New function.
39326
39327 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39328 (grub_get_rtc): Exported.
39329
39330 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39331 (grub_get_rtc): Exported.
39332
39333 * include/grub/normal.h (struct grub_command_list): Remove
39334 constant from the member `command'.
39335
39336 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39337
39338 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39339
39340 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39341
aa033560 393422004-08-28 Marco Gerards <metgerards@student.han.nl>
39343
39344 Add support for the JFS filesystem.
39345
39346 * fs/jfs.c: New file.
39347 * include/grub/fs.h (grub_jfs_init): New prototype.
39348 (grub_jfs_fini): New prototype.
39349 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39350 (grub_emu_SOURCES): Likewise.
39351 (pkgdata_MODULES): Add jfs.mod.
39352 (jfs_mod_SOURCES): New variable.
39353 (jfs_mod_CFLAGS): Likewise.
39354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39355 (grubof_SOURCES): Likewise.
39356 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39357
39358 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39359 endian to the host endian.
39360 (grub_fat_utf16_to_utf8): Move function from there...
39361 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 39362 the endianness of the source string anymore.
aa033560 39363 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39364
94bc45af 393652004-08-24 Marco Gerards <metgerards@student.han.nl>
39366
39367 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39368 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39369 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39370 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 39371
94bc45af 39372 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39373 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39374 for `node_found' and `it_dir'.
39375 (grub_hfs_dir): Add prototype for `dir_hook'.
39376
39377 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39378 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39379 and `indir32' to silence a gcc warning.
39380
39381 * include/grub/fs.h (grub_hfs_init): New prototype.
39382 (grub_hfs_fini): Likewise.
f19dbdb7 39383
39384
97543f08 393852004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39386
39387 Each disk device has its own id now. This is useful to make use
39388 of multiple disk devices.
f19dbdb7 39389
97543f08 39390 * include/grub/disk.h (grub_disk_dev_id): New enum.
39391 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39392 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39393
39394 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39395 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39396
39397 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39398 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39399
39400 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39401 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39402
39403 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39404 "id" which is used by the cache manager.
39405
39406 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39407 of just "GRUB".
39408
64372eb4 394092004-08-18 Marco Gerards <metgerards@student.han.nl>
39410
39411 * fs/hfs.c: New file.
39412 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39413 (grub_emu_SOURCES): Likewise.
39414 (pkgdata_MODULES): Add hfs.mod.
39415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39416 (grubof_SOURCES): Likewise.
39417 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39418
39419 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39420 * kern/misc.c (grub_strncasecmp): Add function.
39421
cc61b58f 394222004-08-14 Marco Gerards <metgerards@student.han.nl>
39423
39424 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39425 with parentheses.
39426
39427 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39428 (grub_ext2_dir): In case the directory entry type is unknown, read
39429 it from the inode.
39430
0ef123f6 394312004-08-02 Peter Bruin <pjbruin@dds.nl>
39432
39433 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39434 grub_load_linux instead of grub_rescue_cmd_linux as second
39435 argument of grub_rescue_register_command.
39436
39437 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39438
a447c5df 394392004-07-27 Marco Gerards <metgerards@student.han.nl>
39440
39441 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39442 function.
39443 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39444 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39445 `loader/powerpc/ieee1275/linux.c',
39446 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39447 * include/grub/powerpc/ieee1275/ieee1275.h
39448 (grub_ieee1275_release): New prototype.
39449 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39450 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39451 normal, boot, linux and linux_normal.
39452 * loader/powerpc/ieee1275/linux.c: New file.
39453 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39454
5a9e3546 394552004-07-12 Marco Gerards <metgerards@student.han.nl>
39456
39457 * normal/arg.c (grub_arg_parse): Correct error handling after
39458 reallocating the argumentlist (check if `argl' is not null instead
39459 of checking if `args' is not null).
39460 * kern/mm.c (grub_realloc): Return the same pointer when using the
39461 same region, instead of returning the header address.
39462
e15199cb 394632004-07-11 Marco Gerards <metgerards@student.han.nl>
39464
39465 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39466 one block instead of two when looking for the initial partition.
39467 (grub_partition_probe): Initialize the local variable `p' with 0.
39468 Use base 10 for the grub_strtoul call.
39469 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39470 need for one local variable.
39471 (grub_strtoul): Don't add the new value to `num', instead of that
39472 just assign it.
39473
020616c2 394742004-07-11 Marco Gerards <metgerards@student.han.nl>
39475
39476 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39477 (pxeboot_img_SOURCES): New variable.
39478 (pxeboot_img_ASFLAGS): Likewise.
39479 (pxeboot_img_LDFLAGS): Likewise.
39480 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39481 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39482 <lode_leroy@hotmail.com>.
39483
6c51eb64 394842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39485
39486 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39487 there was no input.
39488
cfb12aff 394892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39490
39491 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39492 the history buffer logic.
39493
6eabba74 394942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39495
39496 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39497 (FILETYPE_INO_SYMLINK): New macros.
39498 (grub_ext2_find_file): Check if the node is a directory using the
39499 inode stat information instead of using the filetype in the
39500 dirent. Exclude the first character of an absolute symlink.
39501 (grub_ext2_dir): Mask out the filetype part of the mode member of
39502 the inode.
39503
66e19ef8 395042004-05-24 Marco Gerards <metgerards@student.han.nl>
39505
39506 Add support for UFS version 1 and 2. Add support for the minix
39507 filesystem version 1 and 2, both the variants with 14 and 30 long
39508 filenames.
f19dbdb7 39509
66e19ef8 39510 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39511 fs/minix.c.
39512 (grub_emu_SOURCES): Likewise.
39513 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39514 (ufs_mod_SOURCES): New variable.
39515 (ufs_mod_CFLAGS): Likewise.
39516 (minix_mod_SOURCES): Likewise.
39517 (minix_mod_CFLAGS): Likewise.
39518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39519 fs/minix.c.
39520 (grubof_SOURCES): Likewise.
39521 * fs/ufs.c: New file.
39522 * fs/minix.c: New file.
39523 * include/grub/fs.h (grub_ufs_init): New prototype.
39524 (grub_ufs_fini): Likewise.
39525 (grub_minix_init): Likewise.
39526 (grub_minix_fini): Likewise.
39527 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39528 minix fs.
39529
cc2e748a 395302004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39531
39532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39533 commands/ls.c, commands/terminal.c, commands/boot.c,
39534 commands/cmp.c and commands/cat.c.
39535 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39536
39537 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39538 "env.h"
39539
4b13b216 395402004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39541
39542 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39543 and grub_, respectively. Because the conversion is trivial and
39544 mechanical, I omit the details here. Please refer to the CVS
39545 if you need more information.
39546
6a142551 395472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39548
39549 * include/pupa: Renamed to ...
39550 * include/grub: ... this.
39551 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39552 * util/i386/pc/grub-mkimage.c: ... this.
39553 * util/i386/pc/pupa-setup.c: Renamed to ...
39554 * util/i386/pc/grub-setup.c: ... this.
39555 * util/pupa-emu.c: Renamed to ...
39556 * util/grub-emu.c: ... this.
39557
e56cdf21 395582004-03-29 Marco Gerards <metgerards@student.han.nl>
39559
39560 Add support for the newworld apple macintosh (PPC). This has been
39561 tested on the powerbook 2000 only. It only adds support for
39562 generic ieee1275 functions, console and disk support. This should
39563 be easy to port to other architectures with support for Open
39564 Firmware.
f19dbdb7 39565
e56cdf21 39566 * configure.ac: Accept the powerpc as host_cpu. In the case of
39567 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39568 specific tests are only executed while building for the i386.
39569 Inverse test for crosscompile.
39570 * genmk.rb (Utility): Allow assembler files.
39571 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39572 * conf/powerpc-ieee1275.rmk: New file.
39573 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39574 * disk/powerpc/ieee1275/partition.c: Likewise.
39575 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39576 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39577 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39578 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39579 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39580 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39581 * include/pupa/powerpc/ieee1275/loader.h
39582 * include/pupa/powerpc/setjmp.h: Likewise.
39583 * include/pupa/powerpc/types.h: Likewise.
39584 * kern/powerpc/ieee1275/init.c: Likewise.
39585 * kern/powerpc/ieee1275/openfw.c: Likewise.
39586 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39587
39588 These files were written by Johan Rydberg
39589 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 39590
e56cdf21 39591 * boot/powerpc/ieee1275/cmain.c: New file.
39592 * boot/powerpc/ieee1275/crt0.S: Likewise.
39593 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39594 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39595
8c8cc205 395962004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39597
39598 * Makefile.in: Update copyright.
39599 * genmodsrc.sh: Likewise.
39600 * gensymlist.sh: Likewise.
39601 * term/i386/pc/vga.c: Indent correctly.
39602
39603 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39604 bugreporting address.
39605 * util/i386/pc/pupa-setup.c (usage): Likewise,
39606 (main): Call pupa_ext2_init and pupa_ext2_fini.
39607
f19dbdb7 39608 * fs/fat.c (log2): Renamed to ...
8c8cc205 39609 (fat_log2): ... this.
39610 All callers changed.
39611 * kern/misc.c (memcpy): Alias to pupa_memmove.
39612 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39613 lvalue cast.
39614 * util/console.c (pupa_ncurses_fini): Return 0.
39615
39616 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39617 Move fail label here.
39618 [__GNU__]: Don't warn when using stat.
39619 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39620 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39621 long int. Use strtol instead of strtoul.
f19dbdb7 39622
db1771cf 396232004-03-14 Marco Gerards <metgerards@student.han.nl>
39624
39625 * commands/boot.c: New file.
39626 * commands/cat.c: Likewise.
39627 * commands/cmp.c: Likewise.
39628 * commands/ls.c: Likewise.
39629 * commands/terminal.c: Likewise.
39630 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39631 (pupa_register_command): Changed interface to match the new
39632 argument parser.
39633 (pupa_command_execute): Changed (almost rewritten) so it uses
39634 pupa_split_command. Added support for setting variables using the
39635 syntax `foo=bar'.
39636 (rescue_command): Changed to work with the new argument parser.
39637 (terminal_command): Moved from here to commands/terminal.c.
39638 (set_command): New function.
39639 (unset_command): New function.
39640 (insmod_command): New function.
39641 (rmmod_command): New function.
39642 (lsmod_command): New function.
39643 (pupa_command_init): Don't initialize the command terminal
39644 anymore. Initialize the commands set, unset, insmod, rmmod and
39645 lsmod.
39646 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39647 (kernel_img_HEADERS): Add arg.h and env.h.
39648 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39649 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39650 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39651 normal/arg.c.
39652 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39653 terminal.mod.
39654 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39655 (boot_mod_SOURCES): New variable.
39656 (terminal_mod_SOURCES): Likewise.
39657 (ls_mod_SOURCES): Likewise.
39658 (cmp_mod_SOURCES): Likewise.
39659 (cat_mod_SOURCES): Likewise.
39660
39661 * normal/arg.c: New file.
39662 * kern/env.c: Likewise.
39663 * include/pupa/arg.h: Likewise.
39664 * include/pupa/env.h: Likewise.
39665 * font/manager.c (font_command): Changed to match argument parsing
39666 interface changes.
39667 (PUPA_MOD_INIT): Likewise.
39668 * hello/hello.c (pupa_cmd_hello): Likewise.
39669 (PUPA_MOD_INIT): Likewise.
39670 * include/pupa/disk.h: Include <pupa/device.h>.
39671 (pupa_print_partinfo): New prototype.
39672 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39673 (pupa_dl_get_prefix): Likewise.
39674 * include/pupa/misc.h: Include <pupa/err.h>.
39675 (pupa_isgraph): New prototype.
39676 (pupa_isdigit): Likewise.
39677 (pupa_split_cmdline): Likewise.
39678 * include/pupa/normal.h: Include <pupa/arg.h>.
39679 (pupa_command): Changed the prototype of the member `func' to
39680 match the argument parsing interface. Added member `options'.
39681 (pupa_register_command): Updated to match function.
39682 (pupa_arg_parse): New prototype.
39683 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39684 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39685 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39686 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39687 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39688 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39689 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39690 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39691 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39692 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39693 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39694 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39695 * kern/disk.c: Include <pupa/file.h>.
39696 (pupa_print_partinfo): New function.
39697 * kern/dl.c: Include <pupa/env.h>.
39698 (pupa_dl_dir): Variable removed.
39699 (pupa_dl_load): Use the environment variable `prefix' instead of
39700 the variable pupa_dl_dir.
39701 (pupa_dl_set_prefix): Function removed.
39702 (pupa_dl_get_prefix): Likewise.
39703 * kern/i386/pc/init.c: Include <pupa/env.h>.
39704 (pupa_machine_init): Use the environment variable `prefix' instead of
39705 using pupa_dl_set_prefix to set the prefix.
39706 * kern/main.c: Include <pupa/env.h>.
39707 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39708 using pupa_dl_get_prefix to get the prefix.
39709 * kern/misc.c: Include <pupa/env.h>.
39710 (pupa_isdigit): New function.
39711 (pupa_isgraph): Likewise.
39712 (pupa_ftoa): Likewise.
39713 (pupa_vsprintf): Added support for printing values of the type
39714 `double'. Make it possible to format variable output when using
39715 formatting like `%1.2%f'.
39716 (pupa_split_cmdline): New function.
39717 * kern/rescue.c: Include <pupa/env.h>.
39718 (next_word): Removed function.
39719 (pupa_rescue_cmd_prefix): Likewise.
39720 (pupa_rescue_cmd_set): New function.
39721 (pupa_rescue_cmd_unset): New function.
39722 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39723 split the command line instead of splitting it here. Added
39724 support for setting variables using the syntax `foo=bar'. Don't
39725 initialize the prefix command anymore. Initialized the set and
39726 unset commands.
39727 * normal/cmdline.c: Include <pupa/env.h>.
39728 (pupa_tab_complete): Added prototypes for print_simple_completion,
39729 print_partition_completion, add_completion, iterate_commands,
39730 iterate_dev, iterate_part and iterate_dir. Moved code to print
39731 partition information from here to kern/disk.c.
fe6b695a 39732 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 39733 * normal/main.c: Include <pupa/env.h>.
39734 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39735 instead of using pupa_dl_get_prefix to get the prefix.
39736 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39737 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39738 warning.
39739 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39740 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39741 ((unused))' to silence a gcc warning.
39742 (pupa_vga_setcolor): Likewise.
39743 (debug_command): Changed to match argument parsing
39744 interface changes.
39745 * util/pupa-emu.c: Include <pupa/env.h>.
39746 (options): Added 0's for unused fields to silence a gcc warning.
39747 (argp): Likewise.
39748 (main): Use the environment variable `prefix' instead of using
39749 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39750 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39751 and terminal.
39752
39753 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39754 * util/misc.c: Include <malloc.h>.
39755 (pupa_malloc): Rewritten so errors are correctly reported.
39756 (pupa_realloc): Likewise.
39757 (pupa_memalign): Likewise.
39758 (pupa_mm_init_region): Declare unused variables with
39759 `__attribute__ ((unused))' to silence a gcc warning.
39760 * normal/i386/setjmp.S: Remove tab at the end of the file to
39761 silence a gcc warning.
39762 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39763 variables with `__attribute__ ((unused))' to silence a gcc
39764 warning.
39765 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39766 local variable i unsigned to silence a gcc warning.
39767
39768 * kern/term.c: Include <pupa/misc.h>.
39769 (pupa_more_lines): New variable.
39770 (pupa_more): Likewise.
39771 (pupa_putcode): When the pager is active pause at the end of every
39772 screen.
39773 (pupa_set_more): New function.
39774 * include/pupa/term.h (pupa_set_more): New prototype.
39775
39776
3b1139cb 397772004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39778
39779 Now this project is GRUB 2 rather than PUPA. The location of
39780 the CVS repository was moved to GRUB's.
f19dbdb7 39781
3b1139cb 39782 * configure.ac: Use bug-grub as the reporting address.
39783 Use GRUB instead of PUPA.
39784 Change the version number to 1.90.
39785
8367695c 397862004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39787
39788 * genkernsyms.sh: Updated copyright information.
39789 * genmk.rb: Likewise.
39790 * genmodsrc.sh: Likewise.
39791 * gensymlist.sh: Likewise.
39792 * boot/i386/pc/boot.S: Likewise.
39793 * boot/i386/pc/diskboot.S: Likewise.
39794 * disk/i386/pc/biosdisk.c: Likewise.
39795 * disk/i386/pc/partition.c: Likewise.
39796 * font/manager.c: Likewise.
39797 * fs/ext2.c: Likewise.
39798 * fs/fat.c: Likewise.
39799 * include/pupa/boot.h: Likewise.
39800 * include/pupa/device.h: Likewise.
39801 * include/pupa/disk.h: Likewise.
39802 * include/pupa/dl.h: Likewise.
39803 * include/pupa/elf.h: Likewise.
39804 * include/pupa/err.h: Likewise.
39805 * include/pupa/file.h: Likewise.
39806 * include/pupa/font.h: Likewise.
39807 * include/pupa/fs.h: Likewise.
39808 * include/pupa/kernel.h: Likewise.
39809 * include/pupa/loader.h: Likewise.
39810 * include/pupa/misc.h: Likewise.
39811 * include/pupa/mm.h: Likewise.
39812 * include/pupa/net.h: Likewise.
39813 * include/pupa/normal.h: Likewise.
39814 * include/pupa/rescue.h: Likewise.
39815 * include/pupa/setjmp.h: Likewise.
39816 * include/pupa/symbol.h: Likewise.
39817 * include/pupa/term.h: Likewise.
39818 * include/pupa/types.h: Likewise.
39819 * include/pupa/i386/setjmp.h: Likewise.
39820 * include/pupa/i386/types.h: Likewise.
39821 * include/pupa/i386/pc/biosdisk.h: Likewise.
39822 * include/pupa/i386/pc/boot.h: Likewise.
39823 * include/pupa/i386/pc/console.h: Likewise.
39824 * include/pupa/i386/pc/init.h: Likewise.
39825 * include/pupa/i386/pc/kernel.h: Likewise.
39826 * include/pupa/i386/pc/linux.h: Likewise.
39827 * include/pupa/i386/pc/loader.h: Likewise.
39828 * include/pupa/i386/pc/memory.h: Likewise.
39829 * include/pupa/i386/pc/multiboot.h: Likewise.
39830 * include/pupa/i386/pc/partition.h: Likewise.
39831 * include/pupa/i386/pc/time.h: Likewise.
39832 * include/pupa/i386/pc/vga.h: Likewise.
39833 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39834 * include/pupa/util/getroot.h: Likewise.
39835 * include/pupa/util/misc.h: Likewise.
39836 * include/pupa/util/resolve.h: Likewise.
39837 * kern/device.c: Likewise.
39838 * kern/disk.c: Likewise.
39839 * kern/dl.c: Likewise.
39840 * kern/err.c: Likewise.
39841 * kern/file.c: Likewise.
39842 * kern/fs.c: Likewise.
39843 * kern/loader.c: Likewise.
39844 * kern/main.c: Likewise.
39845 * kern/misc.c: Likewise.
39846 * kern/mm.c: Likewise.
39847 * kern/rescue.c: Likewise.
39848 * kern/term.c: Likewise.
39849 * kern/i386/dl.c: Likewise.
39850 * kern/i386/pc/init.c: Likewise.
39851 * kern/i386/pc/lzo1x.S: Likewise.
39852 * kern/i386/pc/startup.S: Likewise.
39853 * loader/i386/pc/chainloader.c: Likewise.
39854 * loader/i386/pc/linux.c: Likewise.
39855 * loader/i386/pc/multiboot.c: Likewise.
39856 * normal/cmdline.c: Likewise.
39857 * normal/command.c: Likewise.
39858 * normal/main.c: Likewise.
39859 * normal/menu.c: Likewise.
39860 * normal/i386/setjmp.S: Likewise.
39861 * term/i386/pc/console.c: Likewise.
39862 * term/i386/pc/vga.c: Likewise.
39863 * util/console.c: Likewise.
39864 * util/genmoddep.c: Likewise.
39865 * util/misc.c: Likewise.
39866 * util/pupa-emu.c: Likewise.
39867 * util/resolve.c: Likewise.
39868 * util/unifont2pff.rb: Likewise.
39869 * util/i386/pc/biosdisk.c: Likewise.
39870 * util/i386/pc/getroot.c: Likewise.
39871 * util/i386/pc/pupa-mkimage.c: Likewise.
39872 * util/i386/pc/pupa-setup.c: Likewise.
39873
e6eced71 398742004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39875
39876 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39877 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39878 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39879 reading and reset it after reading.
39880 (pupa_ext2_close): Return PUPA_ERR_NONE.
39881
39882 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39883 Correct value.
39884 (struct linux_kernel_header): Add kernel_version and
39885 initrd_addr_max.
39886 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39887 pupa_file_read succeeds.
39888 (pupa_rescue_cmd_initrd): Implement.
39889
5aded270 398902003-12-03 Marco Gerards <metgerards@student.han.nl>
39891
39892 * fs/ext2.c (pupa_ext2_label): New function.
39893 (pupa_ext2_fs): Added label.
39894 * fs/fat.c (pupa_fat_label): New function.
39895 (pupa_fat_fs): Added label.
39896 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39897
39898 * kern/misc.c (pupa_strndup): New function.
39899 * include/pupa/misc.h (pupa_strndup): New prototype.
39900
39901 * include/pupa/normal.h: Include <pupa/err.h>.
39902 (pupa_set_history): New prototype.
39903 (pupa_iterate_commands): New prototype.
39904 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39905 <pupa/disk.h>, <pupa/file.h>.
39906 (hist_size): New variable.
39907 (hist_lines): Likewise.
39908 (hist_end): Likewise.
39909 (hist_used): Likewise.
39910 (pupa_set_history): New function.
39911 (pupa_history_get): Likewise.
39912 (pupa_history_add): Likewise.
39913 (pupa_history_replace): Likewise.
39914 (pupa_tab_complete): Likewise.
39915 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39916 completion shows partitionnames while completing partitions, this
39917 feature was suggested by Jeff Bailey.
39918 * normal/command.c (pupa_iterate_commands): New function.
39919 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39920 (pupa_normal_init): Initialize history buffer.
39921 (PUPA_MOD_INIT): Likewise.
39922 (pupa_normal_fini): Free the history buffer.
39923 (PUPA_MOD_FINI): Likewise.
39924
39925 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39926 key.
39927
39928 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39929 * configure.ac [i386]: Check for regparam bug.
39930 (NESTED_FUNC_ATTR) [! i386]: Defined.
39931
1f7315a3 399322003-11-17 Marco Gerards <metgerards@student.han.nl>
39933
39934 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39935 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39936 (pupa_emu_SOURCES): New variable.
39937 (pupa_emu_LDFLAGS): Likewise.
39938 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39939 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39940 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39941 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39942 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39943 (pupa_jmp_buf): New typedef.
39944 (pupa_setjmp) [PUPA_UTIL]: New macro.
39945 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39946 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39947 (pupa_refresh): New prototype.
39948 * include/pupa/util/getroot.h: New file.
39949 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39950 it.
39951 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39952 (pupa_rescue_cmd_cat): Likewise.
39953 (pupa_rescue_cmd_ls): Likewise.
39954 (pupa_rescue_cmd_testload): Likewise.
39955 (pupa_rescue_cmd_lsmod): Likewise.
39956 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39957 * normal/menu.c (run_menu): Likewise.
39958 * kern/term.c (pupa_cls): Likewise.
39959 (pupa_refresh): New function.
39960 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39961 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39962 * util/console.c: New file.
f19dbdb7 39963
1f7315a3 39964 * util/i386/pc/getroot.c: New file.
39965 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39966 (pupa_putchar): New function.
39967 (pupa_refresh): Likewise.
39968 (xgetcwd): Function moved to ...
39969 (strip_extra_slashes): Likewise.
39970 (get_prefix): Likewise.
f19dbdb7 39971 * util/i386/pc/getroot.c: ... here.
1f7315a3 39972 (find_root_device): Function moved and renamed to...
39973 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39974 Changed all callers.
39975 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39976 and renamed to...
39977 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39978 Changed all callers.
39979 * util/misc.c (pupa_memalign): New function.
39980 (pupa_mm_init_region): Likewise.
39981 (pupa_register_exported_symbols): Likewise.
39982 (pupa_putchar): Function removed.
39983 * util/pupa-emu.c: New file.
39984
9a5c1ade 399852003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39986
39987 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39988 (_multiboot_mod_SOURCES): New variable.
39989 (_multiboot_mod_CFLAGS): Likewise.
39990 * loader/i386/pc/multiboot.c: New file.
39991 * include/pupa/i386/pc/multiboot.h: Likewise.
39992 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39993 (pupa_multiboot_real_boot): New function.
39994 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39995 (pupa_multiboot_real_boot): New prototype.
39996 (pupa_rescue_cmd_multiboot): Likewise
39997 (pupa_rescue_cmd_module): Likewise.
39998
39999 * kern/loader.c (pupa_loader_set): Continue when
40000 pupa_loader_unload_func() fails.
40001 (pupa_loader_unset): New function.
40002 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40003
40004 * kern/misc.c (pupa_stpcpy): New function.
40005 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40006
8e72a9c0 400072003-11-12 Marco Gerards <metgerards@student.han.nl>
40008
40009 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40010 for available extensions.
40011
40012 * include/pupa/i386/pc/time.h: New file.
40013 * kern/disk.c: Include <pupa/machine/time.h>.
40014 (PUPA_CACHE_TIMEOUT): New macro.
40015 (pupa_last_time): New variable.
40016 (pupa_disk_open): Flush the cache when there was a timeout.
40017 (pupa_disk_close): Reset the timer.
40018 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40019 pupa_currticks.
40020 * util/misc.c: Include <sys/times.h>
40021 (pupa_get_rtc): New function.
40022
c4adbd32 400232003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40024
40025 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40026 as blocks.
40027 (pupa_ext2_get_file_block): Use blocks member.
40028
40029 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40030 first block. Return -1 instead of pupa_errno on error.
40031
bfd30f06 400322003-10-27 Marco Gerards <metgerards@student.han.nl>
40033
40034 * README: In the pupa-mkimage example use _chain instead of chain
40035 and ext2 instead of fat.
40036 * TODO: Replace ext2fs with jfs as an example. Add an item for
40037 adding journal playback for ext2fs.
40038 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40039 (pkgdata_MODULES): Added ext2.mod.
40040 (ext2_mod_SOURCES): New variable.
40041 (ext2_mod_CFLAGS): Likewise.
40042 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40043 * include/pupa/misc.h (pupa_strncpy): New prototype.
40044 (pupa_strcat): Likewise.
40045 (pupa_strncmp): Likewise.
40046 * kern/misc.c (pupa_strcat): Enable function.
40047 (pupa_strncpy): New function.
40048 (pupa_strncmp): Likewise.
40049 * fs/ext2.c: New file.
f19dbdb7 40050
bfd30f06 40051 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40052 when the read failed before retrying.
40053 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40054 (_FILE_OFFSET_BITS): Likewise.
40055 * configure.ac: Added AC_SYS_LARGEFILE.
40056
98d15063 400572003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40058
40059 * genmk.rb (PModule#rule): Make sure to get only symbol names
40060 from the output of nm.
59cad637 40061 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 40062
18d9c7cd 400632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40064
40065 I forgot to check in these changes for a long time. This adds
40066 incomplete support for VGA console, and this is still very
40067 buggy. Also, a lot of consideration is required for I18N,
40068 UNICODE, and VGA font issues. Therefore, assume that this is
40069 such that "better than nothing".
f19dbdb7 40070
18d9c7cd 40071 * font/manager.c: New file.
40072 * include/pupa/font.h: Likewise.
40073 * include/pupa/i386/pc/vga.h: Likewise.
40074 * term/i386/pc/vga.c: Likewise.
40075 * util/unifont2pff.rb: Likewise.
40076
40077 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40078 (pkgdata_MODULES): Added vga.mod and font.mod.
40079 (vga_mod_SOURCES): New variables.
40080 (vga_mod_CFLAGS): Likewise.
40081 (font_mod_SOURCES): Likewise.
40082 (font_mod_CFLAGS): Likewise.
40083
40084 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40085
40086 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 40087 (struct pupa_term): Added init and fini.
18d9c7cd 40088 Changed the argument of putchar to pupa_uint32_t.
40089
40090 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40091 (pupa_console_real_putchar): New prototype.
40092 (pupa_console_putchar): Removed.
40093 (pupa_console_checkkey): Exported.
40094 (pupa_console_getkey): Likewise.
40095
40096 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40097 characters.
40098
40099 * kern/term.c (pupa_term_set_current): Rewritten.
40100 (pupa_putchar): Likewise.
40101 (pupa_putcode): New function.
40102
40103 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40104 (pupa_console_real_putchar): ... this.
40105 (pupa_vga_set_mode): New function.
40106 (pupa_vga_get_font): Likewise.
40107
40108 * normal/command.c: Include pupa/term.h.
40109 (terminal_command): New function.
40110 (pupa_command_init): Register the command "terminal".
40111
40112 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40113 (DISP_UP): Likewise.
40114 (DISP_RIGHT): Likewise.
40115 (DISP_DOWN): Likewise.
40116 (DISP_HLINE): Likewise.
40117 (DISP_VLINE): Likewise.
40118 (DISP_UL): Likewise.
40119 (DISP_UR): Likewise.
40120 (DISP_LL): Likewise.
40121 (DISP_LR): Likewise.
40122
40123 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40124
977329f5 401252003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40126
40127 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40128 FIX. Reverse the path_list.
40129
40130 * include/pupa/normal.h: Export pupa_register_command and
40131 pupa_unregister_command.
40132
40133 * hello/hello.c (pupa_cmd_hello): New module.
40134 * conf/i386-pc.rmk: Added hello.mod.
40135
1f5ab428 401362003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40137
40138 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40139
1f5ab428 40140 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40141 (compress_kernel): New variable.
40142 (generate_image): Heavily modified to support compressing a
40143 large part of the core image.
40144
40145 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40146 leak.
40147 (pupa_util_load_image): New function.
40148
40149 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40150 (pupa_compressed_size): New variable.
40151 (codestart): Enable Gate A20 here.
40152 Decompress the compressed part of the core image.
40153 Rearrange the code to put functions and variables which are
40154 required for initialization in the non-compressed part.
40155 Include lzo1x.S.
40156
40157 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40158 here.
40159
40160 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40161
f19dbdb7 40162 * include/pupa/i386/pc/kernel.h
1f5ab428 40163 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40164 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40165 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40166 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40167 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40168
40169 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40170
40171 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40172 (Utility#rule): Likewise.
40173
40174 * configure.ac: Check if LZO is available.
40175
ce5bf700 401762003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40177
40178 * include/pupa/normal.h: New file.
40179 * include/pupa/setjmp.h: Likewise.
40180 * include/pupa/i386/setjmp.h: Likewise.
40181 * normal/cmdline.c: Likewise.
40182 * normal/command.c: Likewise.
40183 * normal/main.c: Likewise.
40184 * normal/menu.c: Likewise.
40185 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40186
ce5bf700 40187 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40188 (pupa_rescue_cmd_initrd): Likewise.
40189
40190 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40191 Likewise.
40192
40193 * kern/i386/pc/startup.S (translation_table): New variable.
40194 (translate_keycode): New function.
40195 (pupa_console_getkey): Call translate_keycode.
40196
40197 * kern/rescue.c (attempt_normal_mode): New function.
40198 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40199 it failed, print a message.
40200
40201 * kern/mm.c (pupa_real_malloc): Print more information when a
40202 free magic is broken.
40203 (pupa_free): If the first free header is not free actually, set
40204 it to P.
40205
40206 * kern/main.c (pupa_load_normal_mode): Just load the module
40207 "normal".
40208 (pupa_main): Don't print the message
40209 "Entering into rescue mode..." here.
40210
40211 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40212 Declared.
40213 (pupa_rescue_cmd_initrd): Likewise.
40214 (pupa_rescue_cmd_initrd): Likewise.
40215
40216 * include/pupa/symbol.h (FUNCTION): Specify the type.
40217 (VARIABLE): Likewise.
40218
40219 * include/pupa/err.h (pupa_err_t): Added
40220 PUPA_ERR_UNKNOWN_COMMAND.
40221
40222 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40223 (pupa_dl_get_prefix): Likewise.
40224
40225 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40226 Added _chain.mod and _linux.mod instead of chain.mod and
40227 linux.mod.
40228 (chain_mod_SOURCES): Renamed to ...
40229 (_chain_mod_SOURCES): ... this.
40230 (chain_mod_CFLAGS): Renamed to ...
40231 (_chain_mod_CFLAGS): ... this.
40232 (linux_mod_SOURCES): Renamed to ...
40233 (_linux_mod_SOURCES): ... this.
40234 (linux_mod_CFLAGS): Renamed to ...
40235 (_linux_mod_CFLAGS): ... this.
40236 (normal_mod_SOURCES): New variable.
40237 (normal_mod_CFLAGS): Likewise.
40238 (normal_mod_ASFLAGS): Likewise.
40239
402402003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40241
40242 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40243 possible.
40244
fe6b695a 40245 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 40246 recursively.
40247 (pupa_dl_unref): Unrefer depending modules recursively.
40248 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40249 a module is unloaded before one depending on that module is
40250 unloaded.
40251 (pupa_dl_unload): Unload depending modules explicitly,
40252 if possible.
40253
c04da074 402542003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40255
40256 * include/pupa/i386/pc/linux.h: New file.
40257 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 40258
c04da074 40259 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40260 Removed.
40261 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40262 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40263 of PUPA_CHAINLOADER_BOOT_SECTOR.
40264
40265 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40266 (pupa_linux_prot_size): New variable.
40267 (pupa_linux_tmp_addr): Likewise.
40268 (pupa_linux_real_addr): Likewise.
40269 (pupa_linux_boot_zimage): New function.
40270 (pupa_linux_boot_bzimage): Likewise.
40271
40272 * kern/i386/pc/init.c (struct mem_region): New structure.
40273 (MAX_REGIONS): New macro.
40274 (mem_regions): New variable.
40275 (num_regions): Likewise.
40276 (pupa_os_area_addr): Likewise.
40277 (pupa_os_area_size): Likewise.
40278 (pupa_lower_mem): Likewise.
40279 (pupa_upper_mem): Likewise.
40280 (add_mem_region): New function.
40281 (compact_mem_regions): Likewise.
40282 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40283 the size of the conventional memory and that of so-called upper
40284 memory (before the first memory hole).
40285 Instead of adding each found region to free memory, use
40286 add_mem_region and add them after removing overlaps.
40287 Also, add only 1/4 of the upper memory to free memory. The rest
40288 is used for loading OS images. Maybe this is ad hoc, but this
40289 makes it much easier to relocate OS images when booting.
40290
40291 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40292 (pupa_enter_rescue_mode): Don't register initrd and module.
40293
40294 * kern/mm.c: Include pupa/dl.h.
40295
40296 * kern/main.c: Include pupa/file.h and pupa/device.h.
40297
40298 * kern/loader.c (pupa_loader_load_module_func): Removed.
40299 (pupa_loader_load_module): Likewise.
40300
40301 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40302 ``.o''.
40303
40304 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40305 (pupa_linux_tmp_addr): Likewise.
40306 (pupa_linux_real_addr): Likewise.
40307 (pupa_linux_boot_zimage): Likewise.
40308 (pupa_linux_boot_bzimage): Likewise.
40309
40310 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40311 (pupa_upper_mem): Likewise.
40312 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40313 module is too dangerous.
40314
40315 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40316 (pupa_os_area_size): Likewise.
40317 (pupa_loader_set): Remove the first argument. Loader doesn't
40318 manage modules or initrd any longer.
40319 (pupa_loader_load_module): Removed.
40320
40321 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40322 (linux_mod_SOURCES): New variable.
40323 (linux_mod_CFLAGS): Likewise.
40324
a13f9237 403252003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40326
40327 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40328 the length of a blocklist correctly.
40329
40330 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40331 Use ioctl only if the OS file is a block device.
40332 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40333 not very useful for normal files.
40334
40335 * kern/main.c (pupa_set_root_dev): New function.
40336 (pupa_load_normal_mode): Likewise.
40337 (pupa_main): Call those above.
40338
40339 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40340 pupa_uint16_t.
40341
40342 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40343
a5ffe966 403442003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40345
40346 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40347 (setup): Configure the installed partition information and the
40348 dl prefix.
40349
40350 * loader/i386/pc/chainloader.c (my_mod): New variable.
40351 (pupa_chainloader_unload): New function.
40352 (pupa_rescue_cmd_chainloader): Refer itself.
40353 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40354
40355 * kern/i386/pc/startup.S (install_partition): Removed.
40356 (version_string): Likewise.
40357 (config_file): Likewise.
40358 (pupa_install_dos_part): New variable.
40359 (pupa_install_bsd_part): Likewise.
40360 (pupa_prefix): Likewise.
40361 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40362
40363 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40364 and pupa/misc.h.
40365 (make_install_device): New function.
40366 (pupa_machine_init): Set the dl prefix.
40367
40368 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40369 (buf): Renamed to ...
40370 (linebuf): ... this.
40371 (pupa_rescue_cmd_prefix): New function.
40372 (pupa_rescue_cmd_insmod): Likewise.
40373 (pupa_rescue_cmd_rmmod): Likewise.
40374 (pupa_rescue_cmd_lsmod): Likewise.
40375 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40376 rmmod and lsmod.
40377
40378 * kern/mm.c (pupa_memalign): If failed even after invalidating
40379 disk caches, unload unneeded modules and retry.
40380
40381 * kern/misc.c (pupa_memmove): New function.
40382 (pupa_memcpy): Removed.
40383 (pupa_strcpy): New function.
40384 (pupa_itoa): Made static.
40385
40386 * kern/dl.c (pupa_dl_iterate): New function.
40387 (pupa_dl_ref): Likewise.
40388 (pupa_dl_unref): Likewise.
40389 (pupa_dl_unload): Return if succeeded or not.
40390 (pupa_dl_unload_unneeded): New function.
40391 (pupa_dl_unload_all): Likewise.
40392 (pupa_dl_init): Renamed to ...
40393 (pupa_dl_set_prefix): ... this.
40394 (pupa_dl_get_prefix): New function.
40395
40396 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40397 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40398 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40399 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40400 (pupa_install_dos_part): Declared.
40401 (pupa_install_bsd_part): Likewise.
40402 (pupa_prefix): Likewise.
40403 (pupa_boot_drive): Likewise.
40404
40405 * include/pupa/types.h: Fix a typo.
40406
40407 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40408 pupa_memmove.
40409 (pupa_memmove): Declared.
40410 (pupa_strcpy): Likewise.
40411
40412 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40413 pupa_mod_init takes one argument, its own module.
40414 (pupa_dl_unload_unneeded): Declared.
40415 (pupa_dl_unload_all): Likewise.
40416 (pupa_dl_ref): Likewise.
40417 (pupa_dl_unref): Likewise.
40418 (pupa_dl_iterate): Likewise.
40419 (pupa_dl_init): Renamed to ...
40420 (pupa_dl_set_prefix): ... this.
40421 (pupa_dl_get_prefix): Declared.
40422
40423 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40424 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40425 unloaded.
40426 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40427 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40428
40429 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40430 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40431
012d7999 404322003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40433
40434 * util/i386/pc/pupa-setup.c (setup): Define the internal
40435 function find_first_partition_start at the top level, because GCC
40436 3.0.x cannot compile internal functions in deeper scopes
40437 correctly.
40438 (find_root_device): Use lstat instead of stat.
40439 Don't follow symbolic links.
40440 Fix the path-constructing code.
40441
40442 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40443 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40444 by a BLKGETSIZE ioctl first, because block devices don't fill
40445 the member st_mode of the structure stat on Linux.
40446 [__linux__] (linux_find_partition): Use a temporary buffer
40447 REAL_DEV for the working space. Copy it to DEV before returning.
40448 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40449 buffer cache consistent.
40450 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40451 strncmp. The previous value was merely wrong.
40452 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40453
40454 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40455 FAT size is 12. The previous value was merely wrong.
40456
40457 * kern/main.c (pupa_main): Don't split the starting message from
40458 newlines.
40459
40460 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40461 LF, because BIOS goes crazy about character attributes in this
40462 case.
40463
1cc73a62 404642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40465
40466 * include/i386/pc/util/biosdisk.h: New file.
40467 * util/i386/pc/biosdisk.c: Likewise.
40468 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40469
1cc73a62 40470 * Makefile.in (INCLUDE_DISTFILES): Added
40471 include/pupa/i386/pc/util/biosdisk.h.
40472 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40473 directory util/i386/pc.
40474 (install-local): Added a rule for sbin_UTILITIES.
40475 (uninstall): Likewise.
40476
40477 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40478
40479 * util/misc.c (xrealloc): New function.
40480 (pupa_malloc): Likewise.
40481 (pupa_free): Likewise.
40482 (pupa_realloc): Likewise.
40483 (pupa_stop): Likewise.
40484 (pupa_putchar): Likewise.
40485
40486 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40487
40488 * include/pupa/util/misc.h (xrealloc): Declared.
40489
40490 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40491 macro.
40492 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40493 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40494
40495 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40496 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40497
40498 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40499 way should be implemented.
40500 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40501
40502 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40503 the size of NAME for safety.
40504 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40505 0x88.
40506
40507 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40508 (pupa_setup_SOURCES): Likewise.
40509
40510 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40511
08b70fe8 405122002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40513
40514 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40515 bunch of pushl's from pusha, because this destroys the return
40516 value.
40517
62ddcc8f 405182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40519
40520 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40521 This means that any missing prototypes could be fatal. Also, you
40522 must take care when writing assembly code. See the comments at
40523 the beginning of startup.S, for more details.
f19dbdb7 40524
62ddcc8f 40525 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40526 compilation mechanism.
40527 (pupa_chainloader_real_boot): Likewise.
40528 (pupa_biosdisk_rw_int13_extensions): Likewise.
40529 (pupa_biosdisk_rw_standard): Likewise.
40530 (pupa_biosdisk_check_int13_extensions): Likewise.
40531 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40532 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40533 (pupa_get_memsize): Likewise.
40534 (pupa_get_mmap_entry): Likewise.
40535 (pupa_console_putchar): Likewise.
40536 (pupa_console_setcursor): Likewise.
40537 (pupa_getrtsecs): Use pushl instead of push.
40538
40539 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40540 memory instead of the stack for a mmap entry, because some
40541 BIOSes may ignore the maximum size and overflow.
40542
40543 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40544
40545 * genmk.rb (PModule#rule): Compile automatically generated
40546 sources with module-specific CFLAGS as well as other sources.
40547
9962ed99 405482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40549
40550 * configure.ac: Check ld.
40551 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40552 respectively, before checking endianness and sizes.
40553
40554 * Makefile.in (LD): New variable.
f19dbdb7 40555
abdfc3c5 405562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40557
40558 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40559
6a161fa9 405602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40561
40562 * Changelog: New file.
40563